LVMを使ってみる
Last-modified: 2013-08-24 (土) 02:14:21 (3899d)
Top / LVMを使ってみる
LVMを使ってみる †
vgscanを実行 †
[root@localhost ~]# vgscan Reading all physical volumes. This may take a while... No volume groups found [root@localhost ~]# [root@localhost ~]#
Physical Volumeを作成 †
[root@localhost ~]# fdisk -l Disk /dev/sda: 80.0 GB, 80000000000 bytes 255 heads, 63 sectors/track, 9726 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 395 3068415 83 Linux /dev/sda3 396 428 265072+ 82 Linux スワップ /dev/sda4 429 9726 74686185 5 拡張領域 /dev/sda5 429 938 4096543+ 83 Linux /dev/sda6 939 946 64228+ 83 Linux /dev/sda7 947 1445 4008186 83 Linux /dev/sda8 1446 1944 4008186 83 Linux /dev/sda9 1945 2443 4008186 83 Linux /dev/sda10 2444 2452 72261 82 Linux スワップ /dev/sda11 2453 3449 8008371 8e Linux LVM /dev/sda12 3450 4446 8008371 8e Linux LVM /dev/sda13 4447 5443 8008371 8e Linux LVM [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# pvcreate /dev/sda11 Physical volume "/dev/sda11" successfully created [root@localhost ~]# pvcreate /dev/sda12 Physical volume "/dev/sda12" successfully created [root@localhost ~]# pvcreate /dev/sda13 Physical volume "/dev/sda13" successfully created [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# pvdisplay /dev/sda11 --- NEW Physical volume --- PV Name /dev/sda11 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 8mEVbj-JawU-v97L-GCGq-rPpR-G041-PQP6t9 [root@localhost ~]# pvdisplay /dev/sda12 --- NEW Physical volume --- PV Name /dev/sda12 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID jkZSaa-3Zi6-EWlf-gnqs-Mg63-Zwng-yjfmmr [root@localhost ~]# pvdisplay /dev/sda13 --- NEW Physical volume --- PV Name /dev/sda13 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID YsBCQc-y76j-O5R7-uwTO-44L8-tuAD-Jp4IuR
Volume Group作成 †
[root@localhost ~]# vgcreate myvg /dev/sda11 Volume group "myvg" successfully created [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# vgdisplay --- Volume group --- VG Name myvg 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 7.64 GB PE Size 4.00 MB Total PE 1955 Alloc PE / Size 0 / 0 Free PE / Size 1955 / 7.64 GB VG UUID JF2qWp-V8IX-yT4k-bkho-Ww2F-NRjm-l94YY0 [root@localhost ~]# [root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda11 VG Name myvg PV Size 7.64 GB / not usable 0 Allocatable yes PE Size (KByte) 4096 Total PE 1955 Free PE 1955 Allocated PE 0 PV UUID iMzjbo-V3Ac-oNl6-q0uN-YBwa-1Z7Q-QWEfB6 --- NEW Physical volume --- PV Name /dev/sda12 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID FgmLEa-2HnV-jMhW-OLjx-g7rq-wcoT-HFvFZm --- NEW Physical volume --- PV Name /dev/sda13 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID xFm5NB-DeJP-Y2zD-YD4M-52sn-QQoh-hePIMu
Logical Volume作成 †
[root@localhost ~]# lvcreate -L 10M -n swap myvg Rounding up size to full physical extent 12.00 MB Logical volume "swap" created [root@localhost ~]#
PEサイズが4Mのため、オプションで指定している作成サイズは10Mであるが、作成されるLVのサイズは12Mとなる。
また、作成されたLVは以下のようにデバイスファイルが作成される。
[root@localhost ~]# ll /dev/myvg/swap lrwxrwxrwx 1 root root 21 2月 23 16:14 /dev/myvg/swap -> /dev/mapper/myvg-swap [root@localhost ~]#
さらにLVを追加
[root@localhost ~]# lvcreate -L 256M -n data /dev/myvg Logical volume "data" created [root@localhost ~]# [root@localhost ~]# lvdisplay --- Logical volume --- LV Name /dev/myvg/swap VG Name myvg LV UUID w7LmUl-az3z-W9eH-QrWu-DeDU-SNw2-notAco LV Write Access read/write LV Status available # open 0 LV Size 12.00 MB Current LE 3 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:0 --- Logical volume --- LV Name /dev/myvg/data VG Name myvg LV UUID ZD1Nv9-Ee7R-bWTH-2zXb-3znZ-RL1j-IBoBQw LV Write Access read/write LV Status available # open 0 LV Size 256.00 MB Current LE 64 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:1
ext3のファイルシステムを作成
[root@localhost ~]# mkfs -t ext3 -L myfs01 /dev/myvg/data mke2fs 1.35 (28-Feb-2004) Filesystem label=myfs01 OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 32 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]#
ここで、VGを確認してみる
[root@localhost ~]# vgdisplay --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 7.64 GB PE Size 4.00 MB Total PE 1955 Alloc PE / Size 67 / 268.00 MB Free PE / Size 1888 / 7.38 GB VG UUID JF2qWp-V8IX-yT4k-bkho-Ww2F-NRjm-l94YY0
Alloc PE / Size が使用しているPE数/サイズで、268M使用されていることが確認できる。
また、このVGの空き容量が7.38GBであることが確認できる。
VGの拡張 †
[root@localhost ~]# vgdisplay --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 7.64 GB PE Size 4.00 MB Total PE 1955 Alloc PE / Size 117 / 468.00 MB Free PE / Size 1838 / 7.18 GB VG UUID JF2qWp-V8IX-yT4k-bkho-Ww2F-NRjm-l94YY0 [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda11 VG Name myvg PV Size 7.64 GB / not usable 0 Allocatable yes PE Size (KByte) 4096 Total PE 1955 Free PE 1838 Allocated PE 117 PV UUID iMzjbo-V3Ac-oNl6-q0uN-YBwa-1Z7Q-QWEfB6 --- NEW Physical volume --- PV Name /dev/sda12 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID FgmLEa-2HnV-jMhW-OLjx-g7rq-wcoT-HFvFZm --- NEW Physical volume --- PV Name /dev/sda13 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID xFm5NB-DeJP-Y2zD-YD4M-52sn-QQoh-hePIMu [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# pvcreate /dev/sda12 Physical volume "/dev/sda12" successfully created [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# vgextend myvg /dev/sda12 Volume group "myvg" successfully extended [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# vgdisplay --- Volume group --- VG Name myvg 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 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 15.27 GB PE Size 4.00 MB Total PE 3910 Alloc PE / Size 117 / 468.00 MB Free PE / Size 3793 / 14.82 GB VG UUID JF2qWp-V8IX-yT4k-bkho-Ww2F-NRjm-l94YY0 [root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda11 VG Name myvg PV Size 7.64 GB / not usable 0 Allocatable yes PE Size (KByte) 4096 Total PE 1955 Free PE 1838 Allocated PE 117 PV UUID iMzjbo-V3Ac-oNl6-q0uN-YBwa-1Z7Q-QWEfB6 --- Physical volume --- PV Name /dev/sda12 VG Name myvg PV Size 7.64 GB / not usable 0 Allocatable yes PE Size (KByte) 4096 Total PE 1955 Free PE 1955 Allocated PE 0 PV UUID B5JBIn-PpdE-cQ6J-FZvf-YgCH-sznQ-377epH --- NEW Physical volume --- PV Name /dev/sda13 VG Name PV Size 7.64 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID xFm5NB-DeJP-Y2zD-YD4M-52sn-QQoh-hePIMu [root@localhost ~]#
LVの拡張 †
[root@localhost ~]# lvdisplay /dev/myvg/mylv01 --- Logical volume --- LV Name /dev/myvg/mylv01 VG Name myvg LV UUID gFzLBw-65R0-L59E-GFkh-HpYU-Scr9-BlIniQ LV Write Access read/write LV Status available # open 1 LV Size 100.00 MB Current LE 25 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:3 [root@localhost ~]# [root@localhost ~]# lvextend -L +128M /dev/myvg/mylv01 Extending logical volume mylv01 to 228.00 MB Logical volume mylv01 successfully resized [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# lvdisplay /dev/myvg/mylv01 --- Logical volume --- LV Name /dev/myvg/mylv01 VG Name myvg LV UUID gFzLBw-65R0-L59E-GFkh-HpYU-Scr9-BlIniQ LV Write Access read/write LV Status available # open 1 LV Size 228.00 MB Current LE 57 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:3 [root@localhost ~]#
ファイルシステムのサイズ変更 †
まず、サイズ変更対象をアンマウントする。
[root@localhost ~]# umount /lvm/mylv01 [root@localhost ~]#
次に、リサイズのコマンドを実行
[root@localhost ~]# resize2fs -p /dev/myvg/mylv01 resize2fs 1.35 (28-Feb-2004) Please run 'e2fsck -f /dev/myvg/mylv01' first. [root@localhost ~]#
すると、e2fsckしろっておこられる。
おこられたのでやってみる。
[root@localhost ~]# e2fsck -f /dev/myvg/mylv01 e2fsck 1.35 (28-Feb-2004) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/myvg/mylv01: 11/25688 files (9.1% non-contiguous), 8914/102400 blocks [root@localhost ~]#
あらためてresize2fsを実行
[root@localhost ~]# resize2fs -p /dev/myvg/mylv01 resize2fs 1.35 (28-Feb-2004) Resizing the filesystem on /dev/myvg/mylv01 to 233472 (1k) blocks. Begin pass 1 (max = 16) Extending the inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX The filesystem on /dev/myvg/mylv01 is now 233472 blocks long. [root@localhost ~]#
成功!
ちなみに、resize2fsコマンドは、引数の一番最後にサイズをとるが、指定しないとパーティションの最大サイズにファイルシステムのサイズを変更する。
ファイルシステムのサイズ変更(縮小) †
まず、テスト用のファイルを作成
[root@localhost ~]# mount /dev/myvg/mylv01 /lvm/mylv01/ [root@localhost ~]# [root@localhost ~]# echo test > /lvm/mylv01/a.txt [root@localhost ~]#
サイズ変更対象をアンマウント
[root@localhost ~]# umount /lvm/mylv01 [root@localhost ~]#
e2fsckを実行
[root@localhost ~]# e2fsck -f /dev/myvg/mylv01 e2fsck 1.35 (28-Feb-2004) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/myvg/mylv01: 12/57304 files (8.3% non-contiguous), 13415/233472 blocks [root@localhost ~]#
resize2fsを実行。最後の引数に「100M」をしていすることで、100Mにサイズを変更すると言う意味になる。
[root@localhost ~]# resize2fs -p /dev/myvg/mylv01 100M resize2fs 1.35 (28-Feb-2004) Resizing the filesystem on /dev/myvg/mylv01 to 102400 (1k) blocks. Begin pass 3 (max = 29) Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX The filesystem on /dev/myvg/mylv01 is now 102400 blocks long. [root@localhost ~]#
変更後、マウントする。
[root@localhost ~]# mount /dev/myvg/mylv01 mount: /etc/fstab や /etc/mtab 内に /dev/mapper/myvg-mylv01 を見つけられません [root@localhost ~]# mount /dev/myvg/mylv01 /lvm/mylv01 [root@localhost ~]# [root@localhost ~]#
ファイル、及びサイズの確認
[root@localhost ~]# cat /lvm/mylv01/ a.txt lost+found/ [root@localhost ~]# cat /lvm/mylv01/a.txt test [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda2 3020172 655432 2211320 23% / /dev/sda1 101086 16965 78902 18% /boot none 1032660 0 1032660 0% /dev/shm /dev/sda6 62193 5575 53407 10% /home /dev/sda5 4032092 2224808 1602460 59% /usr /dev/sda7 3945128 282312 3462408 8% /media/ext3 /dev/sda8 3945128 7832 3736888 1% /media/ext2 /dev/mapper/myvg-mylv02 99150 5664 88366 7% /lvm/mylv02 /dev/mapper/myvg-mylv01 99150 5665 89389 6% /lvm/mylv01 [root@localhost ~]#
成功!