Xen虛擬化進階篇-Xen平臺下虛擬機的實時遷移

Xen的虛擬機的實時遷移簡介

Xen爲我們提供了一種強大的功能,它就是動態遷移法。它能讓Domain在運行期間,以最小的服務中斷爲代價,將Domain遷移到另外的Xen 服務器上。

 

使用Xen動態遷移的主要優點列舉如下:

1.Xen的動態遷移隨同諸如heartbeat之類的高可用性解決方案一起使用,能給我們帶來一個“永不拋錨”的系統。最新版本的Enterprise SUSE Linux Server Red Hat EnterpriseLinux 也是利用Xen來提供各種高可用性解決方案的。您可以輕而易舉的滿足各種服務的苛刻要求,同時還能保證所有關鍵商業服務不會出現中斷。

2.它使我們能夠以“治未病”方式來維護寄放虛擬機的物理服務器。您可以監視服務器,然後通過轉移系統來即時解決潛在的和可疑的問題。

3.它使得在多個服務器之間實現負載均衡成爲可能,使我們能夠更好地利用企業中的所有計算資源,使其利用情況達到最佳狀態。需要注意的是,Xen的開源版本目前還不支持在dom0上感應到故障時自動進行動態遷移的功能。

4.它使得在需要時向系統配置添加計算能力變得更加輕鬆。

5.您可以根據需要更換硬件,而無需中斷運行在該硬件上的服務。

 

只知道動態遷移的好處還不夠,現在就實現Xen的動態實時遷移。

 

實驗介紹:

1.存在一臺iSCSI共享存儲,iSCSI存儲被兩臺Xen虛擬化平臺使用;

2.實驗環境存在兩臺Xen的虛擬化平臺,其中一個虛擬化平臺上存在一個簡單的busybox虛擬機,其映像文件存放在iSCSI共享存儲上;這裏我在兩個虛擬化平臺都做了簡單的busybox虛擬機;

3.Xen虛擬化平臺間實現實時遷移其中一臺busybox虛擬機實例;

 

實驗架構圖:

wKiom1TWDnzRXOv-AAI697c_t-c632.jpg

 

實驗實現:

.構建iSCSI共享存儲

1.iSCSI服務器構建

格式化磁盤:
# echo -n -e"n\np\n3\n\n+5G\nt\n3\n8e\nw\n" |fdisk /dev/sda
# partx -a /dev/sda
# fdisk -l /dev/sda3
 
Disk /dev/sda3: 5378 MB, 5378310144 bytes
255 heads, 63 sectors/track, 653 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000

 

安裝iSCSI服務器端軟件:

# yum install -y scsi-target-utils

 

編輯iSCSI服務器的配置文件:

# vim /etc/tgt/targets.conf
#添加如下內容;
<target iqn.2015-02.com.stu31:t1>
       backing-store /dev/sda3
       initiator-address 172.16.31.0/24
</target>

 

配置完成後即可啓動iscsi服務器:

# service tgtd start

 

查看共享設備:

# tgtadm --lld iscsi -m target -o show
Target 1: iqn.2015-02.com.stu31:t1
   System information:
       Driver: iscsi
       State: ready
   I_T nexus information:
   LUN information:
       LUN: 0
           Type: controller
           SCSI ID: IET     00010000
           SCSI SN: beaf10
           Size: 0 MB, Block size: 1
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: null
           Backing store path: None
           Backing store flags:
       LUN: 1
           Type: disk
           SCSI ID: IET     00010001
           SCSI SN: beaf11
           Size: 5378 MB, Block size: 512
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: rdwr
           Backing store path: /dev/sda3
           Backing store flags:
   Account information:
   ACL information:
       172.16.31.0/24

 

2.iSCSI客戶端的安裝和配置

兩個Xen虛擬化平臺節點安裝iSCSI客戶端軟件:

#yum install -y iscsi-initiator-utils

 

啓動iSCSI客戶端:

# service iscsi start

# service iscsid start

 

讓客戶端發現iSCSI服務器共享的存儲:

# iscsiadm -m discovery -t st -p172.16.31.3

172.16.31.3:3260,1 iqn.2015-02.com.stu31:t1

 

註冊iscsi共享設備,節點登錄,

# iscsiadm -m node -Tiqn.2015-02.com.stu31:t1 -p 172.16.31.3 -l
Logging in to [iface: default, target:iqn.2015-02.com.stu31:t1, portal: 172.16.31.3,3260] (multiple)
Login to [iface: default, target:iqn.2015-02.com.stu31:t1, portal: 172.16.31.3,3260] successful.

 

