EatSmartシステム部ブログ

ウェブサイトの開発や運営に関する情報です。

LVMに物理ディスクを追加してパーティション拡張を行う

今回はLVMに物理ディスクを追加してパーティション拡張を行う方法を紹介します。

新規物理ボリュームの作成

まず最初に、追加した物理ディスクから新たにLVMの物理ボリューム作成します。 今回は、/dev/sdbに物理ディスクを追加した状態で「pvcreate」コマンドを実行します。

# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

「pvdisplay」コマンドにて、物理ボリュームが作成されたかを確認してみます。

# pvdisplay
  /dev/hda: open failed: メディアが見つかりません
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup00
  PV Size               232.78 GB / not usable 2.71 MB
  Allocatable           yes (but full)
  PE Size (KByte)       32768
  Total PE              7449
  Free PE               0
  Allocated PE          7449

  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               931.51 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0

上記/dev/sdb1に931.51 GB(物理サイズは1TB)の物理ボリュームが作成されていることが確認できます。

ボリュームグループに物理ボリュームを追加する

次に「vgextend」コマンドでボリュームグループに物理ボリュームを追加します。

# vgextend VolGroup00 /dev/sdb1
  Volume group "VolGroup00" successfully extended

「vgdisplay」コマンドにて、物理ボリュームが追加されたかを確認してみます。

# vgdisplay -v VolGroup00
    Using volume group(s) on command line
    Finding volume group "VolGroup00"
     ・
     ・
  --- Physical volumes ---
  PV Name               /dev/sda2
  PV Status             allocatable
  Total PE / Free PE    7449 / 0

  PV Name               /dev/sdb1
  PV Status             allocatable
  Total PE / Free PE    29808 / 29808

上記の「Physical volumes」で/dev/sdb1が追加されていることが確認できます。

論理ボリュームのサイズを拡張する

次に「lvextend」コマンドで、先ほど追加した物理ボリュームの未使用領域を利用して論理ボリュームのサイズを拡張します。
※今回は空領域を100%拡張します。

# lvextend -l +100%FREE /dev/VolGroup00/LogVol00
  Extending logical volume LogVol00 to 1.14 TB
  Logical volume LogVol00 successfully resized

「lvdisplay」コマンドにて、ボリュームのサイズが拡張されたかを確認してみます。

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.14 TB
  Current LE             37195
  Segments               2
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

元のLV Sizeが200G程度だったので、1.14 TBに拡張されていることが確認できます。

ファイルシステムの拡張

最後に「resize2fs」コマンドで、ファイルシステムの拡張を行います。
※今回は1TB拡張したので本コマンドが終了するのに数分掛かりました。

# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 304701440 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 304701440 blocks long.

これで、拡張作業が全て完了したので、「df」コマンドでファイルシステムが拡張しているかを確認してみます。

# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      1.1T  204G  865G  20% /
/dev/sda1              99M   11M   83M  12% /boot
tmpfs                 1.8G     0  1.8G   0% /dev/shm

上記の「/dev/mapper/VolGroup00-LogVol00」が1.1Tに拡張されていることが確認できます。

最後に

今回は物理ディスクを追加してパーティション拡張する方法を紹介しました。 LVMはそれ以外にも柔軟に且つ簡単にパーティションの変更が行え非常に便利な機能です。
以下は、過去に紹介したLVMパーティショニングの記事になりますのでこちらも参考にしてみて下さい。

eatsmart.hatenablog.com