Linux で論理ボリュームの容量の調整

LVM(Logical Volume Manager)

数年前から Linux をインストールするとデフォルトで LVM が使われていて、「容量を後から調整できるんだ。へー」くらいにしか思っていなかったけど、最近会社で使っているサーバで急きょ容量の調整をしなくてはいけなくなったため、その時の作業メモ

今回行ったのは home から root への容量の移動だったので、swapを調整したい場合はまた別途作業が必要かも。

検証OS

CentOS6.5

手順1 現状確認

今のサーバの状態を把握する

$ df -h

手順2 アンマウント

調整する論理ボリュームをアンマウントが必要なのでサーバを再起動して、LiveCDのテキストモードで起動する。

手順3 現状確認

物理ボリュームを表示

$ pvscan

ボリュームグループを表示

$ vgscan
Reading all physical volumes.  This may take a while...
Found volume group "VolGroup" using metadata type lvm2

論理ボリュームを表示

$ lvscan
inactive    '/dev/VolGroup/lv_root' [13.01 GiB] inherit
inactive    '/dev/VolGroup/lv_home' [30.59 GiB] inherit
inactive    '/dev/VolGroup/lv_swap' [1.50 GiB] inherit

手順4 テキストモード上でLVMを有効にする

論理ボリュームの場所は環境依存らしいですが、CentOS6.5のインストール直後では /dev/mapper 内にありました。

論理ボリュームが見当たらない場合、ボリュームグループを有効にします

vgchange -ay

手順5 容量を減らす

減らす際は、物理容量の調整が先でその後に論理容量の調整をする必要があるって外人さんがStackOverflowのどっかで回答してた

ファイルシステムをチェック

e2fsck -f /dev/mappler/VolGroup-lv_roog

物理容量を調整。リサイズ後のサイズを指定 ※環境によるかもしれませんがGB数の箇所に小数点を入れるとうまく動きませんでした  その際は端数を調整切り捨てました

resize2fs /dev/mapper/VolGroup-lv_home 15G

論理容量を調整。サイズの箇所は-5Gなどマイナス指定可能。

lvreduce -L 15G /dev/mapper/VolGroup-lv_home

最後にもう一度ファイルシステムをチェック

手順6 容量を増やす

増やす際は減らすとは逆で、論理容量の調整が先でその後に物理容量らしい。

ファイルシステムをチェック

e2fsck -f /dev/mappler/VolGroup-lv_roog

論理容量を調整。サイズの箇所は+5Gなどプラス指定可能。

lvextend -L 28G /dev/mapper/VolGroup-lv_root

物理容量を調整

resize2fs /dev/mapper/VolGroup-lv_root 28G

最後にもう一度ファイルシステムをチェック

これで完了です。