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

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

1. 方案背景概述

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

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

架构图如下:

应用场景如下:

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

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

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

2.  虚拟化环境介绍

(1) xen虚拟化服务器node1

操作系统版本  : OEL5.8 x64

开源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.8 x64

开源xen虚拟化 : 自带版本

桥接IP地址1   : 192.168.233.151

桥接IP地址2   : 10.10.10.20

(3) nfs服务器

操作系统版本 : OEL5.8 x64

桥接IP地址1   : 192.168.233.152

桥接IP地址2   : 10.10.10.30

3.  共享存储的配置

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

(1)  nfs服务配置

启动nfs服务

# chkconfig nfs on

(2)  xen node1服务器上

首先关机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 /data nfs hard,rw,rsize=32768,wsize=32768 0 0

(3) xen node2服务器上

挂载nfs目录

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

# vi /etc/fstab

10.10.10.30:/data /data nfs hard,rw,rsize=32768,wsize=32768 0 0

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地址

# xm console test01

Oracle Linux Server release 5.8

Kernel 2.6.18-308.el5xen on an x86_64

test01 login: root

Password:

Last login: Sun Sep  1 00:08:50 on xvc0

[root@test01 ~]#

[root@test01 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:16:3E:66:FF:31

inet addr:192.168.233.133  Bcast:192.168.233.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:30 errors:0 dropped:0 overruns:0 frame:0

TX packets:24 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3287 (3.2 KiB)  TX bytes:2831 (2.7 KiB)

eth1      Link encap:Ethernet  HWaddr 00:16:3E:1A:00:01

inet addr:10.10.10.11  Bcast:10.10.10.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:32 errors:0 dropped:0 overruns:0 frame:0

TX packets:22 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3449 (3.3 KiB)  TX bytes:2723 (2.6 KiB)

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

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)

[root@test01 ~]#

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

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

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

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

# xm migrate -l test01 192.168.233.151

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

(3) 在node2虚拟主机上

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

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

xen是服务器虚拟化,xen虚拟化实战系列(十二)之xen虚拟机高可用之在线迁移相关推荐

  1. 云计算实战系列十二(Linux系统优化)

    Linux高级系统优化 uptime 命令 [root@newrain ~]# uptime 14:01:51 up 1 day, 20:11, 3 users, load average: 0.13 ...

  2. MongoDB实战系列之二:MongoDB的常用操作

    #以服务方式启动mongodb,要求验证 /elain/apps/mongodb/bin/mongod --fork --port 27001 --auth --dbpath /elain/data/ ...

  3. 抖音短视频数据抓取实战系列(二)——Fiddler安装配置以及模拟器监测环境配置

    抖音短视频数据抓取实战系列(二)--Fiddler安装配置以及模拟器监测环境配置 项目目录 1.抖音短视频数据抓取实战系列(〇)--前言 2.抖音短视频数据抓取实战系列(一)--模拟器的选择与设置 3 ...

  4. AspNetCore-MVC实战系列(二)之通过绑定邮箱找回密码

    AspNetCore - MVC实战系列目录 . 爱留图网站诞生 . git源码:https://github.com/shenniubuxing3/LovePicture.Web . AspNetC ...

  5. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二) 转载于:https://github.com/Meowv/Blog 上一篇搭建了 Blazor 项目并 ...

  6. [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店...

    原文:[.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店 一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Bytear ...

  7. 【Youtobe trydjango】Django2.2教程和React实战系列十【动态路由、app内部路由】

    [Youtobe trydjango]Django2.2教程和React实战系列十[动态路由.app内部路由] 1. 动态路由示例 1.1 动态路由 1.2 处理DoesNotExist不存在 2. ...

  8. Alamofire源码解读系列(十二)之请求(Request)

    本篇是Alamofire中的请求抽象层的讲解 前言 在Alamofire中,围绕着Request,设计了很多额外的特性,这也恰恰表明,Request是所有请求的基础部分和发起点.这无疑给我们一个Req ...

  9. 死磕数据库系列(二十六):MySQL 高可用之单主、双主模型组复制配置实践

    点关注公众号,回复"1024"获取2TB学习资源! 前面我们学习:MySQL 高可用之组复制(MGR)技术的相关原理知识,今天我将详细的为大家介绍 MySQL 高可用技术组复制的单 ...

最新文章

  1. MySQL运行状态show status详解
  2. python 内置函数 sum()函数 求和函数
  3. initrd.img解压和压缩
  4. 动手开发第一个 Cypress 测试应用
  5. 苹果召回部分产品;罗永浩锤子商城并入字节跳动;美团打车上线上海南京 | 极客头条...
  6. 淘宝与拍拍的世纪之战!(庄帅)
  7. 算法Training——数学规律
  8. HTML语言中表格怎么弄,html语言中table表格内怎么换行
  9. html获取当前网页ip和端口,js获取当前访问者的IP地址和所属地市代码
  10. 【Hackintosh】完善篇之添加节能5项与添加SMBU/SBUS
  11. oracle返回0001错误,ORACLE 异常错误处理
  12. 筱筱笔记:npm发包流程
  13. Y05 - 999、Python - 风变编程
  14. 使用el-tag文字过长超出隐藏
  15. 【Linux命令】Linux命令
  16. 以色列军方对哈马斯发起“城墙卫士行动”:全球首个AI战争
  17. 安卓运营商定制手机锁卡方式研究
  18. SpringBoot使用tkmapper
  19. 疯狂试探mysql单表insert极限:已实现每秒插入8.5w条数据
  20. 药店管理系统源码 his系统源码 HIS源码

热门文章

  1. 从青铜到王者,进阶数据可视化2.0的五个Python库
  2. 【uniapp】微信小程序体验版的下载文件一直显示加载中,开发调试则没有问题
  3. 认识流媒体协议,从 RTSP 协议解析开始!
  4. BI+AI 有没有前途?
  5. php 点号 的用法,基于php中echo用逗号和用点号的区别详解
  6. 安装Ubuntu系统教程(图文结合-详细步骤)
  7. 点到直线距离公式的几种推导
  8. wait和waitpid函数
  9. DoNews专访:28岁的石一和两年融资25亿的DotC United Group
  10. 正则表达式全解析+常用示例