查看iSCSI存儲:

# fdisk -l /dev/sdb
 
Disk /dev/sdb: 5378 MB, 5378310144 bytes
166 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 10292 * 512 = 5269504bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000

 

登錄後就可以格式化磁盤和分區了:

# echo -e "n\np\n1\n\n+2G\nw\n"|fdisk /dev/sdb
# partx -a /dev/sdb
查看格式化後的磁盤:
# fdisk -l /dev/sdb
 
Disk /dev/sdb: 5378 MB, 5378310144 bytes
166 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 10292 * 512 = 5269504bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x8e1d9dd0
 
  Device Boot      Start         End      Blocks  Id  System
/dev/sdb1               1         409    2104683   83  Linux

 

 

.客戶端節點Xen虛擬化環境構建

由於是兩個Xen虛擬化節點,我這裏已經有一個現成的okXen虛擬化節點,我們再添加一個虛擬化節點,當作事例提供;

1.配置xenyum

# vim /etc/yum.repos.d/xen4.repo
[xen4]
name=Xen4 For CentOS6
baseurl=ftp://172.16.0.1/pub/Sources/6.x86_64/xen4centos/x86_64/
gpgcheck=0
清空現有yum庫緩存:
# yum clean all

 

2.安裝xen-4.2.5版本的軟件,更新內核版本到3.7.10

# yum install -y xen-4.2.5 xen-libs-4.2.5xen-runtime-4.2.5 kernel-xen

 

3.配置grub.conf配置文件

# vim /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.7.10-1.el6xen.x86_64)
       root (hd0,0)
       kernel /xen.gz dom0_mem=1024M,max:1024M dom0_max_vcpus=1 dom0_vcpus_pin
cpufreq=xen
       module /vmlinuz-3.7.10-1.el6xen.x86_64 ro root=/dev/mapper/vg0-rootrd_NO_LUKS rd_NO_DM.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MDSYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root  KEYBOARDTYPE=pc KEYTABLE=us rhgbcrashkernel=auto quiet rhgb quiet
       module /initramfs-3.7.10-1.el6xen.x86_64.img
title CentOS 6 (2.6.32-504.el6.x86_64)
       root (hd0,0)
       kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/vg0-rootrd_NO_LUKS rd_NO_DM.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MDSYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root  KEYBOARDTYPE=pc KEYTABLE=us rhgbcrashkernel=auto quiet rhgb quiet
       initrd /initramfs-2.6.32-504.el6.x86_64.img

 

配置完成後重新啓動Linux系統,啓動完成後自動進入了XenDom0環境:

查看內核版本,已經升級到3.7.10

# uname -r

3.7.10-1.el6xen.x86_64

 

查看xenxend服務開機啓動項:

# chkconfig --list xend

xend            0:off   1:off  2:off   3:on    4:on   5:on    6:off

 

4.啓動xend服務

# service xend start 

 

可以查看一下現在運行的虛擬機:

# xm list
Name                                        ID   Mem VCPUs      State  Time(s)
Domain-0                                     0  1024    1     r-----     23.7

 

查看一下Xen虛擬機的信息:

# xm info
host                   : test2.stu31.com
release                : 3.7.10-1.el6xen.x86_64
version                : #1 SMP Thu Feb 5 12:56:19 CST2015
machine                : x86_64
nr_cpus                : 1
nr_nodes               : 1
cores_per_socket       : 1
threads_per_core       :1
cpu_mhz                : 2272
hw_caps                :078bfbff:28100800:00000000:00000140:00000209:00000000:00000001:00000000
virt_caps              :
total_memory           : 2047
free_memory            : 998
free_cpus              : 0
xen_major              : 4
xen_minor              : 2
xen_extra              : .5-38.el6
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_mem=1024M,max:1024Mdom0_max_vcpus=1 dom0_vcpus_pin cpufreq=xen
cc_compiler            : gcc (GCC) 4.4.7 20120313 (Red Hat4.4.7-11)
cc_compile_by          : mockbuild
cc_compile_domain      :centos.org
cc_compile_date        : Tue Jan  6 12:04:11 CST 2015
xend_config_format     : 4

 

 

iSCSI客戶端配置發現iSCSI服務器的共享存儲依據上面的配置即可(配置略);

 

 

.Xen虛擬化環境上構建虛擬機busybox

只需要在其中一個節點構建即可;

