【译文】对vMotion进行故障排除

四月的奥德赛 VMware 110 次浏览 没有评论

在以前的博客文章中,我们研究了vMotion流程(高级vMotion流程)以及如何利用高带宽网络来减少实时迁移时间(如何调整vMotion以缩短迁移时间?)。 如果实时迁移不成功,则该博文致力于获取有关对vMotion进行故障排除时的处理方法的更多知识。 迁移失败的典型原因是什么? 要查找什么日志? 让我们来看看如何解决和防止vMotion操作失败。

 

常见故障

导致实时迁移失败的常见故障和模式如下:

     vMotion网络连接问题
         ESXi主机在20秒后无法ping或超时。
         VMkernel接口和网络层(即交换机和路由器)之间的MTU不匹配
         在ESXi主机上启用了vMotion的哪些网络上的配置错误
      存储
         数据存储无法访问或遇到APD(所有路径均关闭)
         I / O超时超过20秒
     vMotion成功,但是发生来宾问题
         VM网络无法访问–目标ESXi主机上没有第二层连接
     资源过量使用
         长时间无法分配内存
         交换需要很长时间,导致vMotion超时

 

确认您已满足所有vMotion要求。 这包括vMotion问题的主要原因,这是网络连接或MTU不匹配。 如果无法查明问题,查看vSphere日志以查看发生了什么可能会很有用。

 

vSphere日志

深入研究vSphere日志对于验证导致实时迁移失败的原因很有用。 vMotion进程同时使用vCenter Server和ESXi组件。 登录到五个不同的日志文件中涉及五个过程。

 

vCenter Daemon(VPXD),vCenter Agent(VPXA)和Host Daemon(hostd)是vMotion进程的控制平面。 “数据平面”处于VMX进程和VMkernel中。 第一步是在这些日志中找到操作ID(opID)。 该opID映射到迁移ID。 使用这两个标识符,我们可以按照vMotion流程查看相应的日志文件。

 

操作编号

在vCenter Server实例上的VPXD日志中找到vMotion进程的”操作ID”。 您可以连接到VCSA(vCenter Server Appliance)实例的控制台,然后转到bash shell。 您可以发出命令:

grep “relocate” /var/log/vmware/vpxd/vpxd-*.log | grep BEGIN

此命令的输出公开包含操作ID的日志条目:

/var/log/vmware/vpxd/vpxd-214.log:2019-09-24T15:38:10.042Z info vpxd[29243] [Originator@6876 sub=vpxLro opID=jzlgfw8g-11824-auto-94h-h5:70003561-20] [VpxLRO] — BEGIN task-8031 — vm-269 — vim.VirtualMachine.relocate — 52b17681-35d1-998b-da39-de07b7925dda(520681db-25b7-c5d6-44d7-6a056620e043)

 

迁移编号

现在,您已检索到操作ID(opID),可以使用opID在ESXi主机上的托管日志文件中查找迁移ID。 当您知道所涉及的源和目标ESXi主机时,它会有所帮助。 此示例是使用我们在上一条命令中找到的操作ID的计算和存储vMotion(XvMotion)。

grep jzlgfw8g-11824-auto-94h-h5:70003561-20 /var/log/hostd.log | grep -i migrate

源ESXi主机输出:

2019-09-24T15:38:47.070Z info hostd[2100388] [Originator@6876 sub=Vcsvc.VMotionSrc.3117907752192811422 opID=jzlgfw8g-11824-auto-94h-h5:70003561-20-01-10-e036 user=vpxuser:VSPHERE.LOCAL\Administrator] VMotionEntry: migrateType = 1
2019-09-24T15:38:47.072Z info hostd[2100388] [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/b86202d8-fb958817-0000-000000000000/NH-DC-02/NH-DC-02.vmx opID=jzlgfw8g-11824-auto-94h-h5:70003561-20-01-10-e036 user=vpxuser:VSPHERE.LOCAL\Administrator] VigorMigrateNotifyCb::

hostlog状态从成功更改为无

目标ESXi主机输出:

2019-09-24T15:38:47.136Z info hostd[2099828] [Originator@6876 sub=Vcsvc.VMotionDst.3117907752192811422 opID=jzlgfw8g-11824-auto-94h-h5:70003561-20-01-2c-3c35 user=vpxuser:VSPHERE.LOCAL\Administrator] VMotionEntry: migrateType = 1

 

VMkernel条目

现在我们有了迁移ID,我们可以使用它来提取有关vmkernel日志文件中特定实时迁移的vMotion进程的信息。 在源和目标ESXi主机上使用以下命令:

grep VMotion /var/log/vmkernel*

输出揭示了vMotion进程上的几个有趣的数据点,例如用于传输数据的平均带宽。

源ESXi主机输出:

