首页 > 虚拟化 > xen > xen 虚拟机动态迁移
2015
02-09

xen 虚拟机动态迁移

实验环境:

192.168.10.38 (xen,nfs)

192.168.10.39(xen)

生产环境中nfs应该是单独的服务器,并不会与xen放在一起,这里仅用与测试所以就放在一起了,注意生产环境nfs一定要分离开。看到这样的环境 估计你会想到nfs是单点,是单点就有可能出现问题,可以使用drdb做nfs的高可用,但是drbd自认为问题比较多,经常出现脑裂,所以并不建议使用 drbd。最好还有上存储。关于xen环境的安装这里就不多介绍了,如果需要请点击

一、安装nfs服务器(10.38)

xen的数据目录是放在/data/下的 所以需要共享/data目录

[root@localhost ~]# vim  /etc/exports 
/data *(rw,sync,no_root_squash)
[root@localhost ~]# /etc/init.d/nfs restart

至于nfs的详细资料请参考我51cto上的博客。http://xiaodong88.blog.51cto.com/1492564/1275548  这里不多介绍了,请看重点

二、挂载nfs目录(10.39)

[root@localhost ~]# mkdir /data
[root@localhost ~]# mount -t nfs 192.168.10.38:/data /data/
[root@localhost ~]# cd /data/
[root@localhost data]# ls
xen
[root@localhost data]# cd xen/
[root@localhost xen]# ls
xen1
[root@localhost xen]#

三、虚拟机迁移之前的准备工作

将192.168.10.38下的xen1配置文件copy到10.39服务器上去(切不可忽略)

[root@localhost ~]# scp /etc/xen/xen1  192.168.10.39:/etc/xen/

将xen的配置文件/etc/xen/xend-config.sxp 修改成如下这样(10.38,10.39都需要修改)

 [root@localhost ~]# egrep -v "#|^$" /etc/xen/xend-config.sxp 
(xend-relocation-server yes)
(xend-unix-path /var/lib/xend/xend-socket)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 256)
(dom0-cpus 0)
  
(vncpasswd '')
(keymap 'en-us')

注意:必须配置文件改成和上面一样的。不然迁移会报错

登录到xen1虚拟化上查看一下ip

[root@localhost ~]# xm console xen1

[root@localhost ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:16:3E:52:F2:89  
          inet addr:192.168.10.230  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe52:f289/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5378 errors:0 dropped:0 overruns:0 frame:0
          TX packets:515 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:587727 (573.9 KiB)  TX bytes:45491 (44.4 KiB)

我在我本地的笔记本上ping 这个ip(为了查看迁移过程是否丢包)

http://tshare365.codingapp.com/wp-content/uploads/2015/01/12.png

查看到响应时间明显变长

 

在10.38上开始迁移

[root@localhost ~]# ifconfig  eth0
eth0      Link encap:Ethernet  HWaddr D4:AE:52:6B:1D:9D  
          inet addr:192.168.10.38  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::d6ae:52ff:fe6b:1d9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17488597 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4981108 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:22711179815 (21.1 GiB)  TX bytes:22051453840 (20.5 GiB)

[root@localhost ~]# xm migrate -l xen1 192.168.10.39
查看xen1 的状态
[root@localhost ~]# ifconfig  eth0
eth0      Link encap:Ethernet  HWaddr D4:AE:52:6B:1D:9D  
          inet addr:192.168.10.38  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::d6ae:52ff:fe6b:1d9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18907206 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6594244 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:22804925854 (21.2 GiB)  TX bytes:34565788298 (32.1 GiB)

[root@localhost ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     3504    16 r-----    344.2
migrating-xen1                             2    20480    10 -b----      1.9
[root@localhost ~]#

查看10.39上xen1的状态

[root@localhost ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:24:E8:7E:3D:3C  
          inet addr:192.168.10.39  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::224:e8ff:fe7e:3d3c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6315557 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2549832 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6237136520 (5.8 GiB)  TX bytes:21723667306 (20.2 GiB)

[root@localhost ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     3503    16 r-----    139.6
xen1                                       2    13226     0 -bp---      0.0
[root@localhost ~]#

注意状态是bp并且出去了xen1虚拟机

大约1分钟左右的时间,虚拟机迁移完成了,此时我们在次查看38和39xen1的状态

10.38服务器上查看
[root@localhost ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr D4:AE:52:6B:1D:9D  
          inet addr:192.168.10.38  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::d6ae:52ff:fe6b:1d9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19958354 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7680569 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:22875709089 (21.3 GiB)  TX bytes:43761673676 (40.7 GiB)

[root@localhost ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     3504    16 r-----    388.7
[root@localhost ~]# 
10.39服务器上查看
[root@localhost ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:24:E8:7E:3D:3C  
          inet addr:192.168.10.39  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::224:e8ff:fe7e:3d3c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17300566 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4374806 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:22859923491 (21.2 GiB)  TX bytes:21845609579 (20.3 GiB)

[root@localhost ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     3503    16 r-----    225.6
xen1                                       2    20480    10 -b----      0.9
[root@localhost ~]#

从38上xen1已经成功的迁移到39上。

登录xen1测试

[root@localhost ~]# xm console xen1
Initializing CPU#1
Initializing CPU#2
Initializing CPU#3
Initializing CPU#4
Initializing CPU#5
Initializing CPU#6
Initializing CPU#7
Initializing CPU#8
Initializing CPU#9

[root@localhost ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[root@localhost ~]#

ok 看到初始化cpu的信息,至此动态迁移成功!




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复