1.iSCSI共享存儲作爲虛擬機的磁盤存放路徑

格式化共享存儲:
# mke2fs -t ext4 /dev/sdb1
創建目錄,將存儲掛載上:
# mkdir /scsistore
# mount /dev/sdb1 /scsistore/
 
進入目錄創建虛擬機磁盤設備:
# cd /scsistore
# dd if=/dev/zero of=./busybox.img bs=1Moflag=direct seek=1023 count=1
查看設備大小,可以發現實際大小才1MB:
# ll -h
total 1.1M
-rw-r--r-- 1 root root 1.0G Feb  6 20:17 busybox.img
drwx------ 2 root root  16K Feb 6 20:05 lost+found
格式化虛擬磁盤設備:
# mke2fs -t ext4 /scsistore/busybox.img
mke2fs 1.41.12 (17-May-2010)
/scsistore/busybox.img is not a blockspecial device.
Proceed anyway? (y,n) y
信息略...
 
掛載虛擬磁盤設備,等待後續操作:
# mount -o loop /scsistore/busybox.img /mnt

 

2.編譯安裝busybox

編譯環境需要的開發包組安裝:
# yum groupinstall -y Developmenttools 
# yum install -y ncurses-devel glibc-static
 
獲取busybox軟件:
busybox-1.22.1.tar.bz2
 
編譯安裝busybox:
# tar xf busybox-1.22.1.tar.bz2
# cd busybox-1.22.1
# make menuconfig

配置如下圖所示:

wKiom1TWEAHAAvtbAALgrhclvn8722.jpgwKioL1TWEP2zh48gAALTIhYA75E804.jpgwKioL1TWEQjjvzjZAANWjYzXnOo614.jpgwKiom1TWECTANlKbAACDChJzHws277.jpg

設置完成後進行編譯和安裝:

# make && make install

 

編譯安裝busybox完成後在這個目錄會生成安裝好的文件_install目錄,我們將_install目錄拷貝到掛載的虛擬磁盤中:

# cp -a _install/* /mnt
# cd /mnt
# ls
bin linuxrc  lost+found  sbin usr
# rm -rf linuxrc
# mkdir dev proc sys lib/modules etc/rc.dboot mnt media opt misc -pv

 

至此,虛擬磁盤就構建完成了。

 

3.虛擬化平臺節點橋設備構建

兩個節點都需要配置;

1.test1節點:

添加網卡橋設備文件:
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-xenbr0
配置橋接設備:
# vim ifcfg-xenbr0
DEVICE="xenbr0"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=172.16.31.1
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
 
配置網卡設備:
# vim ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="08:00:27:16:D9:AA"
NM_CONTROLLED="no"
ONBOOT="yes"
BRIDGE="xenbr0"
TYPE="Ethernet"
USERCTL="no"

 

2.test2節點的配置:

添加網卡橋設備文件:
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-xenbr0
配置橋接設備:
# vim ifcfg-xenbr0
DEVICE="xenbr0"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=172.16.31.2
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
 
配置網卡設備:
# vim ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="08:00:27:6A:9D:57"
NM_CONTROLLED="no"
ONBOOT="yes"
BRIDGE="xenbr0"
TYPE="Ethernet"
USERCTL="no"

 

 

3.配置橋接模式需要將NetworkManager服務關閉:

兩個節點都需要操作
#chkconfig NetworkManager off
#service NetworkManager stop
 
配置完成後重啓網絡服務:
#service network restart

 

4.登錄終端查看橋接狀態:

# ifconfig
eth0     Link encap:Ethernet  HWaddr08:00:27:16:D9:AA 
         inet6 addr: fe80::a00:27ff:fe16:d9aa/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:37217 errors:0 dropped:7 overruns:0 frame:0
         TX packets:4541 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:7641467 (7.2 MiB)  TXbytes:773075 (754.9 KiB)
 
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:65536  Metric:1
         RX packets:12 errors:0 dropped:0 overruns:0 frame:0
         TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:1032 (1.0 KiB)  TXbytes:1032 (1.0 KiB)
 
xenbr0   Link encap:Ethernet  HWaddr08:00:27:16:D9:AA 
         inet addr:172.16.31.1 Bcast:172.16.255.255  Mask:255.255.0.0
         inet6 addr: fe80::a00:27ff:fe16:d9aa/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:1211 errors:0 dropped:0 overruns:0 frame:0
         TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:116868 (114.1 KiB)  TXbytes:15418 (15.0 KiB)

 

 

