如何增加KVM guest虚拟机上的根分区

我有一个kvm guest,如下所示,guest虚拟机磁盘/dev/vda实际上是Host中的一个qcow2文件

 [root@guest ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@guest ~]# uname -a Linux guest 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@guest ~]# parted -l Model: Virtio Block Device (virtblk) Disk /dev/vda: 64.4GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 8590MB 8589MB primary xfs boot 

但我只看到8Gdf命令,我怎样才能增加根分区到64G ? 我已经尝试xfs_growfs /dev/vda1 ,但不起作用

 [root@guest ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 8.0G 1.1G 6.9G 14% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 17M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/0 

首先,这可能与虚拟化无关。 据分析,我认为你在一个64GB的磁盘上使用了一个8GB的单分区。

如果你真的需要放大这个分区,那么你可以运行它来扩大你的分区。 我通常使用fdisk,而不仅仅是出于历史原因。 但分手应该是这样的:

 parted /dev/vda1 resizepart 1 64G 

只有在稍后您才能运行xfs_growfs来利用额外的空间。 作为选项,您可以交互式运行它,首先发出一个命令来显示扇区:

 (parted) unit s 

那么一个命令显示扇区中的驱动器大小(驱动器的实际大小):

 (parted) print ... Disk /dev/vda: (the number of sectors here) 

最后是将分区#1调整到该数字的命令。

如果parted没有提供resize命令,那么只有一个选项:记下起始块号,分区types(primary),分区id(应该是83),然后删除分区并重新创build完全相同的起始块,types和ID,而结束块将被设置为最后一个可用(由parted命令报告)。

作为一个选项,你可以使用fdisk ,只要该工具可用。 在这种情况下,您应该运行:

sudo fdisk / dev / vda

并给出命令p以打印当前的分区表。 例如:

 Disk /dev/sda: 111,8 GiB, 120034123776 bytes, 234441648 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 Disklabel type: dos Disk identifier: 0x00070c95 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 218028031 218025984 104G 83 Linux 

使用fdisk你只需删除分区并重新创build它:它会build议你尽可能大。

 Command (m for help): d Selected partition 1 Partition 1 has been deleted. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-234441647, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-234441647, default 234441647): Created a new partition 1 of type 'Linux' and of size 111,8 GiB. Command (m for help): p Disk /dev/sda: 111,8 GiB, 120034123776 bytes, 234441648 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 Disklabel type: dos Disk identifier: 0x00070c95 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 234441647 234439600 111,8G 83 Linux 

然后,您将发出一个命令w将更改写入磁盘。 强烈build议在放大文件系统之前重新启动。

最后,我build议你使用df -H而不是df -h这样所显示的数字将与parted -l匹配。