科技文献翻译中文

上传人:lcm****20 文档编号:42283586 上传时间:2018-06-01 格式:DOC 页数:6 大小:86.50KB
返回 下载 相关 举报
科技文献翻译中文_第1页
第1页 / 共6页
科技文献翻译中文_第2页
第2页 / 共6页
科技文献翻译中文_第3页
第3页 / 共6页
科技文献翻译中文_第4页
第4页 / 共6页
科技文献翻译中文_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《科技文献翻译中文》由会员分享,可在线阅读,更多相关《科技文献翻译中文(6页珍藏版)》请在金锄头文库上搜索。

1、虚拟机快速透明的迁移虚拟机快速透明的迁移摘要摘要 本文描述了一个系统的设计和实现,这个系统通过使用虚拟机技术来实现 应用程序的快速、透明迁移。这个系统是第一个能够将未修改的应用程序迁移 至未修改的基于 x86 的主流操作系统上,包括 Windows,Linux 和 Novell NetWare 等。不管是应用程序还是与应用程序通讯的客户端都感觉不到这种迁 移。从测试数据我们可以看出,这种迁移导致的应用程序的暂停时间不超过 1 秒。1. 绪论绪论 快速透明的迁移能够让整个系统在物理机器上实现负载均衡,同时通过将 应用程序从需要服务和更新的机器上迁移到别的机器上,可以提高系统的可用 性和服务性。本

2、文介绍了一个叫 VMotion 的系统,自从 2003 年以来,它都是 VMware VirtualCenter 中的一个组成部分。将来 VMware 的产品会使用 VMotion 在大量服务器上实现自动负载均衡。 本文做了以下贡献: 1.本文第一次描述了能够在现有的应用程序和操作系统上实现虚拟机 的快速透明迁移的系统,而应用程序和操作系统都不需要修改。 2.本文第一次使用标准测试程序来测试数百个虚拟机迁移的性能。 3.本文描述了虚拟机迁移时的开销和所需资源。2. 虚拟机迁移虚拟机迁移虚拟机迁移需要一个正在运行的虚拟机,并将它从一个物理机器迁移到另 一个物理机器。这种迁移对上层的 guest

3、OS,运行在 guest OS 上的应用程序以 及虚拟机的远程客户端来说必须是透明的。用户几乎察觉不到什么变化,唯一 可以感觉到的应该是在迁移过程中程序运行速度会变慢,而在迁移后系统的性 能可能会提高,那是因为虚拟机迁移到一个拥有更多可用资源的机器上了。 本文介绍的虚拟机迁移系统是 VMware VirtualCenter 产品中的一部分,它 管理着 VMware ESX Server。VMware ESX Server 的虚拟化平台由以下两部分构 成:虚拟机监视器(VMM)和虚拟机内核(vmkernel) 。Guest OS 如 Windows、Linux 都运行在虚拟化平台的最上层(见图

4、1) 。虚拟机监视器处理 所有运行在虚拟 CPU 上的指令并且模拟所有的虚拟设备。虚拟机内核调度虚拟 机的运行并分配和管理虚拟机所需的资源。图 1.VMware ESX Server 的虚拟机平台层次结构 通过封装虚拟机运行时所有软硬件状态,虚拟机提供了一个很好的平台来 实现迁移。当虚拟机进行迁移时需要处理以下三种状态: 1.虚拟设备的状态,包括 CPU、主板、网络和存储适配器、软盘和显 卡的状态。 2.设备的外部连接状态,包括网络、USB 设备、SCSI 存储设备、可 移动媒体设备如 CDROM。 3.虚拟机的物理内存。实际上,虚拟机的迁移是个复杂的过程: 1. 迁移过程的初始化:选择需要迁

5、移的虚拟机以及迁移的目标机。 2. 当虚拟机正在运行时,预拷贝虚拟机的内存状态到目标机。 3. 暂停虚拟机并将非存储状态发送到目标机。 4. 将虚拟机的控制状态发送到目标机并在目标机上恢复虚拟机的执行。 5. 发送剩余的存储状态到目标机,删除源机器上的依赖关系。剩下的章节我们将谈到组成虚拟机最重要的三个组成部分的迁移过程,它 们是:网络、SCSI 存储设备和物理内存。网络:网络:为了实现透明的虚拟机迁移,迁移前开放的网络连接在迁移完成后 仍需对外开放,VMware ESX Server 的网络结构使这种迁移成为了可能。 虚拟以太网卡是 VMware ESX Server 虚拟平台的一部分,就像