4.構建busybox虛擬機

創建虛擬機配置文件
# vim /etc/xen/busybox
kernel ="/boot/vmlinuz-2.6.32-504.el6.x86_64"
ramdisk ="/boot/initramfs-2.6.32-504.el6.x86_64.img"
name = "busybox"
memory = "512"
vcpus = 1
disk =['file:/scsistore/busybox.img,xvda,w',]
root = "/dev/xvda ro"
extra = "selinux=0 init=/bin/sh"
vif = ['bridge=xenbr0',]
on_crash = "destroy"
on_reboot = "destroy"
on_shutdown = "destroy"

 

將配置文件複製一份到節點test2上:

# scp /etc/xen/busybox  [email protected]:/etc/xen/

 

 

如果希望busybox這個用戶空間能夠設置網卡,我們還需要加載xen-netfront.ko進入虛擬機磁盤的指定目錄;

我們將Dom0中的xen-netfront.ko模塊複製進虛擬機磁盤的lib/modules/目錄中:

# cd /lib/modules/2.6.32-504.el6.x86_64/kernel/drivers/net/

需要查看模塊依賴關係:

# modinfo xen-netfront.ko
filename:       xen-netfront.ko
alias:          xennet
alias:          xen:vif
license:        GPL
description:    Xen virtual network device frontend
srcversion:     5C6FC78BC365D9AF8135201
depends:       
vermagic:       2.6.32-504.el6.x86_64 SMP mod_unloadmodversions

可以發現無依賴關係,我們可以直接使用:

# cp xen-netfront.ko /mnt/lib/modules/

 

複製完成後卸載虛擬機磁盤:

# umount /mnt

 

至此,我們的虛擬機busybox就創建完畢!

 

 

5.我將卸載scsistore,到另外的Xen虛擬化平臺掛載查看測試:

test1節點卸載:

[root@test1 xen]# umount /scsistore/

 

test2節點上發現iSCSI共享存儲:

[root@test2 ~]# iscsiadm -m discovery -t st-p 172.16.31.3
Starting iscsid:                                          [  OK  ]
172.16.31.3:3260,1 iqn.2015-02.com.stu31:t1

 

註冊iscsi共享設備,節點登錄,

[root@test2 ~]# iscsiadm -m node -Tiqn.2015-02.com.stu31:t1 -p 172.16.31.3 -l
[root@test2 ~]# fdisk -l /dev/sdb
 
Disk /dev/sdb: 5378 MB, 5378310144 bytes
166 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 10292 * 512 = 5269504bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x8e1d9dd0
 
  Device Boot      Start         End      Blocks  Id  System
/dev/sdb1               1         409    2104683   83  Linux

 

掛載磁盤後查看磁盤中的內容:

[root@test2 ~]# mkdir /scsistore
[root@test2 ~]# mount /dev/sdb1 /scsistore/
[root@test2 ~]# ls /scsistore/
busybox.img lost+found

可以發現文件是共享的,我們的iSCSI共享存儲是正常的。

 

 

.兩個虛擬化平臺的虛擬機實時遷移測試

 

1.兩個虛擬化節點掛載共享存儲

test1節點:
[root@test1 ~]# mount /dev/sdb1 /scsistore/
[root@test1 ~]# ls /scsistore/
busybox.img lost+found
test2節點:
[root@test2 ~]# mount /dev/sdb1 /scsistore/
[root@test2 ~]# ls /scsistore/
busybox.img lost+found

 

2.啓動虛擬機busybox

test1節點啓動:

[root@test1 ~]# xm create -c busybox
Using config file"/etc/xen/busybox".
Started domain busybox (id=13)
                              Initializingcgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.32-504.el6.x86_64([email protected]) (gcc version 4.4.7 20120313 (Red Hat4.4.7-11) (GCC) ) #1 SMP Wed Oct 15 04:27:16 UTC 2014
Command line: root=/dev/xvda ro selinux=0init=/bin/sh
#信息略...;加載網卡模塊;
/ # insmod /lib/modules/xen-netfront.ko
Initialising Xen virtual ethernet driver.
#設置網卡ip地址;
/ # ifconfig eth0 172.16.31.4 up
/ # ifconfig
eth0     Link encap:Ethernet  HWaddr00:16:3E:49:E8:18 
         inet addr:172.16.31.4 Bcast:172.16.255.255 Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:42 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:2942 (2.8 KiB)  TXbytes:0 (0.0 B)
         Interrupt:247

 

 

test2節點啓動:

