LVM Typeのパーティションを拡張する
起動したAMIのディスクボリュームがLVMだったので、partedでの既存パーティション拡張はできません。
LVMなんだから新しいパーティションを作成してvgextendしたら良いのでは・・・と思うものの、
既存パーティションが拡張できないか試してみました。sfdiskを使います。
参考m(__)m
- 既存パーティションの拡張
LVMタイプのパーティション/dev/xvda2 を拡張します
# fdisk -l /dev/xvda
Disk /dev/xvda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x000eacf6
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/xvda2 64 2025 15751168 8e Linux LVM
# sfdisk -d /dev/xvda > xvda.dump
# vi xvda.dump
# partition table of /dev/xvda
unit: sectors
/dev/xvda1 : start= 2048, size= 1024000, Id=83, bootable
/dev/xvda2 : start= 1026048, size= ★208686462(※cylinders * heads * sectors - start=のサイズ1026048), Id=8e
/dev/xvda3 : start= 0, size= 0, Id= 0
/dev/xvda4 : start= 0, size= 0, Id= 0
# sfdisk /dev/xvda --force < xvda.dump
Checking that no-one is using this disk right now ...
BLKRRPART: Device or resource busy
This disk is currently in use - repartitioning is probably a bad idea.
Umount all file systems, and swapoff all swap partitions on this disk.
Use the --no-reread flag to suppress this check.
Disk /dev/xvda: 13054 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/xvda1 * 0+ 63- 64- 512000 83 Linux
/dev/xvda2 63+ 2024- 1961- 15751168 8e Linux LVM
/dev/xvda3 0 - 0 0 0 Empty
/dev/xvda4 0 - 0 0 0 Empty
New situation:
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/xvda1 * 2048 1026047 1024000 83 Linux
/dev/xvda2 1026048 209712509 208686462 8e Linux LVM
/dev/xvda3 0 - 0 0 Empty
/dev/xvda4 0 - 0 0 Empty
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table
Re-reading the partition table ...
BLKRRPART: Device or resource busy
The command to re-read the partition table failed.
Run partprobe(8), kpartx(8) or reboot your system now,
before using mkfs
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
# shutdown -r -y now
- 再起動後のfdisk
# fdisk -l
Disk /dev/xvda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x000eacf6
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/xvda2 64 13054 104343231 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 15.3 GB, 15271460864 bytes
255 heads, 63 sectors/track, 1856 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
Disk /dev/mapper/VolGroup-lv_swap: 855 MB, 855638016 bytes
255 heads, 63 sectors/track, 104 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
- VGの確認
# vgdisplay --- Volume group --- VG Name VolGroup System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 ★ VG Size 15.02 GiB PE Size 4.00 MiB Total PE 3845 Alloc PE / Size 3845 / 15.02 GiB Free PE / Size 0 / 0 VG UUID lvi8Kt-MMja-nTvI-terh-7ljb-ImyV-SScwRk
- PV/LVMの拡張
# pvresize /dev/xvda2
Physical volume "/dev/xvda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
★ VG Size 99.51 GiB
PE Size 4.00 MiB
Total PE 25474
Alloc PE / Size 3845 / 15.02 GiB
★ Free PE / Size 21629 / 84.49 GiB ←このFree PEを割り当てる
VG UUID lvi8Kt-MMja-nTvI-terh-7ljb-ImyV-SScwRk
# lvextend -l +21629 /dev/mapper/VolGroup-lv_root /dev/xvda2
Extending logical volume lv_root to 98.71 GiB
Logical volume lv_root successfully resized
# resize2fs /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 7
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 25876480 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 25876480 blocks long.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
98G 1.1G 92G 2% /
tmpfs 938M 0 938M 0% /dev/shm
/dev/xvda1 485M 54M 407M 12% /boot
です。