6、物理网卡一 样,虚拟网卡也有一个在本地网络上独一无二的 MAC 地址。一个虚拟网卡可 以对应一个或多个物理网卡,虚拟内核管理着这种映射关系。同样地,多个虚 拟机的网卡也可以映射到同一个物理网卡。 由于每一个虚拟网卡都有一个与物理网卡独立的 MAC 地址,只要目标机 与源机器位于同一个子网中,我们就可以迁移正在运行的虚拟机而保持网络连 接活跃。 SCSI 存储:存储:我们使用存储域网络(SAN)或 NAS 来迁移 SCSI 设备的连 接状态。假设所有迁移中的物理机器都连接到相同的 SAN 或 NAS 服务上。这 样我们可以通过在目标机上重新恢复磁盘的连接状态来迁移 SCSI 磁盘。 物理内存:物

7、理内存:虚拟机上物理内存的状态是迁移过程中需要处理的最重要的一 个状态。通过暂停虚拟机来传输内存状态会使虚拟很长时间都不能对外提供服 务。我们需要处理的问题是如何才能在虚拟机运行时将内存状态从源机器拷贝 到目标机上。通过改变管理虚拟机内存的方式就可以实现动态迁移。 每个虚拟机都期望能有一段映射到固定地址范围的内存空间,VMware ESX Server 动态的为每个虚拟机分配实际机器上的内存。这需要增加一个间接 映射层来完成这一功能。所有直接对虚拟机内存进行的写操作和对页表的写操 作都将被 VMM 截获,然后 VMM 将虚拟机物理地址映射到机器地址。一旦设 置好虚拟机的内存映射部件和页表,虚拟

8、机在运行过程中就不会在地址翻译上 产生额外的开销。 当虚拟机在源机器上运行时,我们使用间接映射层来完成预拷贝。第一步 就是拷贝虚拟机所有的物理内存。在拷贝之前,将每一个页面设为只读,因此 任何的写操作都会被虚拟机监视器检测到。当第一步完成时,有些页面已经被修改,这些被修改的页面将拷贝到目标机上,而此时虚拟机仍然在运行。这一 过程将重复多次,直到被修改的页面数足够小或数量不再发生变化。当被修改 的页面大小小于 16MB 或被修改的页面大小的减少量小于 1MB 时,停止预拷 贝。3.性能评测性能评测 本节我们将研究上文提到的虚拟机迁移的性能。我们不但测试虚拟机迁移 时不能对外服务的时间,而且测试了

9、迁移对 CPU 在资源分配上的影响。更重要 的是,在高负荷的情况下虚拟机仍然能实现快速透明的迁移。3.1 开始实验开始实验 所有的实验都是在一组 Dell 1600SC 服务器上进行的,每个服务器都有两 个 Intel Xeon 处理器和 1GB 内存。所有服务器都通过 Qlogic 2300 光纤通道卡 连接在 EMC CLARiiON 存储域网络上。他们使用 Intel Pro/1000 千兆网卡来传 输虚拟机的状态。 每一次实验都是在两个服务器之间进行,每 5 秒迁移一个虚拟机,累积迁 移 50 次。 实验中的虚拟机都在进行以下工作: 空闲操作:空闲操作:一个空闲的 Windows Se

10、rver 2000 编译内核:编译内核:在 RedHat 7.2 上编译 Linux 内核 仿真程序:仿真程序:仿真程序运行在 Windows Server 2000 系统上。仿真程序会启 动 3 个工作线程来完成磁盘 I/O,每个线程会对 500MB 的文件进行至少 5 次以 上的写操作。 memtest86:Memtest86 会不断地对内存进行读写操作,它会在循环里运行 1 号测试程序。 dhhammer:Database Hammer 是一个运行在 Windows Server 2000 上的数 据库装载器,它使用客户机/服务器体系结构。当客户端运行在第三方物理机器 上时,服务器正进行

11、迁移。 除了在 3,4 节进行测评时,目的机上也运行有虚拟机,其他几种测试中 只有源主机上运行有虚拟机。3.2 迁移所用时间迁移所用时间 虚拟机迁移会在几个不同步骤之间依次进行,但我们最感兴趣的并不是它 的迁移过程,而是迁移过程中虚拟机的停机时间。这个时间必须足够短,以避 免服务性能产生太大的损失。我们同样还关心虚拟机在端到端之间迁移时所花 费的时间。 停机时间:停机时间:整个停机时间就是虚拟机在源机器上停止运行的时间,主要由 以下几部分构成:传输设备状态到目的主机上的时间、装载设备状态的时间、 拷贝所有剩余的内存页面和正在装载的设备状态的时间。 从图 2 我们可以看出,除了 memtest8

