Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107989
  • 博文数量: 32
  • 博客积分: 1445
  • 博客等级: 上尉
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-29 13:58
文章分类
文章存档

2014年(3)

2012年(27)

2010年(2)

我的朋友

分类:

2012-10-18 14:19:04

原文地址:xm live migration笔记! 作者:qingheliu

说明:qht02对应ip:192.168.1.2  同时也是nfs存储(当然也可以用一台单独的nfs server)
      qht03对应ip:192.168.1.3  
1:现在我有两台机器,分别为192.168.1.2和192.168.1.3  已经在192.168.1.2上用xen安装了vm02 虚拟机
   放在了/xen目录下 ##我已经安装好了一个vm02虚拟机,如果没有安装,直接安装就可以了! 但要把虚拟机放到nfs存储上,这样才能进行live migration, vmware的esx下vmtion也需要把vmdk文件放到存储上,如果将vm放到本地(不共享出来),在两个机器机器间迁移是不可能的! 
2:用vmware workstation 添加一块硬盘。 
    重启虚拟机
 mkdir /bak
 cd  /xen
mv vm02  ../bak #备份到/bak目录下,挂载后分区后,重新mv到/xen目录下!
fdisk  /dev/hdb
n
p
1
两次回车
w
即可分出一个/dev/hdb1分区!
格式化该分区:
mkfs -t ext3  /dev/hdb1

3:挂载/dev/hdb1分区到/xen目录下 
 mount /dev/hdb1  /xen
然后   mv /bak/vm02  /xen下!

4:配置nfs服务!

[root@qht02 xentest]# service nfs status
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
[root@qht02 xentest]# service portmap start
Starting portmap:                                          [  OK  ]
[root@qht02 xentest]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
[root@qht02 xentest]# exportfs  -rv
exporting *:/xen
[root@qht02 xentest]# showmount  -e 192.168.1.2
Export list for 192.168.1.2:
/xen *
5:确认迁移的环境
[root@qht02 xentest]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
xenbr0          8000.feffffffffff       no              peth0
                                                        vif0.0


[root@qht03 /]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
xenbr0          8000.feffffffffff       no              peth0
                                                        vif0.0
确认两者的网络环境一样!(Make sure the Xen networking bridges are configured correctly and have the same name on both hosts:)

6:修改/etc/xen下的xend-config.sxp文件, 修改后grep后如下显示
[root@qht02 xen]# grep xend-relocation /etc/xen/xend-config.sxp |grep -v '#'
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')
[root@qht02 xen]# pwd
/etc/xen
[root@qht02 xen]# ls xend-config.sxp 
xend-config.sxp
[root@qht02 xen]# service xend restart
restart xend:                                              [  OK  ]


同样qht03机器上的 配置一样的:
[root@qht03 xen]# grep xend-relocation /etc/xen/xend-config.sxp |grep -v '#'
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')

[root@qht03 xen]# pwd
/etc/xen
[root@qht03 xen]# ls xend-config.sxp 
xend-config.sxp
[root@qht03 xen]# service xend restart
restart xend:                                              [  OK  ]

7:重启qht02和qht03 上的xend服务,并确认8002端口在监听
[root@qht02 xen]# lsof -i :8002
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
python  4540 root    5u  IPv4  13073       TCP *:teradataordbms (LISTEN)

[root@qht03 xen]#lsof -i :8002 
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
python  4072 root    5u  IPv4  11784       TCP *:teradataordbms (LISTEN)