[root@test2 ~]# xm create -c busybox
Using config file"/etc/xen/busybox".
Started domain busybox (id=2)
                             Initializingcgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.32-504.el6.x86_64([email protected]) (gcc version 4.4.7 20120313 (Red Hat4.4.7-11) (GCC) ) #1 SMP Wed Oct 15 04:27:16 UTC 2014
Command line: root=/dev/xvda ro selinux=0init=/bin/sh
#信息略...
EXT4-fs (xvda): mounted filesystem withordered data mode. Opts:
dracut: Mounted root filesystem /dev/xvda
dracut: Switching root
/bin/sh: can't access tty; job controlturned off
/ # ifconfig
/ # insmod /lib/modules/xen-netfront.ko
Initialising Xen virtual ethernet driver.
/ # ifconfig eth0 172.16.31.5 up
/ # ifconfig
eth0     Link encap:Ethernet  HWaddr00:16:3E:41:B0:32 
         inet addr:172.16.31.5  Bcast:172.16.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:57 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:3412 (3.3 KiB)  TXbytes:0 (0.0 B)
         Interrupt:247

 

技巧:按CTRL+]退出虛擬機

這裏我只是爲了測試兩個虛擬化平臺都能運行虛擬機,所以都建立了busybox這個虛擬機,但是我們遷移的時候只需要一臺busybox,我們在test1節點上將busybox遷移到test2節點。

我們先將所有的虛擬機都關閉:

#xm destory busybox

 

3.配置節點實時遷移

test節點的配置:

[root@test1 ~]# grep xend/etc/xen/xend-config.sxp |grep -v "#"          
(xend-http-server yes)
(xend-unix-server yes)
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '172.16.31.1')
(xend-relocation-hosts-allow '')

 

 

test2節點的配置:

[root@test2 ~]# grep xend/etc/xen/xend-config.sxp |grep -v '#'
(xend-http-server yes)
(xend-unix-server yes)
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '172.16.31.2')
(xend-relocation-hosts-allow '')

 

兩個虛擬化節點重啓xend服務:

# service xend restart
Stopping xend daemon:                                      [  OK  ]
Starting xend daemon:                                      [  OK  ]

查看監聽端口:

# ss -tunl |grep 8002
tcp   LISTEN     0      5            172.16.31.2:8002                  *:*

 

 

啓動節點test1busybox

#xm create -c busybox
#信息略...
#設置IP地址,以便一會兒遷移後查看有依據;
/ # insmod /lib/modules/xen-netfront.ko
Initialising Xen virtual ethernet driver.
/ # ifconfig eth0 172.16.31.4 up
/ # ifconfig
eth0     Link encap:Ethernet  HWaddr00:16:3E:28:BB:F6 
         inet addr:172.16.31.4 Bcast:172.16.255.255 Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:921 errors:0 dropped:0 overruns:0 frame:0
         TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:78367 (76.5 KiB)  TXbytes:84 (84.0 B)
         Interrupt:247

 

test1節點的虛擬機遷移到test2節點:

[root@test1 ~]# xm migrate -l busybox 172.16.31.2

遷移完成後查看test1節點的虛擬機列表:

[root@test1 ~]# xm list
Name                                        ID   Mem VCPUs      State  Time(s)
Domain-0                                     0  1023    1     r-----    710.1

遷移完成後查看test2節點的虛擬機:

[root@test2 network-scripts]# xm list
Name                                        ID   Mem VCPUs      State  Time(s)
Domain-0                                     0  1023    1     r-----    142.8
[root@test2 network-scripts]# xm list
Name                                        ID   Mem VCPUs      State  Time(s)
Domain-0                                     0  1023    1     r-----    147.4
busybox                                      3   512    0     --p---      0.0

 

連接上test2的虛擬機查看:

 

[root@test2 ~]# xm console busybox
Using NULL legacy PIC
Changing capacity of (202, 0) to 2097152sectors
Changing capacity of (202, 0) to 2097152sectors
 
/ # ifconfig
eth0     Link encap:Ethernet  HWaddr00:16:3E:1D:38:69 
         inet addr:172.16.31.4 Bcast:172.16.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:350 errors:0 dropped:0 overruns:0 frame:0
         TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:27966 (27.3 KiB)  TXbytes:84 (84.0 B)
         Interrupt:247

可以發現遷移到test2節點上的虛擬機的地址是test1上的;證明我們的遷移完成了。

至此,我們的Xen虛擬化平臺的實時遷移實驗就完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章