如何在Linux上克隆现有的KVM虚拟机镜像
时间:2020-01-09 14:16:57 来源:igfitidea点击:
如何在KVM下克隆现有的虚拟机镜像?
说明:您可以使用一个名为virt-clone的简单命令。
它是一个命令行实用程序,用于使用libvirt虚拟机管理程序管理库克隆现有的虚拟机镜像。
它将复制任何现有虚拟机的磁盘镜像,并使用相同的虚拟硬件配置定义新的guest虚拟机。
需要唯一性的元素将被更新,以避免新旧访客之间发生冲突。
如何在Linux上克隆现有的KVM虚拟机镜像
克隆虚拟机并在KVML中产生新实例
# virt-clone --original {Domain-Vm-Name-Here} --auto-clone
或者
# virt-clone --original {Domain-Vm-Name-Here} --name {New-Domain-Vm-Name-Here} --auto-clone
或者
# virt-clone --original {Domain-Vm-Name-Here} \ --name {New-Domain-Vm-Name-Here} --file {/var/lib/libvirt/images/File.Name.here}
示例:使用virt-clone克隆来宾
具有要克隆的设备的第一个VM /域必须暂停或关闭。
要正常关闭名为ubuntu-box1的域,请运行:
$ sudo virsh shutdown ubuntu-box1
或者您可以按以下方式暂停它:
$ sudo virsh suspend ubuntu-box1 $ virsh list
输出示例:
Domain ubuntu-box1 suspended Id Name State --------------------------------------------------- 1 freebsd running 5 ubuntu-box1 paused
让我们生成一个新的来宾名称,并为名为ubuntu-box1的虚拟机自动生成新存储的路径
$ sudo virt-clone --original ubuntu-box1 --auto-clone
输出示例:
WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'ubuntu-box-1-clone.qcow2' | 40 GB 00:00:04 Clone 'ubuntu-box1-clone' created successfully.
上面的命令在默认连接上克隆了名为demo的guest虚拟机,并自动生成了一个新名称ubuntu-box1-clone和磁盘克隆路径。
您可以启动或恢复原始域:
$ sudo virsh start ubuntu-box1
或者
$ sudo virsh resume ubuntu-box1
接下来,启动ubuntu-box1-clone,执行:
$ sudo virsh start ubuntu-box1-clone
验证一下:
$ virsh list
我的dhcpd服务器为ubuntu-box1-clone VM提供了192.168.2.147 IP地址,运行:
$ ping -c2 192.168.2.147
最后,将ssh输入框:
$ ssh [email protected]
请注意,virt-clone不会在来宾操作系统内进行任何更改,它仅复制磁盘并进行主机端更改。
因此,更改密码,更改静态IP地址,ssh密钥,主机名等操作不在此工具的范围内。
使用ssh登录到克隆的VM后,您可以更改以下内容:
$ ssh [email protected] $ sudo -s # echo 'ubuntu-box1-clone' > /etc/hostname # sed -i 's/ubuntu-box1/ubuntu-box1-clone/g' /etc/hosts # reboot # /bin/rm -v /etc/ssh/ssh_host_* # dpkg-reconfigure openssh-server # passwd Hyman