VMware VMotion的功能
对于服务器管理员来说,VMotion允许管理员:1、在资源库中不断地自动分配虚拟机;2、在不中断业务运作的情况下进行各项维修工作,从而令服务器获得最高的可用性。
对于用户来说,VMotion允许用户:1、自动优化和分配资源库,从而大大地提高了硬件的利用率,灵活性和可用性。2、进行定期的硬件设备维护操作,但却不需要预先设定停机时间。3、在服务器发生故障或者表现不佳之前,进行迁移。
VMotion中运用的技术
VMotion从一台物理服务器将虚拟机迁移到另外一台虚拟机要用到下述三项技术:
1. 虚拟机的全部状态信息被压缩在一套存储于共享存储器的文件中。作为载体的存储器类型可以是光纤通道(Fibre Channel),iSCSI存储区域网络(iSCSI Storage Area Network,SAN)或者网络附加存储器(Network Attached Storage,NAS)。VMware的群集虚拟机系统(VMFS)允许多台ESX服务器同时访问同一个虚拟机文件。
2. 虚拟机的动态内存和执行状态在一个高速的网络上进行快速传输,允许虚拟机即时地在源ESX服务器和目标ESX服务器之间进行信息交换。在迁移过程中,VMotion只是在点阵图里对信息交换进行监控,所以整个转移过程对用户来说是透明的。一旦整个内存和系统状态全部复制到目标ESX服务器中,VMotion就会自动终止源虚拟机,同时将点阵图转移到目标ESX服务器中,并在目标ESX服务器中重新启动虚拟机。上述整个操作假如是在一个千兆以太网络中进行,那么不用两秒的时间就可以完成。
3. 虚拟机使用的网络同样也会被目标ESX服务器虚拟化,确保在实时迁移之后,虚拟机的网络身份和连接能够得到保留。VMotion将MAC地址作为进程的一部分来进行管理。一旦目标机被激活,VMotion会检查网络路由器来确保它能识别虚拟机MAC地址新的物理位置。由于虚拟机使用VMotion来进行实时迁移,它的执行状态,网络身份和动态链接都能够得到保护,所以对于用户来说,整个迁移过程并没有引起服务器停机或者网络中断。
VMware VMotion的关键特点
可靠性:自从2004年推出了该产品之后,在成千上万的用户的支持下,VMotion一直不断地为最可靠的实时迁移性能调整标准。
高可用性:最终用户无法觉察到实时迁移所带来的服务器的停机。CPU和网络资源的最大利用确保了实时迁移迅速和有效地进行。
互操作性:无论虚拟机运行在什么操作系统上,实时迁移都可以在任何类型的硬件设备和网络上进行,只要VMware ESX服务器支持该设备和网络。支持由管线通信连接的存储区域网络(SAN)。实行的实时迁移的虚拟机利用带宽高达4GB的光纤通道连接的存储区域网络系统(SAN)。
支持网络附属存储(NAS)和iSCSI的存储区域网络(SAN)。实行实时迁移的虚拟机花费更低的成本,使用更容易管理的存储器。可自定义的CPU兼容性设置。确保虚拟机可以在不同版本的硬件设备上进行迁移,以便虚拟机可以永远处于最新的CPU革新浪潮之中。
易操作:迁移向导。通过迁移向导提供的即时信息,可以为一台虚拟机快速辨别最好的转移对象。
多个并行迁移。在整个IT工作环境中,进行多个并行迁移,来持续不断的优化虚拟机的布局。
优先等级。为每一个实时迁移操作分配一个优先等级,确保当前最需要进行的迁移可以及时反问它们所需要的资源。
安排迁移任务。在每个预定好的时间点上,不需要管理员在场启动,迁移就能够自发进行。
迁移检查追踪。每次迁移都有一份详细的操作报告,包括日期/时间和管理程序初始化迁移的回复信息。
VMotion的具体操作
使用VMotion进行实时迁移允许虚拟机在不中断工作进程的情况下进行。虚拟机的所有状态信息连同它的配置文件都会被迁移到新的主机上。然而与之相连接的虚拟磁盘将会保留在两主机共享的存储器中。在虚拟机的状态信息全部钱一到替换的主机上之后,虚拟机就可以在新的主机上运行了。
需要迁移的状态信息包括当前的内存内容以及所有能够定义和识别该虚拟机的信息。其中,内存信息包括交换数据,操作系统的位数以及存储在内存中的应用程序。而虚拟机的定义和识别信息包括所有映射到虚拟机硬件上的数据,比如BIOS,设备,CPU, 网卡的MAC地址 ,芯片的设置状态等。另外,作为替换的主机还必须满足兼容性要求。
使用VMotion来进行实时迁移一般要经历下述三个步骤:
    1. 当VMotion收到实时迁移的请求时,vCenter服务器就会检查当前主机上的虚拟机是否处于稳定的状态。
    2. 假如VMotion通过了实时迁移请求,那么虚拟机的所有状态信息(包括内存,注册表和网络连接)就会被复制到目标主机上。
    3. 信息复制完毕之后,虚拟机将在新的主机上重新启动,投入运作。


