AWS はリアルタイム EBS サイジングをサポートします。私のもの/dev/sdb1
。
ステップ1:pvresize /dev/sdb1
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
├─xvda2 202:2 0 10G 0 part /
└─xvda1 202:1 0 1M 0 part
xvdb 202:16 0 20G 0 disk
└─xvdb1 202:17 0 10G 0 part
├─home_vol 253:0 0 2G 0 lvm /home
├─tmp_vol 253:0 0 2G 0 lvm /tmp
....
ステップ2: pvdisplay
、lvdisplay
pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name my_vg
PV Size <2.00 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 2559
Free PE 0
Allocated PE 2559
PV UUID ofH9ti-Wcuo-Io4o-796q-q7s8-9Z6S-oDsoEp
そして
--- Logical volume ---
LV Path /dev/my_vg/home_vol
LV Name home_vol
VG Name my_vg
LV Status available
# open 1
LV Size <10.00 GiB
Current LE 511
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:4
ご覧のとおり、数字は変わりませんでした。わかりました…始めましょうlvresize
。
ステップ3:lvresize -L 10G /dev/my_vg/home_vol
わかりました:
Insufficient free space: 2049 extents needed, but only 0 available
どのステップを見逃していますか?
答え1
xvdbを分割し、LVM物理ボリュームが最初のパーティションにあります(まだ10 GB)。したがって、以下が必要です。
- ディスクを埋めるためのパーティションのサイズ変更
pvresize
新しいサイズを見つけに行きました。
個人的にLVMを使用しているGoogle Computeインスタンスでは、ディスクのパーティション化を気にしません。これは実際の用途には使用されず、サイズ変更がより困難になります。 Amazonも同じだと思います。 PVをブロックデバイス全体(xvdb1ではなくxvdb)に配置するだけです。その後、実行する必要がありますpvresize
。
パーティションのサイズを変更するには、お気に入りのパーティションテーブルエディタを使用してください。パーティションを削除して新しいパーティションを作成する必要があります。開始セクタが変更されていないことを確認してください。。これは非常に重要です。セクタを閉じるとデータが失われます。これにより、Partprobeまたはkpartxが更新されたテーブルをカーネルにすぐにロードできます。それ以外の場合は再起動が必要です。
別のオプションは、3番目の仮想ディスクを接続し、そこに別のPVを配置することです。同じボリュームグループに追加し、そのようにLVを拡張できます。