CentOS6のLVMでボリュームグループ、論理ボリュームを作成してファイルシステム作成、マウントする手順、既存のボリュームグループに物理ボリュームを追加する手順を確認しました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
・VPSサーバーのCentOS環境ではなくテスト用のCentOSサーバーで、インストール時に予備のパーティションを作成しておき、その領域にボリュームグループを作成しています。
※インストール後に未使用の領域からパーティションを切り出そうと試みた事がありますが、アクティブなディスクに対してはパーティションを作成する事が困難なようでした。
・ここではインストール時にext4でパーティションを作成しておいた/dev/sda10にボリュームグループを作成しています。
1)物理ボリュームを確認
lvmdiskscanで物理ボリュームとして使用可能なブロックデバイスを確認します。
# lvmdiskscan : /dev/sda10 [ 4.88 GiB]
2)ボリュームグループ作成(NG)
# vgcreate vg_test /dev/sda10 No physical volume label read from /dev/sda10 Physical volume /dev/sda10 not found Can't open /dev/sda10 exclusively. Mounted filesystem? Unable to add physical volume '/dev/sda10' to volume group 'vg_test'.
マウント済みなので実行できないようです。
3)対象物理ボリュームをアンマウント
# umount /dev/sda10
4)ボリュームグループ作成
# vgcreate vg_test /dev/sda10 No physical volume label read from /dev/sda10 Physical volume /dev/sda10 not found Physical volume "/dev/sda10" successfully created Volume group "vg_test" successfully created
5)確認
# lvmdiskscan /dev/sda10 [ 4.88 GiB] LVM physical volume # pvdisplay --- Physical volume --- PV Name /dev/sda10 VG Name vg_test PV Size 4.88 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 1249 Free PE 1249 Allocated PE 0 PV UUID rYc・・・ # pvscan PV /dev/sda10 VG vg_test lvm2 [4.88 GiB / 4.88 GiB free] # vgdisplay --- Volume group --- VG Name vg_test System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 4.88 GiB PE Size 4.00 MiB Total PE 1249 Alloc PE / Size 0 / 0 Free PE / Size 1249 / 4.88 GiB VG UUID bmj・・
6)ボリュームグループ作成後、”unable to resolve UUID”のエラー
OS起動時に”unable to resolve UUID”のエラーが発生し正常に起動できなくなってしまいました。
原因を調べて見ると、ボリュームグループ作成時に割り当てた物理ボリュームが/etc/fstabに自動マウントの設定が残っていて、マウントしようとしてエラーとなったようです。
ボリュームグループ作成時にマウント済みで実行できず、手動でアンマウントしたのですが、自動マウントの設定については考えが及びませんでした。
/etc/fstab内の該当する物理ボリュームの記述を削除したところ正常に起動するようになりました。
1)ボリュームグループを確認
# vgs VG #PV #LV #SN Attr VSize VFree vg_dual 1 1 0 wz--n- 7.81g 0 vg_test 1 0 0 wz--n- 4.88g 4.88g
2)論理ボリュームを作成
# lvcreate -L1G -n lv_test1 vg_test Logical volume "lv_test1" created
3)作成した論理ボリュームを確認
# lvscan ACTIVE '/dev/vg_test/lv_test1' [1.00 GiB] inherit ACTIVE '/dev/vg_dual/LogVol00' [7.81 GiB] inherit # lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert LogVol00 vg_dual -wi-ao---- 7.81g lv_test1 vg_test -wi-a----- 1.00g
4)ファイルシステムを作成
# mkfs.ext4 /dev/vg_test/lv_test1 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 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
5)論理ボリュームをマウント
# mkdir /mnt/lv_test1 # mount /dev/vg_test/lv_test1 /mnt/lv_test1
6)自動マウントの設定
起動時に自動マウントさせるための設定します。
# vi /etc/fstab /dev/mapper/vg_dual-LogVol00 / ext4 defaults 1 1 /dev/mapper/vg_test-lv_test1 /mnt/lv_test1 ext4 defaults 1 2
※インストール時に作成した論理ボリュームが/dev/mapper/を使って記述していたので、その記述に合わせました。
# ls /dev/mapper control vg_dual-LogVol00 vg_test-lv_test1
1)ボリュームグループを確認
# vgdisplay vg_test --- Volume group --- VG Name vg_test : VG Size 4.88 GiB PE Size 4.00 MiB Total PE 1249 Alloc PE / Size 256 / 1.00 GiB Free PE / Size 993 / 3.88 GiB
2)ブロックデバイスを確認
lvmdiskscanで物理ボリュームとして使用可能なブロックデバイスを確認します。
# lvmdiskscan : /dev/sda11 [ 4.88 GiB]
※mountコマンドや/sbin/swapon -sコマンドで使用中のデバイスでないか確認する
3)物理ボリュームを作成
①マウントしてある場合はアンマウント
# umount /dev/sda11
②物理ボリュームを作成
# pvcreate /dev/sda11 Physical volume "/dev/sda11" successfully created
4)ボリュームグループへ物理ボリュームを追加
# vgextend vg_test /dev/sda11 Volume group "vg_test" successfully extended
5)確認
# pvdisplay /dev/sda11 --- Physical volume --- PV Name /dev/sda11 VG Name vg_test PV Size 4.88 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 1249 Free PE 1249 Allocated PE 0 PV UUID 82s # vgdisplay vg_test --- Volume group --- VG Name vg_test : VG Size 9.76 GiB PE Size 4.00 MiB Total PE 2498 Alloc PE / Size 256 / 1.00 GiB Free PE / Size 2242 / 8.76 GiB
6)/etc/fstabを修整
今回はすでに自動マウントの設定がされていたブロックデバイスを使用したので、次から自動マウントされないように修整します。
①対象ブロックデバイスのUUIDを確認
# blkid : /dev/sda11: UUID="82sGgK-・・・" TYPE="LVM2_member" /dev/sda12: UUID="3e30c25e-・・・" TYPE="swap"
②/etc/fstabを修整
/dev/sda11はボリュームグループに追加したので、単独で自動マウントされないように/etc/fstabの記述を修正します。
/dev/sda11は物理ボリュームに変更されてUUIDが変更されているので、上記2つの結果を見比べて確認します。