Red Hat Training
A Red Hat training course is available for RHEL 8
8.3. 使用命令行界面克隆虚拟机
要使用特定属性集(如为测试目的)快速创建新虚拟机,您可以克隆现有的虚拟机。要使用 CLI 完成此操作,请遵循以下步骤。
先决条件
- 源虚拟机被关闭。
- 确保有足够的磁盘空间来存储克隆的磁盘镜像。
- 可选: 在创建多个虚拟机克隆时,从源虚拟机中删除唯一数据和设置,以确保克隆的虚拟机正常工作。具体说明请参阅 创建虚拟机模板。
流程
使用
virt-clone
工具以及适合您环境和用例的选项。使用案例示例
以下命令克隆一个名为 doppelganger 的本地虚拟机 ,并创建 doppelganger-clone 虚拟机。它还在与原始虚拟机磁盘镜像相同的位置,使用相同的数据创建 doppelganger-clone.qcow2 磁盘镜像:
# virt-clone --original doppelganger --auto-clone Allocating 'doppelganger-clone.qcow2' | 50.0 GB 00:05:37 Clone 'doppelganger-clone' created successfully.
以下命令克隆一个名为 geminus1 的虚拟机,并创建一个名为 geminus2 的本地虚拟机,它只使用 geminus1的多个磁盘中的两个。
# virt-clone --original geminus1 --name geminus2 --file /var/lib/libvirt/images/disk1.qcow2 --file /var/lib/libvirt/images/disk2.qcow2 Allocating 'disk1-clone.qcow2' | 78.0 GB 00:05:37 Allocating 'disk2-clone.qcow2' | 80.0 GB 00:05:37 Clone 'geminus2' created successfully.
要将虚拟机克隆到其他主机,请迁移虚拟机而无需在本地主机上取消它。例如,以下命令将之前创建的 geminus2 虚拟机克隆到 10.0.0.1 远程系统,包括本地磁盘。请注意,使用这些命令还需要 100.0.1 的 root 权限。
# virsh migrate --offline --persistent geminus2 qemu+ssh://root@10.0.0.1/system root@10.0.0.1's password: # scp /var/lib/libvirt/images/disk1-clone.qcow2 root@10.0.0.1/user@remote_host.com://var/lib/libvirt/images/ # scp /var/lib/libvirt/images/disk2-clone.qcow2 root@10.0.0.1/user@remote_host.com://var/lib/libvirt/images/
验证
验证虚拟机是否已成功克隆,且正在正常工作:
确认克隆已添加到主机上的虚拟机列表中。
# virsh list --all Id Name State --------------------------------------- - doppelganger shut off - doppelganger-clone shut off
启动克隆并观察它是否引导。
# virsh start doppelganger-clone Domain 'doppelganger-clone' started
其它资源
-
virt-clone
手册页 - 迁移虚拟机