知識の箱

主に気象を研究する上で得た知識と、WEBページ作成のために得た知識を記録しています。

LVMボリュームの縮小・拡張

LVMで作成されたボリュームやファイルシステムの容量を変更する。

ここでは、/dev/mapper/vg_rcmrt02-lv_homeの容量を1.8Tから1.7Tに縮小し、/dev/mapper/vg_rcmrt02-lv_rootの容量を50GBから110Gに変更する方法を示す。

1.ファイルシステムの縮小

1.1 ファイルシステムをumount。

> umount /dev/mapper/vg_rcmrt02-lv_home

root以外のユーザーでログインしている場合は、umountできない。一度ログオフする必要あり。

1.2 e2fsckをかける。

> e2fsck -f /dev/mapper/vg_rcmrt02-lv_home

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg_rcmrt02-lv_home: 350/116596736 files
(11.1% non-contiguous), 7377520/466378752 blocks

e2fsckでエラーが出る場合は、/etc/fstabで変更したいファイルシステム部分をコメントアウト(#)して再起動。

1.3 resize2fsコマンドでファイルシステムの最大容量を指定サイズに更新

> resize2fs /dev/mapper/vg_rcmrt02-lv_home 1700G

resize2fs 1.42 (29-Nov-2011)
Resizing the filesystem on /dev/mapper/vg_rcmrt02-lv_home to 445644800 (4k) blocks.
The filesystem on /dev/mapper/vg_rcmrt02-lv_home is now 445644800 blocks long.

※何度もe2fsckをするように言われる場合は、別ターミナルを立ち上げて、そこでe2fsckを行うとうまくいく可能性あり。

2.論理ボリュームの縮小

論理ボリュームの縮小はlvreduceコマンを使う。

2.1 論理ボリュームの容量を指定して縮小する。

> lvreduce -L1710G /dev/mapper/vg_rcmrt02-lv_home

WARNING: Reducing active logical volume to 1.67 TiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y

Reducing logical volume lv_home to 1.67 TiB
Logical volume lv_home successfully resized

(注)lvreduceコマンドはファイルシステムで指定した最大容量より小さい値を設定できてしまう。そのため、コマンド実行時に、ファイルシステムが壊れるかも知れないというメッセージが表示される。ファイルシステム以上の容量を指定したことを確認して、yesと打つ。
今の場合、ファイルシステムを1700Gとしたので、少なくともそれよりは大きくする必要がある。ここでは1710Gとしておく。

(最悪の場合、ファイルシステムが壊れるので全データにアクセス不能な状態になるらしい。)

2.2 mountする。

> mount /dev/mapper/vg_rcmrt02-lv_home

3.論理ボリュームの拡張

3.1 論理ボリュームの容量を指定して拡張

> lvextend -L110G /dev/mapper/vg_rcmrt02-lv_root

Extending logical volume lv_root to 110.00 GiB
Logical volume lv_root successfully resized

3.2 ファイルシステムの拡張

> resize2fs /dev/mapper/vg_rcmrt02-lv_root

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/mapper/vg_rcmrt02-lv_root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 7
The filesystem on /dev/mapper/vg_rcmrt02-lv_root is now 28835840 blocks long.

3.3 完成

これで/homeの容量が1.7TB、/rootの容量が110Gとなった。

※本作業は以下のページを参考にしましあt。

参考:http://greenleaf.sakuraweb.com/index.php?LVM%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%AE%E6%8B%A1%E5%BC%B5%E3%83%BB%E7%B8%AE%E5%B0%8F