迁移是虚拟化技术的基本福利,允许服务器之间无缝迁移虚拟机,而不会出现任何性能影响。
检查迁移设置或者重新连接主机服务器
在服务器之间进行VM迁移首先要求两个服务器启用迁移功能。例如,使用VMware ESX或者ESXi的两个服务器必须启用vMotion。如果是Hyper-V服务器进行VM迁移,一定要确定两台服务器的动态迁移功能可用。VMware ESX或ESXi服务器上,在配置选项卡为特定的vSphere客户端启用vMotion,所以IT管理员必须使用与每个hypervisor匹配的文档并在每个服务器上启用迁移功能。
检查服务器硬件的兼容性和设备相关性
虚拟化的服务器专门用来将底层的硬件从上层的工作负载抽离——抽离让工作负载迁移变得可能——但是有小部分情况可能会导致源、目的服务器的硬件不兼容,导致迁移失败。
排错的第一步是评估服务器硬件和配置。举个简单的例子,源/目的服务器需要使用完全相同处理器来进行工作负载迁移。每个系统BIOS的处理或者I/O虚拟化设置稍微有所不同也会引起硬件问题。
当VM依赖目的服务器上不可用的硬件时,也会导致迁移失败。比如,像VMware ESX/ESXi等hypervisor允许VM连接到物理磁盘。如果VM依赖与源服务器连接的物理磁盘——而目的服务器上没有——迁移就出问题了。安全断开任何本地物理磁盘或者源服务器VM上的客户端设备,然后再重新进行迁移。
检查服务器间的网络连接
迁移依赖网络连接,因此源/目的服务器之间的任何连接问题都能轻易影响迁移活动。最直接的方法是ping源/目的服务器之间的网络连接。例如,VMware的vmkping可以在源服务器上使用命令shell ping 目的服务器。进入到主机名称或者目的服务器的IP地址,查看成功的ping反馈,如:vmkping 192.168.1.1
还可以通过Windows命令提示或者Linux命令行使用标准的ping命令执行该过程。如果ping成功了,证明源、目的服务器之间的LAN通讯正常。如果不成功,源、目的服务器上的网卡(NIC)可能存在不兼容性。
一个常见的兼容性问题是使用超长帧。例如,如果一个服务器的NIC配置了支持超长帧,另外一个没有,那么这两个服务器不会正常通信,工作负载迁移不会成功,除非两个NIC的配置完全相同。使用目标服务器的主机名ping时,会发生另一个常见的问题。如果主机名ping失败了,但是IP地址ping正常,说明主机名解析出问题了,解决这个问题会对解决连接问题有帮助。
检查目的服务器上的计算资源
如果目的服务器上没有足够的计算资源,工作负载迁移也会失败。当目的服务器缺少足够的处理核心、内存空间、NIC端口或者存储时,就不能储备新的工作负载。随着物理服务器数量下降和工作负载整合水平的提升,这已经变成越来越普遍的问题。
例如,如果目标服务器已经从从其他系统接受额外的工作负载失败,这时就会发生资源短缺。另外,如果目的服务器上已有的工作负载已经获得了额外的计算资源,以满足用户活动增加所引起的更的的资源需求,这种情况下,资源短缺也会发生。试着将工作负载迁移到其他有足够计算资源的系统(比如闲置或备用的服务器),或者在有需求的服务器上执行工作负载平衡。
一个常见的问题是,目的服务器上缺少磁盘空间,所以要检查可用的磁盘空间。例如,VMware ESX/ESXi用户可面向目的服务器打开一个控制台,使用df -h命令监测易用的空间(或者使用vdf –h命令检查VMFS卷上的空间)。如果没有足够的空间来存储迁移过来的工作负载,管理员需要腾出空间或者将工作负载迁移到其他系统里。如果存储通过存储区域网(SAN)提供,确认源、目的服务器配置相同的分区。
在物理服务器之间迁移工作负载是虚拟化环境中最基本的功能,但充满了各种潜在问题。Hypervisor漏洞、迁移设置、意料之外的硬件相关性、网络连接问题和配置问题、存储资源和SAN设置都有可能导致工作负载迁移失败。幸运地是,一旦IT专业人员了解最常见的迁移问题,一般可以隔离和纠正许多问题。