重新调整磁盘分区linux / vm

我运行一个Linux客户端的VM Player,我想知道如何扩展磁盘? 在VM播放器中,我给了更多的磁盘空间,但是我不确定如何挂载/扩展/连接新的磁盘空间到系统。

我的旧磁盘空间是14GB

[root@localhost ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 14G 4.5G 8.2G 36% / 

然后我扩大了,现在我看到sda2这是新的空间?

 [root@localhost ~]# fdisk -l Disk /dev/sda: 128.8 GB, 128849018880 bytes 255 heads, 63 sectors/track, 15665 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: 0x000cd44d Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 2611 20458496 8e Linux LVM Disk /dev/mapper/VolGroup-lv_root: 14.5 GB, 14537457664 bytes 255 heads, 63 sectors/track, 1767 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: 6408 MB, 6408896512 bytes 255 heads, 63 sectors/track, 779 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 

我是否需要首先安装新的空间?

 resize2fs -p /dev/mapper/VolGroup-lv_root 108849018880 resize2fs 1.41.12 (17-May-2010) The containing partition (or device) is only 3549184 (4k) blocks. You requested a new size of 1474836480 blocks. resize2fs -p /dev/mapper/VolGroup-lv_root 128849018880 resize2fs 1.41.12 (17-May-2010) resize2fs: Invalid new size: 128849018880 [root@localhost ~]# lvextend -L+90GB /dev/mapper/VolGroup-lv_root Extending logical volume lv_root to 103.54 GiB Insufficient free space: 23040 extents needed, but only 0 available [root@localhost ~]# lvextend -L90GB /dev/mapper/VolGroup-lv_root Extending logical volume lv_root to 90.00 GiB Insufficient free space: 19574 extents needed, but only 0 available 

编辑:所以在尝试pvcreate / vgextend到目前为止没有工作。 我猜从VM Player添加的新磁盘空间不显示?

 pvscan PV /dev/sda2 VG VolGroup lvm2 [19.51 GiB / 0 free] Total: 1 [19.51 GiB] / in use: 1 [19.51 GiB] / in no VG: 0 [0 ] 

如前所述,您必须首先调整包含逻辑卷的分区大小,然后才能继续执行LVMresize。 按着这些次序:

  1. fdisk -l -u /dev/sda注意当前的分区设置(尤其是启动扇区)
  2. 删除分区sda2并重新创build它使用完全相同的开始扇区,否则您将丢失数据! 很显然, terminal行业应该比以前更高 (fdisk会默认使用最后一个可用的扇区,所以你可以在这里简单地按下ENTER)
  3. 现在运行partprobe /dev/sda或重新启动系统。 这将通知内核分区大小已经改变
  4. 运行pvresize /dev/sda2 。 这将调整物理卷结构
  5. 执行pvsvgs检查新的大小是否被LVM正确识别
  6. 您现在可以使用lvresize -l +100%FREE /dev/mapper/VolGroup-lv_root来调整您的LVM卷
  7. 最后,使用resize2fs /dev/mapper/VolGroup-lv_root调整文件系统本身的大小

这些指令适用于增加磁盘空间(扩展音量)

缩小卷在概念上是相似的,但是您必须从文件系统缩小开始向后执行。 另外,如果您使用XFS或其他无法收缩的文件系统,则无法在没有备份/恢复过程的情况下调整LVM卷的大小。

由于您的底层设备已经扩展,您应该能够看到vgdisplay输出中的可用空间。 寻找说Free PE / Size的线。 如果是这种情况,您可以简单地通过lvextend扩展逻辑卷,然后通过resize2fs扩展文件系统。

我做了一个指导如何做到这一点回来,希望这有助于。

https://serverfault.com/a/422972/1435

这里的问题是你把LVM(物理卷)放入一个分区。

如果它直接在设备上,你可以简单地做

 * pvextend * lvextend * resize2fs 

在你的情况下,你将不得不使用live-cd启动,或者删除/dev/sda2分区,然后重新创build一个更大的大小,然后按照上面的描述进行操作

更安全的方式将是

为您的虚拟机创build一个新的卷,然后将其作为/dev/sdb ,例如使用pvcreate将其初始化为PV将新的PV添加到现有卷组

 vgextend my_volume_group /dev/sdb 

现在你可以扩展逻辑卷

 lvextend -v -l +100%FREE /dev/mapper/VolGroup-lv_root 

最后是文件系统

 resize2fs /dev/mapper/VolGroup-lv_root 

一旦你意识到所有的层(物理磁盘,分区,物理卷,卷组,逻辑卷),它将是小菜一碟。