こんにちは、エンジニアの芦刈です。
私は、CentOS 6 をインストールするとき、「すべての領域を使用する」を選択して HDD にインストールしていますが、
LVM により、/ ディレクトリサイズは小さく、/home ディレクトリサイズを大きく確保され、インストールが行われます。
インストール後、/ ディレクトリ を拡張、/home ディレクトリを縮小したいときがあります。
よって今回、CentOS 6.3 を使用した LVM のサイズ変更方法についてご紹介します。
※1. LVM サイズの縮小を行うとき、アンマウント作業が必要となります。/ ディレクトリを縮小したい時は、「CentOS の LiveCD」等で起動してから作業を行ってください。
※2. LVM サイズの縮小を行うときは、縮小後サイズ > 現在使用中サイズ であることを確認ください。
※3. サーバ名を lvm としているため、/dev/mapper/vg_[lvm]-lv_root という名前になっております。[]のサーバ名は各自環境で異なります。
1. 目的、作業手順
200GB の HDD を使用しており、下記ディレクトリ構成に変更します。
作業前には、バックアップの取得を行っておいてください。
- /home ディレクトリを 30GB。
- / ディレクトリを 150GB。
作業手順は、/home ディレクトリの LVM サイズ縮小 → / ディレクトリの LVM サイズ拡張です。
2. インストール直後の HDD 状況を確認
-
CentOS 6 インストール直後の HDD 使用状況を調べます。
(/ が50GB、/home が140GB 構成です。)
# df -ThFilesystem Type Size Used Avail Use% マウント位置
/dev/mapper/vg_lvm-lv_root ext4 50G 749M 46G 2% /
tmpfs tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 ext4 485M 32M 429M 7% /boot
/dev/mapper/vg_lvm-lv_home ext4 146G 188M 138G 1% /home
2. /homeディレクトリの LVM サイズ縮小
LVM サイズの縮小手順は、/home ディレクトリをアンマウント → ファイルシステムチェック → ファイルシステムサイズ縮小 → 論理ボリューム縮小 です。
- /home ディレクトリをアンマウントします。
# umount /home
-
ファイルシステムチェックします。
# fsck.ext4 -f /dev/mapper/vg_lvm-lv_homee2fsck 1.41.12 (17-May-2010)
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_lvmtest-lv_home: 11/4431872 files (0.0% non-contiguous), 324173/17704960 blocks
-
/home ファイルシステムのサイズを 30GB に縮小します。
# resize2fs /dev/mapper/vg_lvm-lv_home 30Gresize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_lvm-lv_home to 7864320 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_home is now 7864320 blocks long.
-
/dev/mapper/vg_lvm-lv_home ( /homeディレクトリ ) の 論理ボリュームを 30GB に縮小します。(縮小時に確認メッセージが表示されますのでyと入力します。また、L オプションは、バイト指定です。)
# lvreduce -L 30G /dev/mapper/vg_lvm-lv_homeWARNING: Reducing active logical volume to 30.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Reducing logical volume lv_home to 30.00 GiB
Logical volume lv_home successfully resized
-
ext4ファイルシステムで再マウントします。
# mount -t ext4 /dev/mapper/vg_lvm-lv_home /home
-
再マウント後、HDD 状況を確認します。/home ディレクトリが 30 GB に変更されました。
# df -ThFilesystem Type Size Used Avail Use% マウント位置
/dev/mapper/vg_lvm-lv_root ext4 50G 748M 46G 2% /
tmpfs tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 ext4 485M 32M 429M 7% /boot
/dev/mapper/vg_lvm-lv_home ext4 30G 172M 28G 1% /home
3. / ディレクトリの LVM サイズ拡大
LVM サイズの拡張手順は、論理ボリューム拡張 → ファイルシステムサイズ拡張 です。
- /vg_lvm-lv_root (/ ディレクトリ)の 論理ボリュームを 150GB に拡大します。(Lオプションは、バイト指定です。)
# lvextend -L 150G /dev/mapper/vg_lvm-lv_rootExtending logical volume lv_root to 150.00 GiB
Logical volume lv_root successfully resized
- / ファイルシステムのサイズを拡大します。
# resize2fs /dev/mapper/vg_lvm-lv_rootresize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_lvm-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 10
Performing an on-line resize of /dev/mapper/vg_lvm-lv_root to 39321600 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_root is now 39321600 blocks long.
- LVM サイズ拡大後、HDD 状況を確認します。/ ディレクトリが 150 GB に変更されました。
# df -ThFilesystem Type Size Used Avail Use% マウント位置
/dev/mapper/vg_lvm-lv_root ext4 148G 756M 140G 1% /
tmpfs tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 ext4 485M 32M 429M 7% /boot
/dev/mapper/vg_lvm-lv_home ext4 30G 172M 28G 1% /home
4. 最後に
以上で作業終了です。
縮小作業はアンマウントを行う必要がありますので、作業時に使用されていないことを確認してから行ってください。