天天看點

kvm虛拟化學習筆記(十七)之KVM到KVM之v2v遷移

(1).檢視源KVM虛拟主機上的虛拟機清單,本文計劃将CentOS6.5-01虛拟機遷移到其它KVM虛拟主機中。

<code>[root@node1 ~]</code><code># virsh list --all</code>

<code> </code><code>Id    Name                           State</code>

<code>----------------------------------------------------</code>

<code> </code><code>-     CentOS6.5-01                   shut off</code>

<code> </code><code>-     Ser08R2-01                     shut off</code>

<code>[root@node1 ~]</code><code>#</code>

(2).檢視CentOS6.5-01虛拟機磁盤檔案位置/data/kvm/CentOS6.5-01.qcow2。

<code>[root@node1 ~]</code><code># virsh dumpxml CentOS6.5-01</code>

<code>&lt;domain </code><code>type</code><code>=</code><code>'kvm'</code><code>&gt;</code>

<code>  </code><code>&lt;name&gt;CentOS6.5-01&lt;</code><code>/name</code><code>&gt;</code>

<code>  </code><code>&lt;uuid&gt;7d48f7b5-2fbf-91a9-2c3f-e52ba6079c8e&lt;</code><code>/uuid</code><code>&gt;</code>

<code>  </code><code>&lt;memory unit=</code><code>'KiB'</code><code>&gt;1048576&lt;</code><code>/memory</code><code>&gt;</code>

<code>  </code><code>&lt;currentMemory unit=</code><code>'KiB'</code><code>&gt;1048576&lt;</code><code>/currentMemory</code><code>&gt;</code>

<code>  </code><code>&lt;vcpu placement=</code><code>'static'</code><code>&gt;1&lt;</code><code>/vcpu</code><code>&gt;</code>

<code>  </code><code>&lt;os&gt;</code>

<code>    </code><code>&lt;</code><code>type</code> <code>arch=</code><code>'x86_64'</code> <code>machine=</code><code>'rhel6.6.0'</code><code>&gt;hvm&lt;</code><code>/type</code><code>&gt;</code>

<code>    </code><code>&lt;boot dev=</code><code>'hd'</code><code>/&gt;</code>

<code>  </code><code>&lt;</code><code>/os</code><code>&gt;</code>

<code>  </code><code>&lt;features&gt;</code>

<code>    </code><code>&lt;acpi/&gt;</code>

<code>    </code><code>&lt;apic/&gt;</code>

<code>    </code><code>&lt;pae/&gt;</code>

<code>  </code><code>&lt;</code><code>/features</code><code>&gt;</code>

<code>  </code><code>&lt;clock offset=</code><code>'localtime'</code><code>/&gt;</code>

<code>  </code><code>&lt;on_poweroff&gt;destroy&lt;</code><code>/on_poweroff</code><code>&gt;</code>

<code>  </code><code>&lt;on_reboot&gt;restart&lt;</code><code>/on_reboot</code><code>&gt;</code>

<code>  </code><code>&lt;on_crash&gt;restart&lt;</code><code>/on_crash</code><code>&gt;</code>

<code>  </code><code>&lt;devices&gt;</code>

<code>    </code><code>&lt;emulator&gt;</code><code>/usr/libexec/qemu-kvm</code><code>&lt;</code><code>/emulator</code><code>&gt;</code>

<code>    </code><code>&lt;disk </code><code>type</code><code>=</code><code>'file'</code> <code>device=</code><code>'disk'</code><code>&gt;</code>

<code>      </code><code>&lt;driver name=</code><code>'qemu'</code> <code>type</code><code>=</code><code>'qcow2'</code> <code>cache=</code><code>'none'</code><code>/&gt;</code>

<code>      </code><code>&lt;</code><code>source</code> <code>file</code><code>=</code><code>'/data/kvm/CentOS6.5-01.qcow2'</code><code>/&gt;</code>

<code>      </code><code>&lt;target dev=</code><code>'vda'</code> <code>bus=</code><code>'virtio'</code><code>/&gt;</code>

<code>      </code><code>&lt;address </code><code>type</code><code>=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x05'</code> <code>function</code><code>=</code><code>'0x0'</code><code>/&gt;</code>

<code>    </code><code>&lt;</code><code>/disk</code><code>&gt;</code>

(3).源虛拟機KVM存儲池配置簡要過程

<code>[root@node1 ~]</code><code># mkdir -p /data/vmfs</code>

<code>[root@node1 ~]</code><code># virsh pool-define-as vmdisk --type dir --target /data/vmfs</code>

<code>Pool vmdisk defined</code>

<code>[root@node1 ~]</code><code># virsh pool-build vmdisk</code>

<code>Pool vmdisk built</code>

<code>[root@node1 ~]</code><code># virsh pool-autostart vmdisk</code>

<code>Pool vmdisk marked as autostarted</code>

<code>[root@node1 ~]</code><code># virsh pool-start vmdisk</code>

<code>Pool vmdisk started</code>

(4).将虛拟機磁盤檔案移動到存儲池中

<code>[root@node1 ~]</code><code># mv /data/kvm/CentOS6.5-01.qcow2 /data/kvm/CentOS6.5-01_add.qcow2 /data/vmfs/</code>

(1).檢視源KVM虛拟主機上的虛拟機清單

<code>[root@node2 ~]</code><code># virsh list --all</code>

<code>[root@node2 ~]</code><code>#</code>

(2).目标虛拟機KVM存儲池配置簡要過程

<code>[root@node2 ~]</code><code># mkdir -p /data/vmfs</code>

<code>[root@node2 ~]</code><code># virsh pool-define-as vmdisk --type dir --target /data/vmfs</code>

<code>[root@node2 ~]</code><code># virsh pool-build vmdisk</code>

<code>[root@node2 ~]</code><code># virsh pool-autostart vmdisk</code>

<code>[root@node2 ~]</code><code># virsh pool-start vmdisk</code>

說明:計劃将源kvm主機中的CentOS6.5-01虛拟機遷移到目标虛拟機中,原理是直接拷貝虛拟機磁盤檔案與配置檔案到目标虛拟主機上。關鍵點就是源與目标虛拟主機必須采用存儲池配置虛拟機磁盤。

(1).開始遷移

<code>[root@node2 ~]</code><code># virt-v2v -ic qemu+ssh://10.10.172.191/system -op vmdisk -b br0 CentOS6.5-01</code>

(2)遷移完畢,檢視虛拟機狀态

<code> </code> 

<code>[root@node2 ~]</code><code># cd /etc/libvirt/qemu</code>

<code>[root@node2 qemu]</code><code># ls</code>

<code>networks CentOS6.5-01</code>

<code>[root@node2 qemu]</code><code>#</code>

自動在存儲池中拷貝了虛拟機磁盤檔案。

[root@node2 qemu]# ll -h /data/vmfs

total 2.2G

-rw-r--r-- 1 root root 384K Nov 22 17:06 CentOS6.5-01_add.qcow2

-rw-r--r-- 1 root root 2.2G Nov 28 09:53 CentOS6.5-01.qcow2

[root@node2 qemu]# 

測試虛拟機控制台。

<code>[root@node2 qemu]</code><code># virsh console CentOS6.5-01</code>

至此KVM到KVM之v2v遷移成功完成。v2v的遷移方式也是其它靜态遷移方式的補充,也讓kvm虛拟化适用範圍擴大。

本文轉自 dengaosky 51CTO部落格,原文連結:http://blog.51cto.com/dengaosky/2044974,如需轉載請自行聯系原作者

繼續閱讀