2019-09-24T15:38:47.402Z cpu13:46101760)VMotionUtil: 5199: 3117907752192811422 S: Stream connection 1 added.
2019-09-24T15:38:47.445Z cpu8:46092538)XVMotion: 2062: Allocating pool 0.
2019-09-24T15:38:47.445Z cpu8:46092538)XVMotion: 642: Bitmap page: len = 16384, pgLen = 1, bitSet = 3001, bitClear = 13383.
2019-09-24T15:38:47.445Z cpu8:46092538)XVMotion: 642: Bitmap block: len = 131072, pgLen = 4, bitSet = 131072, bitClear = 0.
2019-09-24T15:38:47.445Z cpu8:46092538)VMotion: 8134: 3117907752192811422 S: Requiring explicit resume handshake.
2019-09-24T15:38:47.445Z cpu13:46101760)XVMotion: 3384: 3117907752192811422 S: Starting XVMotion stream.
2019-09-24T15:39:34.622Z cpu14:46101762)VMotion: 5426: 3117907752192811422 S: Disk copy complete, no bandwidth estimate.
2019-09-24T15:39:34.905Z cpu24:46092539)VMotion: 5281: 3117907752192811422 S: Stopping pre-copy: only 37 pages left to send, which can be sent within the switchover time goal of 0.500 seconds (network bandwidth ~185.134 MB/s, 1536000% t2d)
2019-09-24T15:39:34.965Z cpu13:46101760)VMotionSend: 5095: 3117907752192811422 S: Sent all modified pages to destination (network bandwidth ~281.100 MB/s)
2019-09-24T15:39:35.140Z cpu15:46101757)XVMotion: 642: Bitmap page: len = 16384, pgLen = 1, bitSet = 3001, bitClear = 13383.
2019-09-24T15:39:35.140Z cpu15:46101757)XVMotion: 642: Bitmap block: len = 131072, pgLen = 4, bitSet = 131072, bitClear = 0.

 

目标ESXi主机输出:

2019-09-24T15:38:47.397Z cpu15:2099283)VMotionUtil: 5199: 3117907752192811422 D: Stream connection 1 added.
2019-09-24T15:38:47.440Z cpu3:3543984)XVMotion: 2062: Allocating pool 0.
2019-09-24T15:38:47.440Z cpu3:3543984)XVMotion: 642: Bitmap page: len = 16384, pgLen = 1, bitSet = 3001, bitClear = 13383.
2019-09-24T15:38:47.440Z cpu3:3543984)XVMotion: 642: Bitmap block: len = 131072, pgLen = 4, bitSet = 131072, bitClear = 0.
2019-09-24T15:38:47.440Z cpu3:3543984)VMotion: 8134: 3117907752192811422 D: Requiring explicit resume handshake.
2019-09-24T15:39:34.907Z cpu3:3543984)VMotionRecv: 761: 3117907752192811422 D: Estimated network bandwidth 205.138 MB/s during pre-copy
2019-09-24T15:39:34.960Z cpu3:3543984)VMotionRecv: 2961: 3117907752192811422 D: DONE paging in
2019-09-24T15:39:34.960Z cpu3:3543984)VMotionRecv: 2969: 3117907752192811422 D: Estimated network bandwidth 200.096 MB/s during page-in
2019-09-24T15:39:35.059Z cpu6:3543972)VMotion: 6675: 3117907752192811422 D: Received all changed pages.
2019-09-24T15:39:35.067Z cpu1:3543972)VMotion: 6454: 3117907752192811422 D: Resume handshake successful
2019-09-24T15:39:35.082Z cpu6:3543980)XVMotion: 642: Bitmap page: len = 16384, pgLen = 1, bitSet = 3001, bitClear = 13383.
2019-09-24T15:39:35.082Z cpu6:3543980)XVMotion: 642: Bitmap block: len = 131072, pgLen = 4, bitSet = 131072, bitClear = 0.

 

虚拟机日志文件条目

虚拟机日志文件位于虚拟机主文件夹中,该文件夹还包括vmx文件和vmdk文件。 使用ESXi主机上的root用户访问权限,可以转到相应的文件夹。 我的测试虚拟机位于vSAN上,因此我将使用symlink / vmfs / volumes / vsanDatastore查找虚拟机主目录。 使用以下命令可以显示有关实时迁移的更多信息,例如源和目标IP地址:

grep “3117907752192811422” vmware.log

输出:

2019-09-24T15:38:47.280Z| vmx| I125: Received migrate ‘from’ request for mid id 3117907752192811422, src ip <192.168.200.93>.
2019-09-24T15:38:47.280Z| vmx| I125: MigrateSetInfo: state=8 srcIp=<192.168.200.93> dstIp=<192.168.200.91> mid=3117907752192811422 uuid=4c4c4544-004a-4c10-8044-c7c04f4d4e32 priority=high
2019-09-24T15:38:47.282Z| vmx| I125: MigID: 3117907752192811422
2019-09-24T15:39:34.971Z| vmx| I125: Migrate_Open: Restoring from <192.168.200.93> with migration id 3117907752192811422
2019-09-24T15:39:35.023Z| vmx| I125: Migrate_Open: Restoring from <192.168.200.93> with migration id 3117907752192811422

该博客文章旨在显示使用了什么日志条目,即使示例性vMotion操作成功完成了。 显示的日志条目包含许多详细信息,可带您完成整个过程。 如果出现故障,这些日志将是寻找可能原因的好资源。

发表评论

Go