失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > xen是服务器虚拟化 xen虚拟化实战系列(十二)之xen虚拟机高可用之迁移

xen是服务器虚拟化 xen虚拟化实战系列(十二)之xen虚拟机高可用之迁移

时间:2022-09-22 19:53:46

相关推荐

xen是服务器虚拟化 xen虚拟化实战系列(十二)之xen虚拟机高可用之迁移

xen虚拟化实战系列文章列表

xen虚拟化实战系列(十三)之xen虚拟机集中管理之convirt

1.方案背景概述

本文是有对我们一个xen虚拟化生产环境将要改造的一个方案而来,在项目上线初期,没有上存储,也没有采用商业化的服务器虚拟化解决方案如VMwareESXi,而是采用的开源的Xen虚拟化平台。xen虚拟机磁盘也都是采用本地磁盘,当时为了项目上线,风险也是很大的,只能充分的做好备份了。现在服务器运行了几年,需要升级改造,但是完全采用新的虚拟化方案来安装,部署,迁移系统,工作量太大,也不太实际,也只有在原有环境上进行改造了。

初步方案是在虚拟化服务器增加HBA卡,用于连接一台现有光纤存储,虚拟化服务器连接同一个存储空间,配置成集群文件系统,并将虚拟机磁盘文件迁移到集群文件系统上,这样就构成了一个高可用的环境架构,本文就是在这种环境背景下进行的一个环境测试。本文出自:http://koumm.

架构图如下:

应用场景如下:

(1)在虚拟化服务器挂掉的情况下,可以在另一虚拟化服务器上手动启动,减少故障时间,最基本的是保证数据不会丢失。

(2)可以利用xen虚拟化高可用在线迁移,实现虚拟化服务器计划内停机。

注:为了实现以上方案测试,采用nfs挂载来模拟集群文件系统,实现以上方案与测试。

2.虚拟化环境介绍

(1)xen虚拟化服务器node1

操作系统版本:OEL5.8x64

开源xen虚拟化:自带版本

桥接IP地址1:192.168.233.150

桥接IP地址2:10.10.10.10

测试虚拟机:test01

桥接IP地址1:192.168.233.133

桥接IP地址2:10.10.10.11

虚拟磁盘文件位置:/data/test01.img

(2)xen虚拟化服务器node2

操作系统版本:OEL5.8x64

开源xen虚拟化:自带版本

桥接IP地址1:192.168.233.151

桥接IP地址2:10.10.10.20

(3)nfs服务器

操作系统版本:OEL5.8x64

桥接IP地址1:192.168.233.152

桥接IP地址2:10.10.10.30

3.共享存储的配置

本节采用nfs来实现共享存储,以后将采用GFS2集群文件系统。

(1)nfs服务配置

启动nfs服务

#chkconfignfson

(2)xennode1服务器上

首先关机test01虚拟机,查看到test01虚拟机的磁盘文件是/data/test01.img,这里先将test01.img文件移到其它目录,然后挂载nfs目录到/data目录下。再将test01.img移回来。

挂载nfs目录

将test01.img虚拟磁盘文件移回到/data目录下。

配置/etc/fstab加入自动挂载

#vi/etc/fstab

10.10.10.30:/data/datanfshard,rw,rsize=32768,wsize=3276800

(3)xennode2服务器上

挂载nfs目录

配置/etc/fstab加入自动挂载

#vi/etc/fstab

10.10.10.30:/data/datanfshard,rw,rsize=32768,wsize=3276800

4.准备xen在线迁移环境

原理:在线迁移法是通过迭代的方式将内存拷贝到目标主机,然后暂停虚拟机100ms以内的时间,这段时间内,将最后修改过的内存与CPU状态发送到目标主机。然后关闭虚拟机,并在目标主机上恢复。

(1)在xen虚拟主机node2上创建虚拟机配置文件

(2)修改两虚拟主机xen配置文件

注:node1,node2都要修改,这个是最关键的内容。

18行加上注释

33行取消注释

47行取消注释

60行取消注释,61上加上注释

(3)分别重启两虚拟主机xend服务

5.xen在线迁移测试

(1)在node1虚拟主机上启动xen虚拟机test01

查看虚拟机的IP地址

#xmconsoletest01

OracleLinuxServerrelease5.8

Kernel2.6.18-308.el5xenonanx86_64

test01login:root

Password:

Lastlogin:SunSep100:08:50onxvc0

[root@test01~]#

[root@test01~]#ifconfig

eth0Linkencap:EthernetHWaddr00:16:3E:66:FF:31

inetaddr:192.168.233.133Bcast:192.168.233.255Mask:255.255.255.0

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:30errors:0dropped:0overruns:0frame:0

TXpackets:24errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:3287(3.2KiB)TXbytes:2831(2.7KiB)

eth1Linkencap:EthernetHWaddr00:16:3E:1A:00:01

inetaddr:10.10.10.11Bcast:10.10.10.255Mask:255.255.255.0

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:32errors:0dropped:0overruns:0frame:0

TXpackets:22errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:3449(3.3KiB)TXbytes:2723(2.6KiB)

loLinkencap:LocalLoopback

inetaddr:127.0.0.1Mask:255.0.0.0

UPLOOPBACKRUNNINGMTU:16436Metric:1

RXpackets:8errors:0dropped:0overruns:0frame:0

TXpackets:8errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RXbytes:560(560.0b)TXbytes:560(560.0b)

[root@test01~]#

(2)准备一个窗口不停的pingtest01虚拟机IP

可以看到整个过程比较平稳,就一两个包超过1ms,其它都在1ms以下。网络完全没有中断,整个迁移过程比较快速。

(3)在node1虚拟主机上操作开始迁移

可以看到test01xen虚拟机在node1xen虚拟主机上,并开始执行在线迁移命令。

#xmmigrate-ltest01192.168.233.151

下面命令用来查看test01xen虚拟机在迁移中与迁移后的状态,可以看到test01xen虚拟机先变成迁移状态。迁移完成后,test01xen虚拟机在node1xen虚拟主机列表中消失。已经迁移到node2xen虚拟主机上。

(3)在node2虚拟主机上

下面命令用来查看test01xen虚拟机在迁移中与迁移后的状态,可以看到test01xen虚拟机在接收迁移状态。迁移完成后,test01xen虚拟机在node2xen虚拟主机上已经成功迁移过来。

至此xen虚拟化实战系列(十二)之xen虚拟机高可用之在线迁移文章结束,简单总结如下:对开源xen真是又爱又恨,希望开源xen在CentOS6.X能发展更好。

如果觉得《xen是服务器虚拟化 xen虚拟化实战系列(十二)之xen虚拟机高可用之迁移》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。