XENホストで仮想マシンを実行していますが、ディスク容量が不足しています。/dev/xvda2
ext4ファイルシステムでフォーマットされたボリュームをマウントしました。
これは私の仮想マシンxenの設定です。
# /etc/xen/vm04.experimental.cfg
kernel = '/boot/vmlinuz-4.9.0-11-amd64'
extra = 'elevator=noop'
ramdisk = '/boot/initrd.img-4.9.0-11-amd64'
root = '/dev/xvda2 ro'
disk = [
'phy:/dev/vg0/vm04.experimental-disk,xvda2,w',
'phy:/dev/vg0/vm04.experimental-swap,xvda1,w',
]
...
# lvdisplay /dev/vg0/vm04.experimental-disk
--- Logical volume ---
LV Path /dev/vg0/vm04.experimental-disk
LV Name vm04.experimental-disk
VG Name vg0
LV Status available
# open 1
LV Size 60,00 GiB
Current LE 15360
Segments 5
Allocation inherit
...
私のボリュームグループにはまだ44 GBのスペースがありますvg0
。
# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 36766
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 27
Open LV 22
Max PV 0
Cur PV 2
Act PV 2
VG Size 1,07 TiB
PE Size 4,00 MiB
Total PE 281534
Alloc PE / Size 270080 / 1,03 TiB
Free PE / Size 11454 / 44,74 GiB
vm04に残りのスペースをどのように割り当てることができますか?
答え1
正しい形式lvextend
は次のとおりです。
lvextend -L +40G /dev/vg0/vm04.experimental-disk
仮想マシン自体のパーティションを拡張する方法については、次の手順を使用してください。このマニュアル。
まず、パーティションのサイズを変更する必要があります。 LVMを使用している場合、これは簡単で進行方法を知っているはずです。クラシックパーティションを使用すると、状況が少し複雑になり、再起動が必要になる可能性があります(他のシステムやLive CDを起動する必要はありません)。
私がする方法は次のとおりです。まず、fdiskを使用してパーティションを削除し(ディスク上のデータが保存されるという概念です)、同じ場所に大きなサイズに慎重に再作成します。
今回も、新しいパーティションが古いパーティションと同じブロックから始まることが重要です。 IDも一致する必要があります(Linuxシステムでは83)。マイナーなミスが原因ですべてのデータが失われる可能性があります。
安全のためにaを押して起動フラグを復元することもできます(Wikipediaによると、一部のコンピュータではまだ起動フラグが必要です)。
スワップパーティションが邪魔になった場合の対処方法については、説明のセクションを参照してください。
これで、人々がLive CDの使用を推奨する理由が明らかになりました。 ;-) fdiskが指示したように続行する前に、パーティションテーブルを再ロードする必要があります。最も安全な方法は再起動ですが、partprobeまたはkpartx(詳細情報)を使用することもできます。
パーティションのサイズが変更され、パーティションテーブルが再ロードされたら、ファイルシステムでresize2fsを実行するだけです。これは、ルートパーティションとしてマウントされている場合でも実行できます。
$ sudo resize2fs /dev/sda1
答え2
音量オフ:
xen shutdown vm04.experimental
このボリュームのすべてのスナップショットを削除します。
lvchange -an /dev/vg0/snap-tmp-vm04.experimental-disk lvremove /dev/vg0/snap-tmp-vm04.experimental-disk
次のコマンドを使用してボリュームのサイズを変更します(40 GB 拡張など)。
lvextend -L +40G /dev/vg0/vm04.experimental-disk
VMには100GBという大きなサイズが割り当てられていますが、内部的にはまだ60GBのディスクしかありません。
ファイルシステムのサイズ変更
resize2fs /dev/vg0/vm04.experimental-disk
バラよりlvextendの後に2fsのサイズを変更する必要があるのはなぜですか?
(結局、事前にe2fsck -f /dev/vg0/vm04.experimental-disk
電話してください)仮想マシンを再起動します。
xen create /etc/xen/vm04.experimental.cfg