12、6 测试程序以外,运行其他测试程序 的虚拟机的迁移时间都小于 1 秒。同时运行 memtest86 测试程序的虚拟机迁移 时所需迁移的内存大小有所增加。由于 memtest86 比较特殊,在预拷贝时所有 页面都会被修改,所以虚拟机的停机时间就等于传输整个内存状态所需的时间。图 2.虚拟机在执行不同任务时迁移所引起的停机时间和占用内存大小端到端时间:端到端时间:从图 3 我们可以看出端到端时间主要取决于虚拟机所占用的内 存大小。虚拟机占用的内存必须足够大,以保证虚拟机能在大部分时间里正常 运行。在预拷贝时虚拟机仍然在运行,同时,内存正不断地向目的主机传输。 在几种不同情况下,预拷贝的重复次数都比

13、较少。除了 memtest86 需要 2 到 3 次重复以外,其他几种情况都只需重复进行 1 到 2 次的预拷贝,被修改的 页面的数量就已经足够少,此时停止预拷贝。图 3.虚拟机迁移过程中端到端时间3.3 预拷贝产生的影响预拷贝产生的影响 图 4 是 dbhammer 服务器连续三次迁移时客户端所测得的实验数据,从中我 们可以看出内存的预拷贝对网络吞吐量所产生的影响,网络吞吐量在服务器停 机时会急剧下降。图 4 dbhammer 客户端测得的服务器迁移对网络吞吐量的影响内存的预拷贝会使吞吐量产生 20%的小幅下降,主要是由以下两个原因引起 的:虚拟机将预拷贝的页标识为只读,这需要暂停所有的虚拟

14、 CPU,这会产生 一定的开销;处理那些对只读页面进行的写操作也会产生一定的开销。图 5.高负荷运行的源机器预留不同的 CPU 资源对迁移的影响 3.4 资源管理资源管理 为了监视虚拟机迁移对资源管理产生的影响,源机器上运行了 20 个虚拟机。 在预留不同 CPU 资源的情况下,我们测试了一个拥有 512MB 内存的虚拟机迁 移所花费的时间,此虚拟机上运行的系统是 Windows Server 2000。从图 5 我们 可以看出,当预留 30%CPU 资源时,迁移时预拷贝所花费的时间最少,这意味 着为了在千兆网络中维持最大的网络吞吐量大概需要使用 30%的 CPU 资源。 当为迁移预留的 CP

15、U 资源不足时,预拷贝所花费的时间会增加,但不管预 留多少 CPU,虚拟机停机时间都很少,这是因为停止一个虚拟机的运行并将剩 余状态传输到目的主机所需的 CPU 时间是很少的。4.相关研究相关研究 在虚拟机进程的透明迁移这一方面以前已经做过很多相关的研究。Zap 系统 就提供了进程的迁移,Zap 的开发者还对本领域以前所做的工作做过一些讨论。Hansen 和 Jul 实现了一种与 Zap 不同的虚拟机迁移系统。但是这个系统与我 们实现的系统有本质上的区别他们实现的系统需要修改客户操作系统来实 现虚拟机迁移,而我们的虚拟机迁移系统却可以迁移任何基于 x86 体系结构的 操作系统,包括不开源的 W

16、indows 操作系统。Hansen 和 Jul 实现的系统在实现 虚拟机的迁移时,虚拟机上运行的系统必须是可修改的开源操作系统。6.总结总结 以前在应用程序迁移上的研究只取得了有限的成功,主要是因为封装一个 正在运行的应用程序的状态是很困难的。虚拟机却可以很轻松地解决这个问题, 因为虚拟机不但可以封装应用程序的运行状态,而且可以封装操作系统和硬件 的状态。我们实现的虚拟机迁移允许将一个正在运行的虚拟机从一个物理主机 迁移到另一个物理主机,这种迁移对应用程序、操作系统和远程客户端来说是 完全透明的。 选择正确的物理内存的迁移方式对实现虚拟机透明迁移来说是至关重要的。 即便是机器拥有处理能力很强的 CPU 并处于高速网络中,物理内存的迁移仍然 需要花费数秒的时间。我们采用的内存迁移方式可以使虚拟机的停机时间达到 最少,通过实验数据我们可以看到,采用这种迁移方式会使虚拟机的停机时间 小于 1 秒。通过适当的方式来管理 CPU 资源,我们可以很轻松地控制虚拟机迁 移时 0020 的端到端时延,而且不影响运行在该机器上的其他虚拟机。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号