您的位置:首页 > 其它

KVM系列之虚拟克隆技术

2017-04-28 08:18 288 查看
背景一般情况下,虚拟机承载主机上不止跑一台虚拟机,那么问题来了,如何快速批量部署?难道每台都从头根据系统提示一步一步进行安装?我真会疯掉的,那有没有什么好点的办法解决?办法肯定是有的,可以通过克隆技术制作相同的虚拟机,实现虚拟机快速部署。下面我就简单介绍两种实现方式。
实现方式: 通过“virt-clone”命令,实现虚拟机克隆。
通过复制磁盘、配置文件,实现虚拟机克隆。
虚拟机承载主机系统: CentOS 7.2.1511 X86_64
命令实现前提条件
虚拟机的磁盘格式类型为qcow2。被克隆主机需要关机。

克隆虚拟机
[root@controller ~]# virt-clone --original windows_2k3 --name windows_2k3_01 --file /data/pool/windows_2k3_01
说明:--original:指定克隆系统源--name:指定新虚拟机名称--file:指定新虚拟机存放位置

修改虚拟配置文件
[root@controller ~]# virsh edit windows_2k3_01
<graphics type='vnc' port='-1' autoport='yes'>
改为

<graphics type='vnc' port='5911' autoport='no'>
或者
[root@controller ~]# vim /etc/libvirt/qemu/windows_2k3_01.xml
[root@controller ~]# virsh define /etc/libvirt/qemu/windows_2k3_01.xml
添加VNC窗口
[root@controller ~]# cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:11.service
启动虚拟机
[root@controller ~]# virsh start windows_2k3_01
连接VNC




注意:如果克隆的是linux系统,启动系统后需要处理虚拟网络。
Copy 实现Copy 磁盘镜像、配置文件
[root@controller ~]# cp /data/pool/windows_2k3 /data/pool/windows_2k3_02
[root@controller ~]# cp /etc/libvirt/qemu/windows_2k3.xml /etc/libvirt/qemu/windows_2k3_02.xml
修改配置文件
[root@controller ~]# vim /etc/libvirt/qemu/windows_2k3_02.xml
改为:<name>windows_2k3_02</name>
删除:<uuid>3230baaa-88e9-4289-8c96-d6621c35cd97</uuid>
改为:<source file='/data/pool/windows_2k3_02'/>
删除:<mac address='52:54:00:87:c2:2a'/>
改为:<graphics type='vnc' port='5912' autoport='no'>
[root@controller ~]# virsh define /etc/libvirt/qemu/windows_2k3_02.xml
添加VNC窗口
[root@controller ~]# cp /lib/systemd/system/vncserver@:11.service /lib/systemd/system/vncserver@:12.service
启动虚拟机
[root@controller ~]# virsh start windows_2k3_02
查看虚拟机列表
[root@controller ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
12 windows_2k3_01 running
13 windows_2k3_02 running
- windows_2k3 关闭
连接VNC




信息对比

网络对比



扩展内容 对配置文件不熟悉,修改起来比较困难,能否自动生成配置文件?可以的,只需要复制磁盘镜像,通过执行“virt-install”命令,就可实现自动生成配置文件,前提需要知道被克隆虚拟主机创建时的硬件配置参数(最重要的是磁盘信息)。比如之前创建windows_2k3的命令如下
virt-install -n windows_2k3 -r 1024 -vcpus=1 -c /data/iso/windows_server_2003.iso --disk path=/data/pool/windows_2k3,format=qcow2,size=30,bus=ide --hvm --os-type=windows --vnc --vncport 5910 --network network=default --force --autostart
改为
virt-install -n windows_2k3_03 -r 1024 -vcpus=1 -c /data/iso/windows_server_2003.iso --disk path=/data/pool/windows_2k3_03,format=qcow2,size=30,bus=ide --hvm --os-type=windows --vnc --vncport 5913 --network network=default --force --autostart
注意:只需要修改三个地方:-n 、--disk path、--vncport。
FQAQ:克隆虚拟机能使用远程桌面连接?A:可以,需要在被克隆主机配置固定IP、创建用户密码、开启远程功能,系统克隆后就可使用远程桌面进行连接,连接需要修改IP地址,否则下一虚拟机的克隆会存在IP冲突。
Q:网络有重名A:我的电脑--属性--计算机名--更改--输入新计算机名称--重启系统即可。
Q:克隆linux系统,启动如何处理网络问题?A:需要处理70-persistent-net.rules和ifcfg-eth0文件[root@KVM_Clinet ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules[root@KVM_Clinet ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0删除MAC跟UUID,还可以手动配置静态IP(不是比改项),然后重启系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息