パーティションからのデータが/dev/sda1
自動的に/dev/vda
パーティションに「オーバーフロー」するようにしたいです。そこで、私の質問は、2 つのパーティションを結合して/
138 GB のサイズにするにはどうすればよいかということです。
root@vps:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 780M 34M 747M 5% /run
/dev/sda1 39G 7.7G 32G 20% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 780M 0 780M 0% /run/user/1000
/dev/vda 99G 60M 94G 1% /mnt/vda
利用可能なディスクは次のとおりです。
root@vps:/# fdisk -l
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xffcebafc
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 83886046 83883999 40G 83 Linux
私はこのことについてあまり知識がないので、適切な質問をしないかもしれません。
答え1
2つの物理デバイスを扱っている場合、物理レベルでパーティションを結合することはできません。ただし、LVM(論理ボリュームマネージャ)を使用して、複数のパーティションで構成される仮想ブロックデバイスを作成できます。本物ブロックデバイス。これは約 138 GB のパーティションをシミュレートします。BTRFS を使用してファイルシステム レベルで同様の操作を行うこともできますが、LVM で実行できることは次のとおりです。
注: LVM サポートとは別に、システムには LVM から起動する機能が必要です。これはブートローダーとその構成によって異なります。
LVMへの変換
/dev/sda1
当然ですが、このプロセスによりシステムが消去されるため、まずシステムをバックアップしてください/dev/vda
。次に、Live CD/USB ドライブから Linux を起動して...
- 実行する
wipefs /dev/vda
とすぐにパーティションがクリアされます。 - 実行してLVM物理ボリュームを作成します。
pvcreate /dev/vda
- ボリューム グループを作成します。
vgcreate vg0 /dev/vda
- ルート ファイルシステムの論理ボリュームを作成します。80
lvcreate -L80G -n rootfs vg0
GB のサイズについては心配しないでください。これは後で増やす予定です。 - 論理ボリュームにファイルシステムを配置します (例: ext4):
mkfs.ext4 -L ROOTFS /dev/vg0/rootfs
- 新しいファイルシステムをマウントして、次のようにします... /mnt/newroot:
mount -L ROOTFS /mnt/newroot
- これをライブ CD から実行するので、実際の CD を
/
どこかにマウントする必要があります (例: /mnt/oldroot)。mount /dev/sda1 -o ro /mnt/oldroot
- コピー古いルートどうなるか新しいルート:
cp -aR /mnt/oldroot/* /mnt/newroot/
今のところ、 にあったものがすべて失われたこと以外/dev/vda
、取り返しのつかないことは何も起きていません。したがって、これはブートローダー (例: GRUB2) をセットアップして起動できるようにし、起動できることを確認する絶好の機会です/dev/vg0/rootfs
。 df 出力が次のようになることを除けば、すべて同じであるはずです。
root@vps:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 780M 34M 747M 5% /run
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 780M 0 780M 0% /run/user/1000
/dev/vg0/rootfs 99G 7.7G 92G ?% /
ここまで来たら、次の手順に進んで LVM の魔法の力を活用することができます。EXT4 などの一部のファイルシステムでは、ライブ CD を必要とせず、ライブ システムで次の手順を実行できます。
- 古いルートを消去します。
wipefs /dev/sda1
- 新しい物理ボリュームを作成します。
pvcreate /dev/sda1
- 新しい物理ボリュームを LVM に追加します。
vgextend vg0 /dev/sda1
この時点で、2 つのパーティションは LVM で使用可能ですが、まだ使用されていません。両方のパーティション (実際には現在は LVM 物理ボリューム) を で使用するには/
、使用可能なすべてのスペースを使用するようにルート論理ボリュームを拡張します。
- 論理ボリュームを拡大します。
lvextend -l 100%FREE /dev/vg0/rootfs
- ファイルシステムを拡大します:
resize2fs /dev/vg0/rootfs
これにより、ルート ファイルシステムのサイズは約 138 GB になります :)