LVMの追加方法

提供:UnixClassWiki
ナビゲーションに移動 検索に移動

LVM 既存のLVを拡張する

ここでは以下の説明をします。

  1. 既にLinux LVM のIDを持ったパーティションを既存のVGに追加する。
  2. 既存のLVにVGから容量を追加する。
  3. 拡大したLVにファイルシステムを合わせる。

LVMのパーティション作成できて/dev/sdc1という形で用意されていることを前提とします。

現在、多くのディストリビューションではインストール時にLVMをデフォルトで利用しているので、追加的にファイルシステムのサイズを拡張したり、あるいは別途ファイルシステムを作成するなどの場面が多いと思われます。 それらの場合は、こちらの手続きの流れになります。


既存のVGに新たにPVを加える

既存のVGに新しいPVを加えることでVGのサイズを大きくすることができます。

LVMのパーティション作成でき/dev/sdc1がLinux LVMのIDであるという状態から説明を始めます。

まずVGが次のような状態にあるとします。

# vgdisplay
 --- Volume group ---
 VG Name               vg_c0
 System ID             
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  5
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                2
 Open LV               2
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               11.50 GiB
 PE Size               4.00 MiB
 Total PE              2945
 Alloc PE / Size       2690 / 10.51 GiB
 Free  PE / Size       255 / 1020.00 MiB
 VG UUID               4OM01z-LWEi-MKym-efKo-xkmZ-VBhk-UVMg8h


ここにPVとなる /dev/sdc1 をvg_c0に追加するにはコマンド vgextend を用います。


# vgextend vg_c0 /dev/sdc1
Volume group "vg_c0" successfully extended

PV ( /dev/sdc1 ) をVGに加えた結果は次のようになりました。

# vgdisplay
 --- Volume group ---
 VG Name               vg_c0
 System ID             
 Format                lvm2
 Metadata Areas        3
 Metadata Sequence No  6
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                2
 Open LV               2
 Max PV                0
 Cur PV                3
 Act PV                3
 VG Size               12.00 GiB
 PE Size               4.00 MiB
 Total PE              3072
 Alloc PE / Size       2690 / 10.51 GiB
 Free  PE / Size       382 / 1.49 GiB
 VG UUID               4OM01z-LWEi-MKym-efKo-xkmZ-VBhk-UVMg8h


追加した前後でvgdisplayを実行し値の確認をしたわけですが、次のパラメータに注目してみましょう。

追加前:

 VG Size               11.50 GiB
 Total PE              2945
 Free  PE / Size       255 / 1020.00 MiB

追加後:

 VG Size               12.00 GiB
 Total PE              3072
 Free  PE / Size       382 / 1.49 GiB

/dev/sdc1は500MiBの容量をもつブロックデバイスなので、11.50 GiBのVGサイズが12.00 GiBになります。 Total PEとFree PEがその分増えます。


LVの拡張

VGからLVへ容量を追加します。

現在のlv_rootをlvdisplayコマンドでチェックしてみます。

# lvdisplay /dev/vg_c0/lv_root
 --- Logical volume ---
 LV Path                /dev/vg_c0/lv_root
 LV Name                lv_root
 VG Name                vg_c0
 LV UUID                bHmGUa-ijIQ-esmq-j5lm-xbCZ-dxPY-dcnhHk
 LV Write Access        read/write
 LV Creation host, time c0.h2np, 2013-06-19 21:17:41 +0900
 LV Status              available
 # open                 1
 LV Size                6.57 GiB
 Current LE             1682
 Segments               2
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:0

コマンドlvextendを使いlv_rootに容量を追加します。 ここでは-l オプションで追加する容量(PEの量)を指定します。 現在VGで利用できるPEの量は382なので、そこから300を利用します。

# lvextend -l +300 /dev/vg_c0/lv_root
 Extending logical volume lv_root to 7.74 GiB
 Logical volume lv_root successfully resized


ファイルシステムの拡張

lv_rootは6.57 GiBから7.74 GiBまで拡張しましたが、LVに存在しているファイルシステム自体はまだそのままのサイズです。 resize2fsを使って拡大します。

注意
/dev/vg_c0/lv_root のファイルシステムの種類はext4です。そのためファイルシステムがオンラインでも拡大できます。ファイルシステムのサイズを拡大するコマンドは、ファイルシステムの種類によって異なります。

# resize2fs /dev/vg_c0/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_c0/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg_c0/lv_root to 2029568 (4k) blocks.
The filesystem on /dev/vg_c0/lv_root is now 2029568 blocks long.



目次