kvm克隆

一、本机直接克隆

1、查看虚拟机配置文件获取磁盘文件路径

[root@kvmsuzhu2 ~]# cat /etc/libvirt/qemu/hysen_6101_101.xml |grep 'source file'|grep img
<source file='/data1/vmdisk/hysen_6101_101.img'/>
[root@kvmsuzhu2 ~]# cat /etc/libvirt/qemu/hysen_6101_101.xml |grep '^.*/name>$'
<name>hysen_6101_101</name>

[root@kvmsuzhu2 ~]#

                            克隆前确认主机已经关闭:

[root@kvmsuzhu ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 dev_5974_74 running
14 dev_5954_54 running
- hysen_6101_101 关闭
- openstack_5978_78 关闭 不关闭则克隆会报ERROR Domain with devices to clone must be paused or shutoff.

2、开始克隆

[root@kvmsuzhu2 ~]# virt-clone -o hysen_6101_101 -n hysen_6103_103 -f /data1/vmdisk/hysen_6103_103.img 
正在克隆 hysen_6101_101.img | 30 GB 13:55 
Clone 'hysen_6103_103' created successfully.
克隆已经完成30G的大小!

3、修改vnc端口号,启动主机

[root@kvmsuzhu2 ~]# cat /etc/libvirt/qemu/hysen_6103_103.xml |grep 'vnc'
<graphics type='vnc' port='6101' autoport='no' listen='0.0.0.0'>
[root@kvmsuzhu2 ~]# virsh edit hysen_6103_103 //这里你必须用virsh edit命令编辑配置文件,用vim编辑是不会生效的!
编辑了域 hysen_6103_103 XML 配置。
[root@kvmsuzhu2 ~]# cat /etc/libvirt/qemu/hysen_6103_103.xml |grep 'vnc'
<graphics type='vnc' port='6103' autoport='no' listen='0.0.0.0'>
[root@kvmsuzhu2 ~]# virsh start hysen_6103_103.xml
域 hysen_6103_103 已开始
[root@kvmsuzhu2 ~]# netstat -anltp |grep 6103
tcp 0 0 0.0.0.0:6103 0.0.0.0:* LISTEN 13740/qemu-kvm 
[root@kvmsuzhu2 ~]#

4、修改主机名、ip地址

修改主机名
[root@hysen_6101_101 ~]# vi /etc/sysconfig/network
NETWORKING=yes 
NETWORKING_IPV6=no 
HOSTNAME=hysen_6103_103 
GATEWAY=10.0.1.1
[root@hysen_6101_101 ~]# hostname hysen_6103_103
修改IP地址
[root@hysen_6103_103 ~]# vi /etc/sysconfig/network-script/ifcfg-eth0
# Virtio Network Device 
DEVICE=eth0 
BOOTPROTO=static 
ONBOOT=yes 
HWADDR=52:54:00:ae:1d:7b 
IPADDR=10.0.1.117 
NETMASK=255.255.255.0
重启网卡服务
[root@hysen_6103_103 ~]# service network start 
Bringing up loopback interface: [ OK ] 
Bringing up interface eth0: [ OK ] 
[root@hysen_6103_103 ~]#

二、通过复制xml文件与磁盘文件复制克隆

我们这里还是拿hysen_6101_101虚拟机作为模板机器克隆。同样这种方法也需要模板机器已经关机!

1、复制xml配置文件

[root@kvmsuzhu2 ~]# virsh dumpxml hysen_6101_101 > /etc/libvirt/qemu/hysen_6105_105.xml
[root@kvmsuzhu2 ~]# ls -l /etc/libvirt/qemu/hysen_6105_105.xml
-rw-r--r-- 1 root root 2748 10月 17 17:50 /etc/libvirt/qemu/hysen_6105_105.xml
[root@kvmsuzhu2 ~]#

2、复制hysen_6101_101虚拟机磁盘文件

[root@kvmsuzhu2 ~]# cp /data1/vmdisk/hysen_6101_101.img /data1/vmdisk/hysen_6105_105.img
[root@kvmsuzhu2 ~]# ls /data1/vmdisk/hysen_6105_105.img
/data1/vmdisk/hysen_6105_105.img
[root@kvmsuzhu2 ~]#

3、修改拷贝的配置文件

修改虚拟机的名称:<name>hysen_6105_105</name> 修改uuid编号:<uuid>13178d42-1055-8b94-1411-3c2bdd0e6e7a<</uuid> 修改mac地址:<mac address='54:52:01:11:12:1f'/> 修改disk位置:<source file='/data1/vmdisk/hysen_6105_105.img'/> 修改vnc端口:<graphics type='vnc' port='6105' autoport='no' listen='0.0.0.0'> 此时还是将该配置文件注册进来,无法通过virshedit进行编辑。 [root@kvmsuzhu2 ~]# vim /etc/libvirt/qemu/hysen_6105_105.xml
<name>hysen_6101_101</name>
<uuid>13178d42-1055-8b94-1411-3c2bdd0e6e7a</uuid>
<mac address='54:52:01:11:12:1f’/>
<source file='/data/kvmdisk/cache-server.qcow2'/>
<graphics type='vnc' port='6105' autoport='no' listen='0.0.0.0'>

4、定义新虚拟机配置文件

[root@kvmsuzhu2 ~]# virsh define /etc/libvirt/qemu/hysen_6105_105.xml 
定义域 hysen_6105_105(从 /etc/libvirt/qemu/hysen_6105_105.xml)
[root@kvmsuzhu2 ~]#

5、启动虚拟机并设置开机自启

[root@kvmsuzhu2 ~]# virsh start hysen_6105_105
域 hysen_6105_105 已开始
[root@kvmsuzhu2 ~]# virsh autostart hysen_6105_105
域 hysen_6105_105标记为自动开始
[root@kvmsuzhu2 ~]# virsh list --all |grep hysen_6105_105
237 hysen_6105_105 running
[root@kvmsuzhu2 ~]#

6、vnc连接修改主机名、ip地址

4、修改主机名、ip地址
修改主机名
[root@hysen_6101_101 ~]# vi /etc/sysconfig/network
NETWORKING=yes 
NETWORKING_IPV6=no 
HOSTNAME=hysen_6105_105 
GATEWAY=10.0.1.1
[root@hysen_6101_101 ~]# hostname hysen_6105_105
修改IP地址
[root@hysen_6105_105 ~]# vi /etc/sysconfig/network-script/ifcfg-eth0
# Virtio Network Device 
DEVICE=eth0 
BOOTPROTO=static 
ONBOOT=yes 
HWADDR=54:52:01:11:12:1f 
IPADDR=10.0.1.118 
NETMASK=255.255.255.0
重启网卡服务
[root@hysen_6105_105 ~]# service network start
重启报错:device eth0 does not seem to be present, delaying initialization
如下操作解决:
[root@hysen_6105_105 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules 有说修改文件把eth0和eth1互换的也可以!
[root@hysen_6105_105 ~]# reboot
重启之后再次登陆重启动网卡:
[root@hysen_6105_105 ~]# service network start
Bringing up loopback interface: [ OK ] 
Bringing up interface eth0: [ OK ]

   出自http://www.codesec.net/view/200831.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值