KVM——複製xml文件與磁盤文件克隆虛擬機

kvm虛擬機克隆有以下兩種方式: 
centos

    1.KVM本機虛擬機直接克隆   
bash

    2.經過複製xml文件與磁盤文件複製克隆 (適用於異機的靜態遷移和狀態保存便於之後使用)。ide


本次主要介紹如何複製xml文件與磁盤文件克隆虛擬機:ui


簡易版原理圖:
A(模板)            B(克隆)
disk                disk
xml                 xml
須要更改內容          會變的內容

udev-mac            uuid
yum                 name
console=ttyS0        mac
網卡配置裏的mac       disk

註釋:spa

A爲模板,爲了避免和B(克隆機)起衝突,主要是硬盤和網卡衝突,須要把A的udev註釋,順手配置好yum,console=ttyS0支持命令行操做,把網卡的uuid,mac信息刪掉。命令行

B爲克隆機,爲了區分出來,不和A起衝突,須要把uuid和mac刪掉,把name和disk路徑改爲B的名字。orm

1.開機,進入模板主機,打開udev文件,註釋裏面內容,防止網卡複製爲eth1
2.配置/etc/grub.conf里加console=ttyS0  支持命令行console模式開啓虛擬機
3.cd /var/lib/libvirt/p_w_picpaths/
4.ls一下查看是否爲qcow2模式
5.yum可配可不配
6.關機
7.qemu-img convert -f raw -O qcow2 sourcename.raw centos.qcow2
virsh edit centos6(把raw修改qcow2)
注:若是是硬盤類型是raw類型的,不支持克隆,須要轉化,若是是qcow2類型,此步則忽略。


實驗步驟:xml

1.複製配置文件與磁盤文件克隆      虛擬機

[root@localhost p_w_picpaths]# qemu-img create -f qcow2 -b rhel6.qcow2 GHOST
Formatting 'GHOST', fmt=qcow2 size=8589934592 backing_file='rhel6.qcow2' encryption=off cluster_size=65536 
[root@localhost p_w_picpaths]# qemu-img create -f qcow2 -b rhel6.qcow2 ClientA
Formatting 'ClientA', fmt=qcow2 size=8589934592 backing_file='rhel6.qcow2' encryption=off cluster_size=65536 
[root@localhost p_w_picpaths]# qemu-img create -f qcow2 -b rhel6.qcow2 ClientB
Formatting 'ClientB', fmt=qcow2 size=8589934592 backing_file='rhel6.qcow2' encryption=off cluster_size=65536

2.對比文件,備份模板虛擬機的配置文件it

[root@localhost p_w_picpaths]# du -m rhel6.qcow2 
223    rhel6.qcow2
[root@localhost p_w_picpaths]# du -m GHOST
1    GHOST
[root@localhost p_w_picpaths]# virsh list --all
 Id    名稱                         狀態
----------------------------------------------------
 -     rhel6                        關閉
 克隆三個虛擬機,數量本身定
[root@localhost p_w_picpaths]# virsh dumpxml rhel6 > /etc/libvirt/qemu/ghost.xml 
[root@localhost p_w_picpaths]# virsh dumpxml rhel6 > /etc/libvirt/qemu/clienta.xml
[root@localhost p_w_picpaths]# virsh dumpxml rhel6 > /etc/libvirt/qemu/clientb.xml
[root@localhost p_w_picpaths]#

3.編輯克隆虛擬機的配置文件

(更改name,刪除UUID,修改source路徑名,刪除mac)
[root@localhost p_w_picpaths]# vi /etc/libvirt/qemu/ghost.xml 
[root@localhost p_w_picpaths]# vi /etc/libvirt/qemu/clienta.xml 
[root@localhost p_w_picpaths]# vi /etc/libvirt/qemu/clientb.xml 
[root@localhost p_w_picpaths]# 
注:因爲都須要進配置文件,就不貼出來了,反正就是更改這四個地方。

4.定義新虛擬機的配置文件

[root@localhost p_w_picpaths]# virsh define /etc/libvirt/qemu/ghost.xml 
定義域 dhcp(從 /etc/libvirt/qemu/ghost.xml)

[root@localhost p_w_picpaths]# virsh define /etc/libvirt/qemu/clienta.xml 
定義域 clienta(從 /etc/libvirt/qemu/clienta.xml)

[root@localhost p_w_picpaths]# virsh define /etc/libvirt/qemu/clientb.xml 
定義域 clientb(從 /etc/libvirt/qemu/clientb.xml)

5.使用虛擬機

virsh list --all
virsh start ghost
virsh console ghost

結束語:      

   本次實驗適用於在沒有圖形化的條件下如何實現克隆虛擬機,作技術就是須要擁有一顆永不磨滅的好奇心。
相關文章
相關標籤/搜索