如何克隆KVM虚拟机映像
时间:2019-11-20 08:53:44 来源:igfitidea点击:
在Debian或Ubuntu Linux中,如何克隆KVM虚拟机来做测试?
如何克隆KVM 虚拟机镜像?
在Linux上如何克隆KVM虚拟机映像
克隆虚拟机并生成新的实例
# 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克隆虚拟机
首先关闭现有的虚拟机:
$ 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
克隆一个新的虚拟机,自动生成新存储的路径:
$ 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.
生成了一个新的ubuntu-box1-clone虚拟机。
可以启动或恢复原来的虚拟机:
$ sudo virsh start ubuntu-box1
或者
$ sudo virsh resume ubuntu-box1
接下来,启动ubuntu-box1-clone:
$ sudo virsh start ubuntu-box1-clone
验证一下:
$ virsh list
通过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
如果需要克隆虚拟机并在来宾操作系统中进行操作,请使用virt-sysprep,例如:
# virsh suspend webserv01 # virt-clone --original webserv01 --name webserv02 --file /var/lib/libvirt/images/webserv02-disk01.qcow2 # virsh resume webserv01 # virt-sysprep -d webserv02 --hostname webserv02 --enable user-account,ssh-hostkeys,net-hostname,net-hwaddr,machine-id --keep-user-accounts Hyman --keep-user-accounts root --run 'sed -i "s/192.168.122.16/192.168.122.17/" /etc/network/interfaces'