如何在不丢失数据的情况下扩大扩展分区?请注意,我在这个扩展分区内有一个 LVM 逻辑分区。
# fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM
Disk /dev/mapper/a--vm--vg-swap_1 doesn't contain a valid partition table
Command (m for help): v
Remaining 41949182 unallocated 512-byte sectors
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00094bdb
答案1
答案2
我在 Ubuntu 12.04 LTS 上找到了一种扩展磁盘的实用方法。也许您已经注意到,此服务器已启用 LVM。这就是扩展分区 (sda2) 与逻辑分区 (sda5) 完全重叠的原因。
首先我使用“parted”命令调整扩展分区(sda2)的大小,使其充满所有物理磁盘。
resize NUMBER START END //NUMBER stands for partition number
然后,扩展分区 sda2 内就有可用空间用于另一个逻辑分区,例如 sda6。
使用“fdisk”创建一个新的逻辑分区。(选择 l 而不是 p,将类型 id 更改为 8e,代表 LVM)
重启。
然后我们开始配置LVM。使用'pvcreate'通过sda6创建物理卷。
'pvdisplay' 显示当前物理卷。
pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name host02-vm-vg
PV Size 19.76 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 5058
Free PE 0
Allocated PE 5058
PV UUID RsGi6C-g0lm-SzJ1-9rw4-dMEi-Q633-9wo1Gd
--- Physical volume ---
PV Name /dev/sda6
VG Name host02-vm-vg
PV Size 20.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 5119
Free PE 194
Allocated PE 4925
PV UUID fFhQbB-L59C-2nE9-Yuo6-CUAr-y6mD-HOMfzQ
因为此服务器在设置时启用了 LVM,所以当输入 'vgdisplay' 和 'lvdisplay' 时,您应该看到一个现有的卷组和一个逻辑卷,
02@02-vm:~$ sudo vgdisplay
--- Volume group ---
VG Name 02-vm-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.75 GiB
PE Size 4.00 MiB
Total PE 10177
Alloc PE / Size 9983 / 39.00 GiB
Free PE / Size 194 / 776.00 MiB
VG UUID GFrHkW-EZFQ-vuCo-b4Pp-F1Lm-FV8B-NcbMmD
02@02-vm:~$ sudo lvdisplay
--- Logical volume ---
LV Name /dev/02-vm-vg/root
VG Name 02-vm-vg
LV UUID vC3dCP-ynJq-qwbf-ZwwX-T1ca-tOo6-5FYVNg
LV Write Access read/write
LV Status available
# open 1
LV Size 37.00 GiB
Current LE 9472
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
这里剩下的内容就很容易理解了。
vgextend - add physical volumes to a volume group
lvresize - resize a logical volume
最后,您需要调整文件系统的大小以利用 LVM 中的新可用空间。
resize2fs - ext2/ext3/ext4 file system resized
数据:
vm:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/02--vm--vg-root 38057472 3501084 32802424 10% /
udev 1011124 4 1011120 1% /dev
tmpfs 204196 500 203696 1% /run
none 5120 0 5120 0% /run/lock
none 1020968 0 1020968 0% /run/shm
cgroup 1020968 0 1020968 0% /sys/fs/cgroup
/dev/sda1 240972 34482 194049 16% /boot
/dev/loop0 4872572 32928 4839644 1% /srv/node/vdb
如您所见,我的文件系统安装在 /dev/mapper/02--vm--vg-root(逻辑卷)上。因此,我们需要将此卷的大小调整到最大值。
重启,就大功告成了。^_^