KVM克隆

虚拟机域的克隆

克隆
手动克隆(完整克隆)
很简单的一条命令,就已经完成了克隆。那么,我们除了用这条命令能够克隆之外,我们想一下,能不能够用手动的方式克隆那?答案是可以的,kvm的虚拟机有2两个文件,一个磁盘,一个配置文件,好的,那么我们就来手动的克隆一台虚拟机。
在克隆之前,我们先把刚刚克隆的先删除。
1.手动克隆(完整克隆)
test01---------test02

###删除之前,先关机(关电源)
[root@localhost kvm-vm]# virsh destroy test01-clone
域 test01-clone 被删除

[root@localhost kvm-vm]# virsh destroy test02
域 test02 被删除

[root@localhost kvm-vm]# virsh list --all
Id 名称 状态

  • test01 关闭
  • test01-clone 关闭
  • test02 关闭
    ###取消定义也就是删除
    [root@localhost kvm-vm]# virsh undefine test02
    域 test02 已经被取消定义

[root@localhost kvm-vm]# virsh undefine test01-clone
域 test01-clone 已经被取消定义
好的,正式开始手动克隆虚拟机。
1)复制xml配置文件
[root@localhost ~]# cd /etc/libvirt/qemu/
//进入虚拟机配置文件存放目录
[root@localhost qemu]# cp test01.xml test02.xml
//复制虚拟机配置文件
2)复制磁盘文件
[root@localhost qemu]# cd /kvm-vm/
//进入虚拟机磁盘放置目录
[root@localhost kvm-vm]# cp centos.raw test02.raw
//复制虚拟机磁盘文件
3)修改配置文件并重新产生一个虚拟机
a: name字段
b:删除UUID
C:删除mac addres
d:修改磁盘路径以及名称
[root@localhost qemu]# virsh define test02.xml
[root@localhost kvm-vm]# cd /etc/libvirt/qemu/
[root@localhost qemu]# vim test02.xml
<name>test02</name> 改名
<uuid>01bc3bb7-4a3c-46aa-b3b1-2e3f145d382a</uuid> 删除
<mac address='52:54:00:01:dd:c9'/> 删除
<source file='/kvm-vm/test02.raw'/> 更改磁盘名称
[root@localhost qemu]# virsh define test02.xml
定义域 test02(从 test02.xml)

[root@localhost qemu]# virsh list --all
Id 名称 状态

  • test01 关闭
  • test02 关闭

[root@localhost qemu]# virsh start test02
域 test02 已开始

[root@localhost qemu]# virsh list --all
Id 名称 状态

4 test02 running

  • test01 关闭

链接克隆

【o】测试修改两台虚拟机磁盘文件改为同一台看看有没有问题
[root@localhost qemu]# virsh edit test02
//修改test02虚拟机磁盘路径
<source file='/kvm-vm/centos.raw'/> 更改磁盘名称
开启虚拟机
[root@localhost qemu]# virsh start test02
域 test02 已开始
[root@localhost qemu]# virsh start test01
域 test01 已开始
查看两台虚拟机vnc接口
[root@localhost qemu]# virsh vncdisplay test01
:1
[root@localhost qemu]# virsh vncdisplay test02
:0
重启两台kvm虚拟机(一台一台开)
然后先登录一台做一些操作,然后打开第二台,会发现进不去。
1)做一个链接的磁盘,然后第二个新的虚拟机更改xml配置文件,磁盘信息指定新的链接磁盘。
qemu-img create -f qcow2 -b centos.raw test02.qcow2
[root@localhost qemu]# cd /kvm-vm/
[root@localhost kvm-vm]# rm -rf test02.raw
[root@localhost kvm-vm]# qemu-img create -f qcow2 -b centos.raw test02.qcow2
Formatting 'test02.qcow2', fmt=qcow2 size=10737418240 backing_file='centos.raw' encryption=off cluster_size=65536 lazy_refcounts=off
[root@localhost kvm-vm]# qemu-img info test02.qcow2
image: test02.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
backing file: centos.raw
Format specific information:
compat: 1.1
lazy refcounts: false

[root@localhost kvm-vm]# virsh edit test02
编辑了域 test02 XML 配置。
<driver name='qemu' type='qcow2'/>
<source file='/kvm-vm/test02.qcow2'/>

虚拟机的克隆(完整自动克隆)

1) 关闭虚拟机
[root@localhost kvm-vm]# virsh destroy test01
2)克隆虚拟机
[root@localhost kvm-vm]# virt-clone -h
//查看克隆的指令
[root@localhost kvm-vm]# virt-clone --auto-clone -o test01
//克隆test01虚拟机
正在分配 'centos-clone.raw' | 10 GB 00:16

成功克隆 'test01-clone'。

###加上-n 参数可以给克隆的虚拟机重新命名。
[root@localhost ~]# virt-clone --auto-clone -o test01 -n test02
//克隆test01并命名为test02
正在分配 'centos-clone-1.raw' | 10 GB 00:20

成功克隆 'test02'。
[root@localhost kvm-vm]# virsh list –all
//查看所有虚拟机状态
Id 名称 状态

  • test01 关闭
  • test01-clone 关闭
  • test02 关闭

3)开启虚拟机
[root@localhost kvm-vm]# virsh start test01-clone
KVM克隆
[root@localhost kvm-vm]# virsh start test02
KVM克隆
[root@localhost kvm-vm]# virsh list
//查看虚拟机状态
Id 名称 状态

2 test01-clone running
3 test02 running
都可以正常启动,那么,说明克隆成功。查看一下磁盘文件和配置文件也都是存在的。

4)查看磁盘文件
[root@localhost kvm-vm]# ls /kvm-vm/
KVM克隆
5) 查看配置文件
[root@localhost kvm-vm]# ls /etc/libvirt/qemu
KVM克隆

猜你喜欢

转载自blog.51cto.com/14320361/2455697
KvM