如果在迁移过程中发生了错误,那么虚拟机将会自动恢复到原来的状态和位置。

vSphere 4中的VMotion
近日,VMware公布了新一代服务器虚拟化软件,其产品名称由VMware Infrastructure 3改为VMware vSphere 4,这表明了VMware对于服务器虚拟化已经从一个虚拟化的基础平台,走向一个由虚拟化建构起来的资料中心。VMotion在vSphere 4中也得到了很大的改进。最明显的特点就是能够将一台正在运行的虚拟机从一台物理ESX主机上迁移到一台虚拟ESX主机上。


从ESX 3.5升级到vSphere 4的过程中,ESX 3.5的VMotion可以不需要做任何改变就也可适用于vSphere 4。但是,如果使用的是不同的处理器芯片,并且还需要开启以太网虚连接(EVC),那么就需要做一点小变动,而且EVC的连接可能还会有停机的危险。另外,vSphere 4的VMotion却无法兼容ESX 3.5版本的主机。
Storage VMotion
Storage VMotion功能只存在于ESX 3.5和vCenter 2.5以及以上版本。是ESX系列的一个重要的改进。很到人可能会以为Storage VMotion是VMotion中的一项功能,事实上并非如此,两者其实是并行的。VMotion针对的是服务器中虚拟机的迁移,而Storage VMotion针对的是虚拟机中存储信息的迁移,主要是移动虚拟机的个人主目录,配置文件(vmx),日志,交换文件(VSWP),快照,磁盘或者逻辑硬盘(vmdk),操作系统磁盘,数据盘以及所有跟该虚拟机相关的文件。

Storage VMotion的性能要求
Storage VMotion的性能要求要比VMotion严格得多:
安装带有VMware VMotion 许可证的VMware vCenter;VMware VMotion在ESX服务器上必须被激活并且进行了适当的配置(可以参考VMware管理员基础指南)。
1. 虚拟机不能使用任何VMotion禁用的设备(比如软盘,CD-ROM)。
2. Storage VMotion并不要求一定要连接上物理网络。
ESX服务器必须拥有足够的资源来完成Storage Vmotion的完整操作。
虚拟机的磁盘必须通过快找技术创建一个子磁盘,用来将原有磁盘的数据复制到新的节点上。如果没有这项功能,Storage VMotion将无法正常工作。
ESX服务器必须能够访问员服务器和目标服务器的存储器。
Storage VMotion一次最多可以在同一个数据存储器中同时执行四个迁移操作。
只支持光纤通道和iSCSI存储序列。
虚拟机要求Storage VMotion不能与内部虚拟交换机的网络相连接。
虚拟机要求Storage VMotion不能跟其他虚拟机有群级关系,特别是使用微软群集服务器或者Sun群集器的时候。
在同一台虚拟机上不允许同时使用Storage VMotion和VMotion。一台虚拟机的数据存储中心必须先使用Storage VMotion搬移到目标服务器的存储器中。然后虚拟机才可以使用VMotion迁移到目标ESX服务器上。两者的迁移顺序并没有限制。
Storage VMotion的操作步骤
1. 复制虚拟机的个人主目录到新的节点。这个步骤使用近距离无线通信技术(NFC)×××来将文件复制的到新的节点上。

虚拟机主目录拷贝
2. 自我迁移(Self-VMotion)到新的虚拟机主目录上。Self-VMotion的进程跟正常的VMotion是一样的。这一步使用新的转换文件,并重新打开其他复制文件,比如虚拟机配置文件以及其他类似的文件。

自我迁移
3. 对磁盘进行快照处理。这一步骤创建了一个子磁盘,用来记录所有虚拟机数据上的变化。

子磁盘的创建
4. 复制虚拟机磁盘到目标服务器。

虚拟机磁盘的拷贝
5. 将步骤四创建的子磁盘整合进拷贝磁盘中。

子磁盘的结合
6. 删除原来虚拟机的主目录和磁盘,并将新的拷贝磁盘的状态设置为可读。

移除源虚拟机
vSphere 4中的Storage VMotion
在vSphere 4中可以使用图形用户界面(GUI)来运行Storage VMotion。整个操作过程因为可视化的操作界面而变得非常简单。Storage VMotion的所有功能都集成在vCenter中,不需要任何外部插件。

在第一个界面中选择修改数据存储(Change datastore)。值得注意的是,选项一是用于虚拟机之间的VMotion,选项三只能在虚拟机的电源被断开之后才可用。


选择合适的数据存储中心来迁移你的信息,并且点击继续。


确认前已成功之后,就选择你所需要的选项。第一个选项是用来保留虚拟机之前的配置。第二个选项是进入thin provisioned模式。点击下一步(next),开始进行Storage VMotion操作。对于管理员来说,这个功能可以大大地简化Storage VMotion的进程。