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
最後にもう一度ファイルシステムをチェック
これで完了です。