Fedora 16 のLVM 領域に 新規に追加したハードディスクを追加して領域の拡張
Fedoraのマシンですが、
/home の領域の空き容量が少なくなってきたので 余っている 250GB のHDDを追加しました。
/home については LVMで構成されているので、
新しく250GBのHDDを追加し、その追加した領域の半分を /home のボリュームグループに追加を行いたいと思います。
今は 冗長構成は考慮せず、追加したHDDの領域を追加する形態をとります。
一般的に JBOD と呼ばれるものでしょうか。
LVM は
- PV(Physical Volume)
- VG(Volume Group)
- LV(Logical Volume)
という3つのもので構成されています。
追加してHDDを/homeの領域として追加する手順の概要は
- fdisk で 追加したHDDにパーティション作成
- PVの作成
- VGの拡張
- LVの拡張
- ファイルシステムのサイズ変更
という手順となります。
fdisk の実行
新しく追加した HDD /dev/sdb にたいして fdiskを実行し、
LVMの領域としてパーティションを設定します。
$ sudo fdisk /dev/sdb
コマンド (m でヘルプ): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
パーティション番号 (1-4, 初期値 1): 1
最初 セクタ (2048-490232638, 初期値 2048):
初期値 2048 を使います
Last セクタ, +セクタ数 or +size{K,M,G} (2048-490232638, 初期値 490232638):
初期値 490232638 を使いますコマンド (m でヘルプ): t
選択したパーティション 1
16進数コード (L コマンドでコードリスト表示): 8e
パーティションのシステムタイプを 1 から 8e (Linux LVM) に変更しましたコマンド (m でヘルプ): p
Disk /dev/sdb: 251.0 GB, 250999111168 bytes
ヘッド 255, セクタ 63, シリンダ 30515, 合計 490232639 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x3143fb36デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 2048 490232638 245115295+ 8e Linux LVMコマンド (m でヘルプ): w
パーティションテーブルは変更されました!ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
PV作成
pvcreate を実行
pvcreate を実行し、PVを作成します。
$ sudo pvcreate /dev/sdb1 Writing physical volume data to disk "/dev/sdb1" Physical volume "/dev/sdb1" successfully created
pvdisplay の実行
作成されたかな
$ sudo pvdisplay --- Physical volume --- PV Name /dev/sda3 VG Name vg_emily PV Size 148.56 GiB / not usable 29.00 MiB Allocatable yes (but full) PE Size 32.00 MiB Total PE 4753 Free PE 0 Allocated PE 4753 PV UUID BEB8pU-9hoZ-jzsi-3VN2-F8SP-evAw-Vp18ah "/dev/sdb1" is a new physical volume of "233.76 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 233.76 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID vof1KO-Q8pR-h1qL-hixN-xZOl-wlbG-wc8gfn
うまく出来てます。
VG拡張
vgdisplay の実行
VGの表示
$ sudo vgdisplay --- Volume group --- VG Name vg_emily System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 148.53 GiB PE Size 32.00 MiB Total PE 4753 Alloc PE / Size 4753 / 148.53 GiB Free PE / Size 0 / 0 VG UUID 6NdxHb-2swy-yVJB-oHhC-MUFJ-tRYU-MOrzFO
VG名は vg_emily です。
VG の拡張
vgextend コマンドを実行し VGを拡張します。
$ sudo vgextend vg_emily /dev/sdb1 Volume group "vg_emily" successfully extended
拡張されたか確認
$ sudo vgdisplay
--- Volume group ---
VG Name vg_emily
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 2
Act PV 2
VG Size 382.28 GiB
PE Size 32.00 MiB
Total PE 12233
Alloc PE / Size 4753 / 148.53 GiB
Free PE / Size 7480 / 233.75 GiB
VG UUID 6NdxHb-2swy-yVJB-oHhC-MUFJ-tRYU-MOrzFO
追加したディスクの分 Free PE / Size が増えてます。
LV拡張
LV の拡張
lvextend コマンドを実行してLVを拡張します。
今回は 追加したディスクの半分の容量分 拡張します。
全部追加するなら +100%FREE とします。
$ sudo lvextend -l +50%FREE /dev/mapper/*_home Extending logical volume lv_home to 205.62 GiB Logical volume lv_home successfully resized
ファイルシステムのサイズ変更
resize2fs の実行
resize2fs を実行して ファイルシステムの認識しているサイズを拡張したサイズにします。
$ sudo resize2fs /dev/mapper/*_home resize2fs 1.41.14 (22-Dec-2010) Filesystem at /dev/mapper/vg_emily-lv_home is mounted on /home; on-line resizing required old desc_blocks = 6, new_desc_blocks = 13 Performing an on-line resize of /dev/mapper/vg_emily-lv_home to 53903360 (4k) blocks. The filesystem on /dev/mapper/vg_emily-lv_home is now 53903360 blocks long.
無事サイズの変更が終了
拡張後の PV,VG,LV の結果
PV の結果
$ sudo pvscan PV /dev/sda3 VG vg_emily lvm2 [148.53 GiB / 0 free] PV /dev/sdb1 VG vg_emily lvm2 [233.75 GiB / 116.88 GiB free] Total: 2 [382.28 GiB] / in use: 2 [382.28 GiB] / in no VG: 0 [0 ]
VG の結果
$ sudo vgscan Reading all physical volumes. This may take a while... Found volume group "vg_emily" using metadata type lvm2
LV の結果
$ sudo lvscan ACTIVE '/dev/vg_emily/lv_swap' [9.78 GiB] inherit ACTIVE '/dev/vg_emily/lv_home' [205.62 GiB] inherit ACTIVE '/dev/vg_emily/lv_root' [50.00 GiB] inherit