Xen虚拟机的迁移之动态迁移法(2)

需要注意的是,要想改变Domain的运行地点,必须修改默认的Xend配置文件。此外,要使所做的修改在主机上生效,必须重新启动Xen 服务器所在的主机。 我们需要修改以下配置:

·Xend-relocation-server :该标志用于启用/取消服务器迁移功能。默认时,该标志设为no ,即不允许改变服务器的位置。在迁移过程中,Domain虚拟内存将变成未经任何加密的原始形式。所以,在不可信的网络上启用该选项时一定要倍加小心。

·Xend-relocation-port :xend守护进程通过该端口进行迁移。这个端口的缺省值是8002。

另外,还有两个无需修改的参数,当在企业部署环境进行迁移时也要注意一下:

·Xend-relocation-address :该标志将Domain的迁移限制到特定的接口上。指定的地址是侦听用于Domain迁移的入局连接的接口地址。只有启用xend-relocation-server参数后,才会用到这个标志。

·Xend-relocation-hosts-allow:这个标志定义了允许跟迁移端口进行通信的主机。其值为一个由空格分隔的正则表达式序列。如果该值为空,那么将允许全部输入连接,否则,该值要么与一个IP地址相匹配,要么与一个完整域名相匹配

事实上,从hostB到hostC的迁移过程,是分为多个阶段进行的,如下所示:

第一阶段:迁移之前。

这时,Fuwa Domain运行于hostB,并且是一个活动的Domain。

第二阶段:预定。

在hostB上发出一个迁移请求,然后检查和确认在hostC上可用的资源。然后,Xend在hostC上按照所需的尺寸准备一个VM容器。如果Xend无法在hostC上获得所需的资源,那么一切就此结束。该Domain依旧运行在hostB上,就像什么事情也没发生一样,此次迁移尝试就此放弃。

第三阶段:重复预拷贝。

先将所有内存页面从hostB传送到hostC,然后继续传输在先前传送过程中发生变化的页面。最终,所以页面都被拷贝到hostC。

到第三阶段为止,Fuwa Domain仍然正常运行于hostC之上。

第四阶段:中止并拷贝。

在hostB上运行着的Domain被挂起,其所有网络流量也被重定向至hostC。这个阶段结束后,除了在hostB上有一个挂起的Domain外,hostB上还有了这个被挂起的Domain的副本。这时,hostB上被挂起的Domain还可以作为原始副本,万一这一步失败,它还能在hostB上恢复运行。

第五阶段:交付。

如果这一步没有错误或失败的话,hostC会向hostB发送一个指示信息,指出它已经拥有了一个跟hostB完全一致的Domain映像。现在,hostB将从它的Xen 服务器中删除该Domain。从这时起,hostC将成为这个Domain的第一宿主机。

在第四阶段至第五阶段期间,Fuwa Domain处于停机状态。

第六阶段:激活。

在hostC上激活被迁移的Domain。该Domain内部的全部设备驱动程序现在关联至新的机器上。至此,Fuwa Domain又在hostC上复活了。

这些步骤都是在幕后进行的,正是这一系列默默无闻的操作,才使得迁移能够如此平稳的和无缝的过渡!

四、结束语

本章我们研究了迁移Xen客户机Domain的两种方式:存储还原法和动态迁移法。前一种方法类似便携式计算机的深度休眠,它先将捕获的domain运行状态作为映像存放在磁盘上,之后再用该映像对这个domain 进行还原。后一种方式以最少的中断和停机时间来动态改变处于运行状态中的domain的运行位置。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/68b1b84972bcfdcaa52ed210556691ac.html