LVMで既存ボリュームグループを拡張して論理ボリュームを作成
最終更新日:2020/11/22 | 公開日:2013/04/07
目次
概要
2台目のハードディスクを増設し、LVMで既存のボリュームグループを拡張した後に、 新規の論理ボリュームを作成します。
拡張範囲
ディスクの拡張範囲は以下の通りです。
構成
サーバ構成
OSバージョン
Red Hat Enterprise Linux 6.4 64bit
拡張手順
パーティションの作成
増設したハードディスクが /dev/sdb として認識されるので、 全領域を1つのプライマリパーティション /dev/sdb1 として作成します。 パーティションはLVM用のシステムタイプに変更します。
# fdisk -l Disk /dev/sda: 34.4 GB, 34359738368 bytes 255 heads, 63 sectors/track, 4177 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00083f40 Device Boot Start End Blocks Id System /dev/sda1 * 1 13 102400 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 13 4178 33451008 8e Linux LVM Disk /dev/sdb: 17.2 GB, 17179869184 bytes ←このデバイスが追加された 255 heads, 63 sectors/track, 2088 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 (以下省略) # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x4d4de011. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sdb: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4d4de011 Device Boot Start End Blocks Id System ←パーティションは表示されない Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2088, default 1): ←何も入力せずにリターン Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2088, default 2088): ←何も入力せずにリターン Using default value 2088 Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): p Disk /dev/sdb: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4d4de011 Device Boot Start End Blocks Id System /dev/sdb1 1 2088 16771828+ 8e Linux LVM ←作成したパーティションが表示される Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
物理ボリュームの初期化
作成したパーティション /dev/sdb1 をLVMの物理ボリュームとして初期化します。
# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [31.90 GiB / 9.90 GiB free]
Total: 1 [31.90 GiB] / in use: 1 [31.90 GiB] / in no VG: 0 [0 ]
# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [31.90 GiB / 9.90 GiB free]
PV /dev/sdb1 lvm2 [15.99 GiB] ←追加されたことを確認
Total: 2 [47.89 GiB] / in use: 1 [31.90 GiB] / in no VG: 1 [15.99 GiB]
ボリュームグループの拡張
LVMの物理ボリュームを元に既存のボリュームグループを拡張します。
# vgdisplay
--- Volume group ---
VG Name VolGroup00
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 31.90 GiB
PE Size 4.00 MiB
Total PE 8166
Alloc PE / Size 5632 / 22.00 GiB
Free PE / Size 2534 / 9.90 GiB
VG UUID 42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP
# vgextend VolGroup00 /dev/sdb1
Volume group "VolGroup00" successfully extended
# vgdisplay
--- Volume group ---
VG Name VolGroup00
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 47.89 GiB
PE Size 4.00 MiB
Total PE 12260
Alloc PE / Size 5632 / 22.00 GiB
Free PE / Size 6628 / 25.89 GiB ←空きが増えたことを確認
VG UUID 42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP
論理ボリュームの作成
拡張したボリュームグループ VolGroup00 から論理ボリューム LogVol03 を作成します。 ボリュームグループの空きサイズを全て論理ボリューム LogVol03 に割り当てます。
# vgdisplay VolGroup00 --- Volume group --- VG Name VolGroup00 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 47.89 GiB PE Size 4.00 MiB Total PE 12260 Alloc PE / Size 5632 / 22.00 GiB Free PE / Size 6628 / 25.89 GiB ←空きエクステント数は6628 VG UUID 42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP # lvcreate -l 6628 -n LogVol03 VolGroup00 Logical volume "LogVol03" created # vgdisplay -v VolGroup00 Using volume group(s) on command line Finding volume group "VolGroup00" --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 3 Max PV 0 Cur PV 2 Act PV 2 VG Size 47.89 GiB PE Size 4.00 MiB Total PE 12260 Alloc PE / Size 12260 / 47.89 GiB Free PE / Size 0 / 0 ←空きエクステント数は0 VG UUID 42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP (中略) --- Logical volume --- LV Path /dev/VolGroup00/LogVol03 ←論理ボリュームが作成された LV Name LogVol03 VG Name VolGroup00 LV UUID yh08zS-yhkO-WJte-Lp5a-If5P-tYvA-IYOdZ6 LV Write Access read/write LV Creation host, time linuxtest, 2013-04-01 05:04:34 +0900 LV Status available # open 0 LV Size 25.89 GiB Current LE 6628 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 --- Physical volumes --- PV Name /dev/sda2 PV UUID th2zSN-lY9c-RIvi-pxbb-qxhd-02iq-AWe3v4 PV Status allocatable Total PE / Free PE 8166 / 0 PV Name /dev/sdb1 PV UUID bOlN0r-CchY-aHia-8Kn6-Uxdx-cYeD-CNZTD2 PV Status allocatable Total PE / Free PE 4094 / 0
上では作成する論理ボリュームのエクステント数を指定して作成しましたが、 以下のようにサイズを指定して作成して作成することもできます。 どちらの場合も作成される論理ボリュームは同じです。
# lvcreate -L 25.89g -n LogVol03 VolGroup00 Logical volume "LogVol03" created
ファイルシステムの作成
作成した論理ボリュームを ext4 ファイルシステムでフォーマットします。
# mkfs.ext4 /dev/VolGroup00/LogVol03 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1697280 inodes, 6787072 blocks 339353 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 208 block groups 32768 blocks per group, 32768 fragments per group 8160 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: 0/208 1/208 2/208 3/208 4/208 5/208 6/208 7/208 8/208 9/208 10/208 11/208 12/208 13/208 14/208 15/208 16/208 17/208 18/208 19/208 20/208 21/208 22/208 23/208 24/208 25/208 26/208 27/208 28/208 29/208 30/208 31/208 32/208 33/208 34/208 35/208 36/208 37/208 38/208 39/208 40/208 41/208 42/208 43/208 44/208 45/208 46/208 47/208 48/208 49/208 50/208 51/208 52/208 53/208 54/208 55/208 56/208 57/208 58/208 59/208 60/208 61/208 62/208 63/208 64/208 65/208 66/208 67/208 68/208 69/208 70/208 71/208 72/208 73/208 74/208 75/208 76/208 77/208 78/208 79/208 80/208 81/208 82/208 83/208 84/208 85/208 86/208 87/208 88/208 89/208 90/208 91/208 92/208 93/208 94/208 95/208 96/208 97/208 98/208 99/208100/208101/208102/208103/208104/208105/208106/208107/208108/208109/208110/208111/208112/208113/208114/208115/208116/208117/208118/208119/208120/208121/208122/208123/208124/208125/208126/208127/208128/208129/208130/208131/208132/208133/208134/208135/208136/208137/208138/208139/208140/208141/208142/208143/208144/208145/208146/208147/208148/208149/208150/208151/208152/208153/208154/208155/208156/208157/208158/208159/208160/208161/208162/208163/208164/208165/208166/208167/208168/208169/208170/208171/208172/208173/208174/208175/208176/208177/208178/208179/208180/208181/208182/208183/208184/208185/208186/208187/208188/208189/208190/208191/208192/208193/208194/208195/208196/208197/208198/208199/208200/208201/208202/208203/208204/208205/208206/208207/208done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 21 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
マウント
フォーマットした論理ボリュームを /data ディレクトリにマウントします。
# mkdir /data # mount -t ext4 /dev/VolGroup00/LogVol03 /data # mount /dev/mapper/VolGroup00-LogVol00 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/mapper/VolGroup00-LogVol02 on /var type ext4 (rw) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/VolGroup00-LogVol03 on /data type ext4 (rw) ←マウントされたことを確認 # ls -l /data total 16 drwx------. 2 root root 16384 Apr 1 05:06 lost+found ←マウントされている時はこれが表示される
自動マウント設定
mount コマンドでマウントしただけだと、Linuxを再起動するとアンマウントされた状態に戻ってしまいます。 再起動後も自動的にマウントされるように fstab ファイルに定義を記述します。
# cd /etc/ # vi fstab
ファイル名:/etc/fstab
/dev/mapper/VolGroup00-LogVol00 / ext4 defaults 1 1
UUID=17c9ae07-1e4b-44ab-b026-6df017b17012 /boot ext4 defaults 1 2
/dev/mapper/VolGroup00-LogVol02 /var ext4 defaults 1 2
/dev/mapper/VolGroup00-LogVol03 /data ext4 defaults 1 2 ←この行を追加
/dev/mapper/VolGroup00-LogVol01 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0