使用 GParted 在 Ubuntu 上调整 KVM 虚拟服务器磁盘大小

使用 GParted 在 Ubuntu 上调整 KVM 虚拟服务器磁盘大小

我们在 KVM 上安装了 Ubuntu 14.04 服务器,MySQL 数据库已接近填满其磁盘空间(80 GB)。我们已将服务器升级到 160 GB 磁盘,但问题是新磁盘空间尚未分配。

有人建议我运行 GParted,所以我这样做了(请参阅所附的屏幕截图)并找到了一些关于如何调整磁盘大小的教程,但是当我单击“调整大小”时,它不允许调整 /dev/vda5 的大小,可能是因为它在 /dev/vda2 扩展分区之外。

分区

我需要将 /dev/vda5 从 80 GB 扩展到 160 GB不会丢失数据。我想确保我不会做错(这也是为什么我没有自己做任何实验)。所以如果有人知道如何一步一步地做,这样就不会出错,我会非常感激。

我也可以运行另一个工具,但我想那会困难得多。

更新 1: 我已经尝试过 system-config-lvm,但我处于相同的情况,图片如下:

lvm

再次,它不允许调整大小,因为剩余空间为零。

更新 2:

# fdisk -l -s /dev/vda

Disk /dev/vda: 171.8 GB, 171798691840 bytes
16 heads, 63 sectors/track, 332881 cylinders, total 335544320 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: 0x0006f748

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048      499711      248832   83  Linux
/dev/vda2          501758   167770111    83634177    5  Extended
/dev/vda5          501760   167770111    83634176   8e  Linux LVM

更新 3:

我在 VMware 中本地设置了一台类似的机器。在我的本地设置中,/dev/sda* 而不是 /dev/vda*,磁盘大小为 20 GB 而不是 80 GB,我想要添加的新空间为 30 GB 而不是 80 GB,其他方面都一样。我在 GParted 中看到的情况与真实服务器完全相同,/dev/sda5 无法调整大小。以下是我使用 fdisk 的尝试:

# fdisk -l -s /dev/sda

Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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: 0x0003ce62

   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

在这里我可以看到 /dev/sda2(本地虚拟机)甚至与 /dev/vda2(真实服务器)在同一个扇区上启动。/dev/sda5 和 /dev/vda5 也是如此。

# fdisk /dev/sda

Command (m for help): d
Partition number (1-5): 5

Command (m for help): d
Partition number (1-5): 2

Command (m for help): u
Changing display/entry units to cylinders (DEPRECATED!)

Command (m for help): u
Changing display/entry units to sectors

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
Partition number (1-4, default 2): 2
First sector (499712-104857599, default 499712): 501758
Last sector, +sectors or +size{K,M,G} (501758-104857599, default 104857599):
Using default value 104857599

Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (503806-104857599, default 503806): 501760
Value out of range.
First sector (503806-104857599, default 503806): ^C

这就是为什么我猜测真正的服务器也会在这里失败。请注意,我使用了两次“u”命令,因为它已经处于“扇区”模式。

答案1

您操作的顺序错误。请按照以下步骤操作:

  • 第一的,备份你的数据(并拍摄快照)
  • 使用 GParted 调整大小首先是 /dev/vda2/dev/vda5 之后
  • 重新启动虚拟机
  • 使用pvresize /dev/vda5lvresize分别调整物理卷和逻辑卷的大小。

编辑:如何使用 fdisk 调整分区大小要调整分区大小,恰恰按着这些次序:

  • 第一的,备份你的数据(并拍摄快照)
  • 发射fdisk /dev/vda
  • d(删除)并删除分区 5
  • d(删除)并删除分区 2
  • 按下u将单位更改为扇区(无论如何应该是默认的)
  • n(新建)并创建一个新的扩展分区,使用所有可用空间。这是至关重要的一步。作为第一个扇区,输入501758;作为最后一个扇区,只需使用默认值
  • n(新建)并创建一个逻辑分区。这是至关重要的一步。作为第一个扇区,使用默认值(是错的,但我们稍后会更改它);作为最后一个扇区,只需使用默认值
  • t(类型),选择分区 n.5,然后输入代码8e(LVM)
  • 按下x(专家模式)
  • b(更改分区的开头)并选择分区 5
  • 当询问“数据的新开始”时,输入501760
  • r(return) 返回 fdisk 主菜单
  • p(打印)打印分区表并再三检查是否正确
  • 按下w(写入磁盘)
  • 重新启动虚拟机
  • 在虚拟机中,输入pvresize /dev/vda5。现在,您的物理卷已调整大小
  • 您现在可以调整逻辑卷的大小。假设您的卷组名为vg,逻辑卷名为lv,并且其上有一个 ext4 文件系统,则可以使用以下命令调整其大小:lvresize vg/lv -l +100%FREE; resize2fs /dev/vg/lv

答案2

首先,您需要扩展 LVM。(实际上……首先您需要备份您的数据:P)

请参阅此处@cao-minh-tu 的第二个回答。

https://askubuntu.com/questions/196125/how-can-i-resize-an-lvm-partition-ie-physical-volume

相关内容