xen虚拟化实战系列(十二)之xen虚拟机高可用之在线迁移

简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://koumm.blog.51cto.com/703525/1286643

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

xen虚拟化实战系列(一)之xen虚拟化环境安装
xen虚拟化实战系列(二)之xen虚拟机安装
xen虚拟化实战系列(三)之xen虚拟机复制
xen虚拟化实战系列(四)之xen虚拟机扩展磁盘空间一法
xen虚拟化实战系列(五)之xen虚拟机扩展磁盘空间再一法
xen虚拟化实战系列(六)之xen虚拟机破解密码

xen虚拟化实战系列(七)之xen虚拟机VNC访问配置

xen虚拟化实战系列(八)之xen虚拟机开机自启动配置
xen虚拟化实战系列(九)之xen虚拟机时间配置
xen虚拟化实战系列(十)之xen虚拟机双网卡配置

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载

xen虚拟化实战系列(十二)之xen虚拟机高可用之在线迁移

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

1. 方案背景概述

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

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

架构图如下:

xen逻辑架构

应用场景如下:

(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

节点2已经按xen虚拟化实战系列(十)之xen虚拟机双网卡配置,配置成了双网桥,这一步也可以不用。

(3) nfs服务器

操作系统版本 : OEL5.8 x64    
桥接IP地址1   : 192.168.233.152     
桥接IP地址2   : 10.10.10.30

3.  共享存储的配置  

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

(1)  nfs服务配置

image

启动nfs服务 

image

# chkconfig nfs on 

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

163116214.png

挂载nfs目录

image

将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目录
image

配置/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上创建虚拟机配置文件

image

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

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

image

18行加上注释

image

33行取消注释

image

47行取消注释

image

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

image

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

image

image

5. xen在线迁移测试

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

image

查看虚拟机的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

image

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

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

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

image

# xm migrate -l test01 192.168.233.151 

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

image

(3) 在node2虚拟主机上

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

image

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

本文出自 “koumm的linux技术博客” 博客,请务必保留此出处http://koumm.blog.51cto.com/703525/1286643

相关文章
|
3月前
|
监控 Java 调度
探秘Java虚拟机(JVM)性能调优:技术要点与实战策略
【6月更文挑战第30天】**探索JVM性能调优:**关注堆内存配置(Xms, Xmx, XX:NewRatio, XX:SurvivorRatio),选择适合的垃圾收集器(如Parallel, CMS, G1),利用jstat, jmap等工具诊断,解决Full GC问题,实战中结合MAT分析内存泄露。调优是平衡内存占用、延迟和吞吐量的艺术,借助VisualVM等工具提升系统在高负载下的稳定性与效率。
77 1
|
5天前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
13 1
KVM虚拟机的热迁移
|
6天前
|
存储 虚拟化
使用DiskGenius工具来实现物理机迁移虚拟机,实现虚拟化
【9月更文挑战第1天】使用 DiskGenius 工具可将物理机迁移到虚拟机,实现系统与数据的虚拟化。此过程包括:安装 DiskGenius 和准备虚拟化平台;备份物理机数据;使用 DiskGenius 备份磁盘;在虚拟化软件中创建新虚拟机并导入磁盘备份;配置及调整虚拟机设置;测试性能并优化资源分配。这有助于测试、开发及系统管理。
|
2月前
|
存储 安全 虚拟化
虚拟化数据恢复—虚拟机数据丢失导致Hyper-V服务瘫痪数据恢复
虚拟化数据恢复环境: 一台服务器上部署的Hyper-V虚拟化平台,虚拟机的硬盘文件和配置文件放在一台某品牌MD3200存储中。该存储中有一组由4块硬盘组建的raid5磁盘阵列,还有一块大容量硬盘存放虚拟机数据文件的备份。 虚拟化故障: MD3200存储中虚拟机数据文件丢失,导致Hyper-V服务瘫痪,虚拟机无法使用。
虚拟化数据恢复—虚拟机数据丢失导致Hyper-V服务瘫痪数据恢复
|
18天前
|
Linux KVM 虚拟化
在Linux中,如何进行虚拟机和容器的备份和迁移?
在Linux中,如何进行虚拟机和容器的备份和迁移?
|
2月前
|
SQL 存储 数据库
虚拟化数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
虚拟化数据恢复环境: 某品牌R720服务器,4块STAT硬盘通过H710P阵列卡组建了一组raid10磁盘阵列。服务器上部署XenServer虚拟化平台,虚拟机安装Windows Server系统,作为Web服务器使用,运行SQL Server数据库。共有2个虚拟磁盘:数据盘+系统盘。 虚拟化故障: 机房断电导致XenServer虚拟化平台中一台VPS不可用,XenServer虚拟机磁盘文件丢失。
虚拟化数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
|
2月前
|
缓存 监控 Java
Java虚拟机(JVM)性能调优实战指南
在追求软件开发卓越的征途中,Java虚拟机(JVM)性能调优是一个不可或缺的环节。本文将通过具体的数据和案例,深入探讨JVM性能调优的理论基础与实践技巧,旨在为广大Java开发者提供一套系统化的性能优化方案。文章首先剖析了JVM内存管理机制的工作原理,然后通过对比分析不同垃圾收集器的适用场景及性能表现,为读者揭示了选择合适垃圾回收策略的数据支持。接下来,结合线程管理和JIT编译优化等高级话题,文章详细阐述了如何利用现代JVM提供的丰富工具进行问题诊断和性能监控。最后,通过实际案例分析,展示了性能调优过程中可能遇到的挑战及应对策略,确保读者能够将理论运用于实践,有效提升Java应用的性能。 【
148 10
|
16天前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
48 0
|
5天前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
27 11
虚拟化技术概述及KVM环境安装
|
30天前
|
存储 运维 虚拟化
Docker技术概论(1):Docker与虚拟化技术比较
Docker技术概论(1):Docker与虚拟化技术比较
75 17
Docker技术概论(1):Docker与虚拟化技术比较