我的 Ubuntu 14.04 正在作为 Hyper-V 客户机运行。到目前为止,它有一个 140 GB 的额外虚拟“数据”磁盘(除了主 Ubuntu 操作系统映像之外)。我现在已将 Hyper-V 中的磁盘大小调整为 200 GB。如果卷是在原始设备上创建的(无需先对设备进行分区并将磁盘分区添加到 LVM),如何扩展在此磁盘上创建的 LVM 卷以占用所有可用空间?我能找到的所有答案都来自这样的假设:设备已分区,并且已将分区添加到 LVM(现在可以创建新分区并再次将其添加到 LVM)。
音量设置方式:
# pvcreate /dev/sdb
# vgextend ubuntubase-vg /dev/sdb
# lvcreate -n lvol0 -L 140G ubuntubase-vg
# mkfs.ext4 /dev/mapper/ubuntubase--vg-lvol0
fdisk
已经显示/dev/sdb
更新后的大小为 200 GB,但没有分区:
Disk /dev/sdb: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders, total 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
pvdisplay
仍然显示旧的140GB:
--- Physical volume ---
PV Name /dev/sdb
VG Name ubuntubase-vg
PV Size 140.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 35839
Free PE 0
Allocated PE 35839
PV UUID XZ2sei-NRnA-IzF1-EQAK-fq9m-VTHS-Q0zRx6
答案1
这应该扩展物理卷以使用磁盘上的所有可用空间:
pvresize /dev/sdb
看man 8 pvresize
。
之后您必须调整逻辑卷的大小:
lvextend -l +100%FREE /dev/ubuntubase-vg/lvol0
并扩展文件系统:
resize2fs /dev/ubuntubase-vg/lvol0