调整磁盘分区 linux/vm 的大小

调整磁盘分区 linux/vm 的大小

我在 VM Player 中运行 Linux 客户机,我想知道如何扩展磁盘?在 VM Player 中,我提供了更多磁盘空间,但我不知道如何将新磁盘空间安装/扩展/连接到系统。

我的旧磁盘空间为 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   ]

答案1

如前所述,您必须先调整包含逻辑卷的分区大小,然后才能继续调整 LVM 大小。请按照以下步骤操作:

  1. fdisk -l -u /dev/sda记下当前分区设置(尤其是起始扇区)
  2. 删除分区 sda2 并重新创建使用相同的起始扇区,否则您将丢失数据!显然,最终扇区应该比之前更高(fdisk 默认会建议使用最后一个可用扇区,因此您只需在此处按 ENTER 即可)
  3. 现在运行partprobe /dev/sda或重新启动系统。这将通知内核分区大小已更改
  4. 跑步pvresize /dev/sda2.这将调整物理卷结构的大小
  5. 执行pvsvgs检查 LVM 是否正确识别了新大小
  6. 现在您可以使用以下命令调整 LVM 卷的大小lvresize -l +100%FREE /dev/mapper/VolGroup-lv_root
  7. 最后,使用以下命令调整文件系统本身的大小resize2fs /dev/mapper/VolGroup-lv_root

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

缩小卷在概念上类似,但您必须按照相反的步骤操作,从文件系统缩小开始。附带说明一下,如果您使用 XFS 或其他无法缩小的文件系统,则无法在没有备份/恢复过程的情况下调整 LVM 卷的大小。

答案2

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

答案3

不久前我做过一个指南介绍如何做到这一点,希望对您有所帮助。

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

答案4

这里的问题是您将 LVM(物理卷)放入分区。

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

* pvextend
* lvextend
* resize2fs

在你的情况下,你将必须使用 Live CD 启动或删除分区/dev/sda2并重新创建更大的分区,然后按上述步骤进行

更安全的方法然而

为你的虚拟机创建一个新卷,然后/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

一旦您了解所有层(物理磁盘、分区、物理卷、卷组、逻辑卷),这将是小菜一碟。

相关内容