VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

CentOSのLVMでボリュームグループから物理ボリュームを削除

CentOSのLVMでボリュームグループから物理ボリュームを削除する方法についてです。
 
あまり使用していない物理ボリュームを開放して、他のボリュームグループに使用できるようになります。

“vg_test”というボリュームグループから空き容量の多い物理ボリュームを削除する場合を例にします。
 
※目次をクリックすると目次の下部にコンテンツが表示されます。

CentOSのLVMの空き領域を確認
1)各物理ボリュームの空き領域を確認
 
# pvscan
 
PV /dev/sda10 VG vg_test lvm2 [4.88 GiB / 1.88 GiB free]
PV /dev/sda11 VG vg_test lvm2 [4.88 GiB / 4.88 GiB free]
PV /dev/sda6 VG vg_dual lvm2 [7.81 GiB / 0 free]
Total: 3 [17.57 GiB] / in use: 3 [17.57 GiB] / in no VG: 0 [0 ]
 
“vg_test”というボリュームグループは、/dev/sda10と/dev/sda11の物理ボリュームから構成され、1.88+4.88の計6.76GBの空き領域がある事が分かります。
 
2)ボリュームグループの空き領域を確認
 
下記コマンドでもトータルの空き領域は確認出来ますが、どの物理ボリュームから構成され、どの論理ボリュームに割り当てているかは分かりません。
# vgs
  VG      #PV #LV #SN Attr   VSize VFree
  vg_dual   1   1   0 wz--n- 7.81g    0
  vg_test   2   1   0 wz--n- 9.76g 6.76g

 
3)ボリュームグループと論理ボリュームの対応を確認
 
下記コマンドで、”vg_test”のボリュームグループは、”lv_test1″という論理ボリュームに3GB分割り当てられている事が分かります。上記2)のVSizeとVFreeの差分と一致します。

# lvs
  LV       VG      Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  LogVol00 vg_dual -wi-ao---- 7.81g
  lv_test1 vg_test -wi-ao---- 3.00g
物理ボリュームのデータを別の物理ボリュームに移動
物理ボリュームが使用されている状態で物理ボリュームをボリュームグループから削除しようとすると、下記のように表示され、削除できません。他の物理ボリュームにデータを移動する必要があります。
 
# vgreduce vg_test /dev/sda10
Physical volume “/dev/sda10” still in use
 
物理ボリュームのデータを他の物理ボリュームに移動
# pvmove /dev/sda10 /dev/sda11
  /dev/sda10: Moved: 0.0%
  /dev/sda10: Moved: 3.1%
   :
  /dev/sda10: Moved: 100.0%

# pvscan
  PV /dev/sda10   VG vg_test   lvm2 [4.88 GiB / 4.88 GiB free]
  PV /dev/sda11   VG vg_test   lvm2 [4.88 GiB / 1.88 GiB free]
ボリュームグループから物理ボリュームを削除
# vgreduce vg_test /dev/sda10
  Removed "/dev/sda10" from volume group "vg_test"

# pvscan
  PV /dev/sda10                      lvm2 [4.88 GiB]
モバイルバージョンを終了