1. 程式人生 > >kvm虛擬化學習筆記(十四)之kvm虛擬機靜態遷移

kvm虛擬化學習筆記(十四)之kvm虛擬機靜態遷移

虛擬主機 kvm 虛擬機遷移 kvm虛擬化

這裏提到的靜態遷移同是基於KVM虛擬主機之間的遷移,非異構虛擬化平臺的靜態遷移。


1.靜態遷移就是虛擬機在關機狀態下,拷貝虛擬機虛擬磁盤文件與配置文件到目標虛擬主機中,實現的遷移。

(1)虛擬主機各自使用本地存儲存放虛擬機磁盤文件

本文實現基於本地磁盤存儲虛擬機磁盤文件的遷移方式,

(2)虛擬主機之間使用共享存儲存放虛擬機磁盤文件

該方式只是在目標虛擬主機上重新定義虛擬機就可以了。

2.靜態遷移過程如下

(1)確定虛擬機關閉狀態

[root@node1 ~]# virsh list --all
 Id    Name                        State
----------------------------------------------------
 -     CentOS6.5-01                   shut off
 -     CentOS6.5-02                   shut off
 -     CentOS6.5-03                   shut off
 -     Ser08R2-01                    shut off

[root@node1 ~]#

(2)準備遷移CentOS6.5-02虛擬機,查看該虛擬機配置的磁盤文件

[root@node1 ~]# virsh domblklist CentOS6.5-02  
Target     Source
------------------------------------------------
vda        /data/kvm/CentOS6.5-02.img
hdc        -

[root@node1 ~]#

(3)導入虛擬機配置文件

[root@node1 ~]# virsh dumpxml CentOS6.5-02 > /root/CentOS6.5-02.xml 
[root@node1 ~]# ll
total 100
-rw-------. 1 root root  1536 Nov 15  2016 anaconda-ks.cfg
-rw-r--r--  1 root root  2781 Nov 27 15:45 CentOS6.5-02.xml
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Desktop
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Documents
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Downloads
-rw-r--r--. 1 root root 43152 Nov 15  2016 install.log
-rw-r--r--. 1 root root  9360 Nov 15  2016 install.log.syslog
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Music
-rw-r--r--  1 root root     0 Nov 27 15:30 node1.txt
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Pictures
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Public
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Templates
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Videos
[root@node1 ~]#

(4)拷貝配置文件到目標虛擬主機上。

[root@node1 ~]# scp CentOS6.5-02.xml 10.10.172.192:/etc/libvirt/qemu/
[email protected]'s password: 
CentOS6.5-02.xml                                                    100% 2781     2.7KB/s   00:00    
[root@node1 ~]# 
[root@node1 ~]#

(5)查看虛擬機磁盤文件並拷貝到目標虛擬主機。

[root@node1 ~]# cd /data/kvm/
[root@node1 kvm]# ll
total 20806040
-rw-r--r-- 1 root root    393216 Nov 22 17:06 CentOS6.5-01_add.qcow2
-rwxr-xr-x 1 root root  7516192768 Nov 22 15:08 CentOS6.5-01.img
-rw-r--r-- 1 root root  2318139904 Nov 27 15:40 CentOS6.5-01.qcow2
-rwxr-xr-x 1 root root  7516192768 Nov 22 13:52 CentOS6.5-02.img
-rwxr-xr-x 1 root root  7516192768 Nov 22 14:39 CentOS6.5-03.img
-rwxr-xr-x 1 root root  10737418240 Nov 22 14:40 Ser08R2-01.img
[root@node1 kvm]#

拷貝虛擬磁盤文件

[root@node1 kvm]# scp CentOS6.5-02.img 10.10.172.192:/data/kvm/
[email protected]'s password: 
CentOS6.5-02.img                                                    100% 7168MB 140.6MB/s   00:51    
[root@node1 kvm]# 
[root@node1 kvm]#

3.目標虛擬主機上

上面已經將虛擬機磁盤文件與配置文件都已經復制到目標虛擬主機上了。下面開始配置與啟動。

(1)查看目標虛擬主機環境。

[root@node2 ~]# virsh list --all        
 Id    Name                           State
----------------------------------------------------

[root@node2 ~]# 
[root@node2 ~]# ll /etc/libvirt/qemu   
total 8
-rw-r--r--. 1 root root 2781 Nov 27 08:06 CentOS6.5-02.xml
drwx------. 3 root root 4096 Nov 27 07:57 networks
[root@node2 ~]# 
[root@node2 ~]#

查看虛擬機磁盤文件,目錄結構與源虛擬主機一致。

[root@node2 ~]# cd /data/kvm/
[root@node2 kvm]# ll
total 7340036
-rwxr-xr-x. 1 root root 7516192768 Nov 27 08:13 CentOS6.5-02.img
[root@node2 kvm]# 
[root@node2 kvm]#

(2)定義註冊虛擬主機

[root@node2 ~]# 
[root@node2 ~]# 
[root@node2 ~]# virsh define /etc/libvirt/qemu/CentOS6.5-02.xml 
Domain CentOS6.5-02 defined from /etc/libvirt/qemu/CentOS6.5-02.xml

[root@node2 ~]# 
[root@node2 ~]#


(3)啟動虛擬主機並確認

[root@node2 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     CentOS6.5-02                   shut off

[root@node2 ~]# 
[root@node2 ~]# virsh start CentOS6.5-02
Domain CentOS6.5-02 started

[root@node2 ~]# 
[root@node2 ~]# virsh console CentOS6.5-02
Connected to domain CentOS6.5-02
Escape character is ^]

CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

CentOS6.5-02 login: root
Password: 
Last login: Wed Nov 22 05:41:25 on ttyS0
[root@CentOS6 ~]# 
[root@CentOS6 ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 52:54:00:77:D9:F4  
          inet addr:10.10.172.243  Bcast:10.10.172.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe77:d9f4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:242 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:22894 (22.3 KiB)  TX bytes:566 (566.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[root@CentOS6 ~]#

至此虛擬機靜態遷移完成。



kvm虛擬化學習筆記(十四)之kvm虛擬機靜態遷移