IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

xen虚拟机的迁移类型

MySQLOPS 数据库与运维自动化技术分享 2012-05-24 22:44:46 累计浏览 2,790 次
本机暂存

【导读】对于安装使用xen虚拟机大家已是很熟悉的操作了,但有些对于xen migrate的操作有的还不太熟悉。此xen高可用技术可保证guest的不间断服务。
下面介绍几种常用的xen Guest域迁移操作,其中主要介绍动态迁移,如文中有不当之处,欢迎拍砖。
一.冷静态迁移,使用此方法需关闭GUEST域。
xm save domain/id CheckpointFile 保存虚拟机状态检查点,检查点中保存着guest配置当前状态信息。
然后拷贝guest域配置文件、镜像、和检查点文件到目标xen server机器。
xm create -config  xx.xml  启动guest域。
恢复检查点 xm restore  CheckpointFile
 
二.Warm Static (Regular) Migration 温静态迁移或定期迁移
这种迁移只是原宿主机上临时的暂停(suspend)guest域无需关机或重启,然后将其内存和进程在目标宿主机上执行恢复(resume)操作。
如题:

xm migrate vmtest 192.168.200.61  #此时guest域已中断服务。

[root@vm61 etc]# ping 192.168.200.40  (已不通,此时guest域已是暂停状态)
PING 192.168.200.40 (192.168.200.40) 56(84) bytes of data.
From 192.168.200.61 icmp_seq=1 Destination Host Unreachable
From 192.168.200.61 icmp_seq=2 Destination Host Unreachable

guest迁移完成后,guest域已正常运行。
[root@vm61 etc]# ping 192.168.200.40
PING 192.168.200.40 (192.168.200.40) 56(84) bytes of data.
64 bytes from 192.168.200.40: icmp_seq=1 ttl=64 time=2.13 ms

— 192.168.200.40 ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.139/2.139/2.139/0.000 ms
[root@vm61 etc]# xm console vmtest

CentOS release 5.8 (Final)
Kernel 2.6.18-308.el5xen on an x86_64

localhost.localdomain login:

三.Live Migration  动态实时迁移
有时为了迁移guest域而中断了系统服务是不合适的。当然最理想是动态迁移只需瞬间而中断系统服务即可迁移到新的物理主机。
以下内容将介绍迁移要求和动态迁移操作。

迁移要求:
1.两个或多个物理主机需打开迁移配置
2.物理主机之间是在互通的同一局域网内
3.物理主机之间需共享存储
4.物理主机之间guest配置文件需相同
5.目标物理主机上的系统资源需满足GUEST域的需求
6.物理主机之间需使用同一版本的XEN

动态迁移操作(server1dom0和server2dom0两台物理主机,xen版本为4.1):
1.两物理主机需要打开/etc/xen/xend-config.sxp 里的以下配置,然后重启xend服务。
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address ”)
(xend-relocation-hosts-allow ”)
2.设置共享存储
以NFS为例:
在server1dom0上安装nfs server.
*NFS需要安装nfs-utils和portmap(两台物理机都需启动此服务程序)服务。

[root@xm xen]# cat /etc/exports
##nfs配置  可读写 拥有root权限
/mnt 192.168.0.0/16(rw,no_root_squash) 

然后启动nfs server:
[root@xm xen]# /etc/init.d/nfs start
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS 守护进程:                                        [确定]
启动 NFS mountd:                                          [确定]

server2dom0挂载server1dom0 的nfs共享到同一路径:
mount -t nfs 192.168.200.199:/mnt /mnt

3.迁移操作
假设在服务的GUEST配置文件为:
[root@xm xen]# cat vmtest
name = “vmtest”
uuid = “3b5c0632-5645-bf41-0092-49485b3c13a1″
maxmem = 512
memory = 512
vcpus = 1
bootloader = “/usr/bin/pygrub”
on_poweroff = “destroy”
on_reboot = “restart”
on_crash = “restart”
disk = [ "tap:aio:/mnt/vmtest.img,xvda,w" ]
vif = [ "mac=00:16:3e:7c:23:a1,bridge=xenbr0,script=vif-bridge" ]

运行状态:
[root@xm xen]# xm li
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   512     2     r—-     82.1
vmtest                                       3   512     1     -b—-      4.

迁移命令:
xm migrate vmtest(Guest名称/id) -l 192.168.200.60 (目标物理主机IP)  #等待完成即可。

目标物理主机:
[root@vm60 ~]# xm li
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1508     2     r—-   1766.2
vmtest                                       9   512     1     -b—-      3.7

经过以上操作动态迁移就完成了。

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 记录一个软中断问题 (累计阅读 16,955)
  2. 在百度的第一年 (累计阅读 6,921)
  3. 双机mount数据库出现ORA-00600[kccsbck_first] (累计阅读 5,148)
  4. MySQL5.5复制/同步的新特性及改进 (累计阅读 4,658)
  5. 利用MySQL Cluster 7.0 + LVS 搭建高可用环境 (累计阅读 4,637)
  6. 自己动手实现Multi-Master Replication (累计阅读 3,920)
  7. 寻找适合你的MySQL高可用解决方案 (累计阅读 3,906)
  8. ZooKeeper权限控制初探 (累计阅读 3,756)
  9. 关于Rsyslogd 的一些配置 (高性能、高可用 rsyslogd) (累计阅读 3,716)
  10. 海纳百川――人人网海量存储系统Nuclear开发手记 (累计阅读 3,597)