8:在qht03上挂载qht02上的/xen  目录 
[root@qht03 xen]# df /xen/
Filesystem           1K-blocks      Used Available Use% Mounted on
192.168.1.2:/xen/      8256608   1206624   6630560  16% /xen
[root@qht03 xen]# file /xen/vm02 
/xen/vm02: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 10265535 sectors, code offset 0x48
[root@qht03 xen]# df /xen/
Filesystem           1K-blocks      Used Available Use% Mounted on
192.168.1.2:/xen/      8256608   1206624   6630560  16% /xen
[root@qht03 xen]# file /xen/vm02 
/xen/vm02: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 10265535 sectors, code offset 0x48
[root@qht03 xen]# 
注意:需要注意的是,A-->B传送vm(同时A作为nfs服务器),A,B的Mount目录必须一致,这样VM的配置文件才可以对应到正确的Local disk img.


9:在qht02上启动虚拟机,save和restore 它!

[root@qht02 ~]# xm create vm02
Using config file "/etc/xen/vm02".
Started domain vm02

[root@qht02 ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      413     1 r-----    151.3
vm02                                       1      300     1 -b----      0.5
[root@qht02 ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      413     1 r-----    155.4
vm02                                       1      299     1 -b----     19.4


[root@qht02 ~]# cd  /xen
[root@qht02 xen]# ls
lost+found  vm02
[root@qht02 xen]# time xm save vm02  vm02.sav

real    1m16.331s
user    0m0.068s
sys     0m0.244s
[root@qht02 xen]# xm list ##原来vm02在运行的的,运行xm save后 vm02 就已经停了
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      413     1 r-----    231.3
[root@qht02 xen]# ls
lost+found  vm02  vm02.sav
[root@qht02 xen]# du  -sh * 
16K     lost+found
1.1G    vm02
301M    vm02.sav
[root@qht02 xen]# time xm restore vm02.sav 

real    0m5.879s
user    0m0.016s
sys     0m0.020s
[root@qht02 xen]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      413     1 r-----     53.5
vm02                                       1      299     1 -b----      0.0
[root@qht02 xen]# 


10:在qht02 机器上 192.168.1.2上执行:
[root@qht02 xen]# xm migrate --live vm02 192.168.1.3
[root@qht02 xen]# 
该命令执行完毕后执行xm list显示如下: ##显然原来在运行的vm02 已经不在该物理机上运行了!
[root@qht02 xen]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      410     1 r-----     64.5
[root@qht02 xen]# 


11:同时在qht03上 即192.168.1.3上执行如下:
[root@qht03 ~]# xm list      
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      278     1 r-----     61.9
vm02                                       1      299     0 -bp---      0.0 ##显然还在migrate
[root@qht03 ~]# xm list  ##从现在的显示来看vm02已经迁移都该物理机上了!
Name                                      ID Mem(MiB) VCPUs State   Time(s) 
Domain-0                                   0      278     1 r-----     63.2
vm02                                       1      299     1 -b----      0.2 ##
[root@qht03 ~]# xm console vm02

CentOS release 5.3 (Final)
Kernel 2.6.18-128.el5xen on an i686

ungeoxliu login: root
Password: 
Last login: Sat Jul 28 14:27:08 on xvc0
[root@ungeoxliu ~]# ifconfig    ##ip地址为192.168.1.8
eth0      Link encap:Ethernet  HWaddr 00:16:3E:58:CC:A7  
          inet addr:192.168.1.8  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe58:cca7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2399 errors:0 dropped:0 overruns:0 frame:0
          TX packets:277 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:760739 (742.9 KiB)  TX bytes:30118 (29.4 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:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

在migrate过程中,可以在windows下打开一个cmd窗口,ping  192.168.1.8 -t(在迁移的过程中会发现没有丢包)


xm migration过程中的问题:
1:见附件
在192.168.1.3上执行的上述命令,因为vm02 运行在192.168.1.2上, vm02根本没有在192.168.1.3上运行,古会有此提示! 在192.168.1.2上执行 xm migrate --live vm02  192.168.1.3  即可将运行的vm02 迁移到192.168.1.3上!
阅读(401) | 评论(0) | 转发(0) |
0

上一篇:xen架构介绍

下一篇:kvm安装linux vm

给主人留下些什么吧!~~