21.8.2. 扩展磁盘镜像
本节演示了扩展磁盘镜像的简单情况:
- 找到要重新定义的磁盘镜像大小。您可以将 virsh dumpxml GuestName 用于 libvirt 客户机虚拟机。
- 决定您要如何扩展 guest 虚拟机。在客户机虚拟机磁盘中运行 virt-df -h 和 virt-filesystems,如下所示:
# virt-df -h -a /dev/vg_guests/RHEL6 Filesystem Size Used Available Use% RHEL6:/dev/sda1 98.7M 10.0M 83.6M 11% RHEL6:/dev/VolGroup00/LogVol00 6.8G 2.2G 4.3G 32% # virt-filesystems -a disk.img --all --long -h /dev/sda1 ext3 101.9M /dev/sda2 pv 7.9G
以下示例演示了如何进行:
- 将第一个(引导)分区的大小从大约 100MB 增加到 500MB。
- 将总磁盘大小从 8GB 增加到 16GB。
- 扩展第二个分区以填满剩余空间。
- 展开
/dev/VolGroup00/LogVol00
,以在第二个分区中填写新空间。
- 确保已关闭 guest 虚拟机。
- 将原始磁盘重命名为备份。您这样做的方式取决于原始磁盘的主机物理机器存储环境。如果存储为文件,请使用 mv 命令。对于逻辑卷(在这个示例中所示),请使用 lvrename:
# lvrename /dev/vg_guests/RHEL6 /dev/vg_guests/RHEL6.backup
- 创建新磁盘。本例中的要求可扩展到 16GB 的总磁盘大小。因为这里使用逻辑卷,所以使用以下命令:
# lvcreate -L 16G -n RHEL6 /dev/vg_guests Logical volume "RHEL6" created
- 此命令表达了第 2 步的要求:
# virt-resize \ /dev/vg_guests/RHEL6.backup /dev/vg_guests/RHEL6 \ --resize /dev/sda1=500M \ --expand /dev/sda2 \ --LV-expand /dev/VolGroup00/LogVol00
前两个参数是输入磁盘和输出磁盘。-- resize /dev/sda1=500M 重新定义第一个分区最多 500MB。- expand /dev/sda2 扩展第二个分区以填满所有剩余空间。-LV-expand /dev/VolGroup00/LogVol00 扩大客户端虚拟机逻辑卷到第二个分区中。virt-resize 描述了它在输出中执行的操作:Summary of changes: /dev/sda1: partition will be resized from 101.9M to 500.0M /dev/sda1: content will be expanded using the 'resize2fs' method /dev/sda2: partition will be resized from 7.9G to 15.5G /dev/sda2: content will be expanded using the 'pvresize' method /dev/VolGroup00/LogVol00: LV will be expanded to maximum size /dev/VolGroup00/LogVol00: content will be expanded using the 'resize2fs' method Copying /dev/sda1 ... [#####################################################] Copying /dev/sda2 ... [#####################################################] Expanding /dev/sda1 using the 'resize2fs' method Expanding /dev/sda2 using the 'pvresize' method Expanding /dev/VolGroup00/LogVol00 using the 'resize2fs' method
- 尝试启动虚拟机。如果它正常工作(在测试后对其进行彻底测试),您可以删除备份磁盘。如果失败,请关闭虚拟机,删除新磁盘,然后将备份磁盘重新重命名为其原始名称。
- 使用 virt-df 或 virt-filesystems 显示新大小:
# virt-df -h -a /dev/vg_pin/RHEL6 Filesystem Size Used Available Use% RHEL6:/dev/sda1 484.4M 10.8M 448.6M 3% RHEL6:/dev/VolGroup00/LogVol00 14.3G 2.2G 11.4G 16%
请注意,在某些情况下调整客户机虚拟机的大小可能会出现问题。如果 virt-resize 失败,则可以通过一些提示来查看并尝试在 virt-resize(1)man page 中。对于某些较旧的 Red Hat Enterprise Linux 客户机虚拟机,您可能需要特别注意有关 GRUB 的提示。