16.8.2. 扩展磁盘镜像
本节演示了扩展磁盘镜像的简单情况:
- 找到要调整大小的磁盘镜像。您可以为 libvirt guest 虚拟机使用 virsh dumpxml GuestName 命令。
- 决定您需要扩展 guest 虚拟机的方式。在 guest 虚拟机磁盘上运行 virt-df -h 和 virt-list-partitions -lh,如下所示:
# virt-df -h /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-list-partitions -lh /dev/vg_guests/RHEL6 /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-list-partitions 显示新大小:
# virt-df -h /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%
重新定义 guest 虚拟机大小并非精确的科学程度。如果 virt-resize 失败,您可以在 virt-resize(1)man page 中查看和尝试。对于某些较旧的 Red Hat Enterprise Linux 客户机虚拟机,您可能需要特别注意有关 GRUB 的提示。