5.4. 論理ボリュームからディスクを削除する
この手順例では、ディスクを交換するか、別のボリュームで使用するために、既存の論理ボリュームからディスクを削除する方法を示しています。ディスクを削除する前に、LVM 物理ボリュームのエクステントを、別のディスクまたはディスクセットに移動する必要があります。
5.4.1. 既存の物理ボリュームへのエクステントの移動
この例では、論理ボリュームが、ボリュームグループ
myvg
の 4 つの物理ボリュームに分散されています。
pvs -o+pv_used
# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdb1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
この例では、エクステントを
/dev/sdb1
から移動し、ボリュームグループから削除できるようにします。
- ボリュームグループ内の他の物理ボリュームに空きエクステントが十分にある場合は、他のオプションを指定せずに、削除するデバイスで pvmove コマンドを実行すると、エクステントが他のデバイスに分配されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvmove /dev/sdb1
# pvmove /dev/sdb1 /dev/sdb1: Moved: 2.0% ... /dev/sdb1: Moved: 79.2% ... /dev/sdb1: Moved: 100.0%
pvmove コマンドの実行が終了すると、エクステントの分散は以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvs -o+pv_used
# pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0 /dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G /dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
- vgreduce コマンドを使用して、ボリュームグループから物理ボリューム
/dev/sdb1
を削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vgreduce myvg /dev/sdb1 pvs
# vgreduce myvg /dev/sdb1 Removed "/dev/sdb1" from volume group "myvg" # pvs PV VG Fmt Attr PSize PFree /dev/sda1 myvg lvm2 a- 17.15G 7.15G /dev/sdb1 lvm2 -- 17.15G 17.15G /dev/sdc1 myvg lvm2 a- 17.15G 12.15G /dev/sdd1 myvg lvm2 a- 17.15G 2.15G
これでディスクは物理的に削除できるようになり、他のユーザーに割り当てることも可能になります。
5.4.2. 新規ディスクへのエクステントの移動
この例では、以下のように、ボリュームグループ
myvg
の 3 つの物理ボリュームに、論理ボリュームが分散されています。
pvs -o+pv_used
# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
以下の手順では、
/dev/sdb1
のエクステントを、新しいデバイス /dev/sdd1
に移動します。
/dev/sdd1
から、物理ボリュームを新規作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvcreate /dev/sdd1
# pvcreate /dev/sdd1 Physical volume "/dev/sdd1" successfully created
- 新しい物理ボリューム
/dev/sdd1
を既存のボリュームグループmyvg
に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vgextend myvg /dev/sdd1 pvs -o+pv_used
# vgextend myvg /dev/sdd1 Volume group "myvg" successfully extended # pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 17.15G 0
- pvmove コマンドを使用して、データを
/dev/sdb1
から/dev/sdd1
に移動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvmove /dev/sdb1 /dev/sdd1 pvs -o+pv_used
# pvmove /dev/sdb1 /dev/sdd1 /dev/sdb1: Moved: 10.0% ... /dev/sdb1: Moved: 79.7% ... /dev/sdb1: Moved: 100.0% # pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0 /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 15.15G 2.00G
- データを
/dev/sdb1
から移動したら、ボリュームグループから削除できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vgreduce myvg /dev/sdb1
# vgreduce myvg /dev/sdb1 Removed "/dev/sdb1" from volume group "myvg"
これで、このディスクを別のボリュームグループに再度割り当てたり、システムから削除できるようになりました。