Developer's Blog

CentOS 6 インストール後の LVM サイズ変更方法

 

 

こんにちは、エンジニアの芦刈です。

私は、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 状況を確認

  1. CentOS 6 インストール直後の HDD 使用状況を調べます。
    (/ が50GB、/home が140GB 構成です。)


    # df -Th

    Filesystem 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 ディレクトリをアンマウント → ファイルシステムチェック → ファイルシステムサイズ縮小 → 論理ボリューム縮小 です。

 

  1. /home ディレクトリをアンマウントします。

    # umount /home
  2. ファイルシステムチェックします。


    # fsck.ext4 -f /dev/mapper/vg_lvm-lv_home

    e2fsck 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

  3. /home ファイルシステムのサイズを 30GB に縮小します。


    # resize2fs /dev/mapper/vg_lvm-lv_home 30G

    resize2fs 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.

  4. /dev/mapper/vg_lvm-lv_home ( /homeディレクトリ ) の 論理ボリュームを 30GB に縮小します。(縮小時に確認メッセージが表示されますのでyと入力します。また、L オプションは、バイト指定です。)


    # lvreduce -L 30G /dev/mapper/vg_lvm-lv_home

    WARNING: 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

  5. ext4ファイルシステムで再マウントします。


    # mount -t ext4 /dev/mapper/vg_lvm-lv_home /home
  6. 再マウント後、HDD 状況を確認します。/home ディレクトリが 30 GB に変更されました。


    # df -Th

    Filesystem 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 サイズの拡張手順は、論理ボリューム拡張 → ファイルシステムサイズ拡張 です。

  1. /vg_lvm-lv_root (/ ディレクトリ)の 論理ボリュームを 150GB に拡大します。(Lオプションは、バイト指定です。)

    # lvextend -L 150G /dev/mapper/vg_lvm-lv_root

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

  2. / ファイルシステムのサイズを拡大します。

    # resize2fs /dev/mapper/vg_lvm-lv_root

    resize2fs 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.

  3. LVM サイズ拡大後、HDD 状況を確認します。/ ディレクトリが 150 GB に変更されました。

    # df -Th

    Filesystem 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. 最後に

以上で作業終了です。
縮小作業はアンマウントを行う必要がありますので、作業時に使用されていないことを確認してから行ってください。

 

 

フェンリルの開発者アカウントでは、フェンリルプロダクトの最新開発情報などをつぶやいています。よろしければフォローしてください!

 

Copyright © 2019 Fenrir Inc. All rights reserved.