未解决
此帖子已超过 5 年
2 Intern
•
1.1K 消息
0
849
基于5.x VAAI的vMotion实战
基于5.x VAAI的vMotion实战
转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese
介绍
本文的创作灵感来自于EMC中文技术社区的一个真实的客户答疑,主题是关于“vnx5500在vmware 进行vMotion时的问题”。这些问题应该已经解决了,作者特此将其整理成文,以飨读者。
客户的问题是:
为什么我的vnx5500在vmware 进行vMotion时,还是数据从fc交换机走的流量,不是应该在存储内的吗,需要特殊的配置吗?
我的情况是这样 2个vmfs, vmfs3 在spa,vmfs4在spb。
我对虚机进行storage vMotion 从vmfs3 到vmfs4,如果vaai启用,正常的话是否就应该没有虚机所在主机 fchba 产生高流量,并且2个spa的 fcsan交换机接口也不会产生高流量。在storage vMotion时产生高流量就说明没有offload到存储加速。
更多信息
这种现象只有在vsphere5.1才能看到。
以前的vMotion不会在不同的datastore/LUN之间迁移虚拟机,要求ESXi主机必须访问同一个datastore/LUN。
5.1的vMotion的增强功能是在把虚拟机从一个ESXi主机迁移到另一个ESXi主机时,即使他们访问的是不同的datastore/LUN,也能顺利迁移,因为这里结合了storage vMotion技术。
如果源和目标datastore/LUN在同一个阵列里面,那么是不会有流量经过交换机的。所以,你的两个datastore/LUN必然是在不同的阵列里面。
我们检查了下esx的vaai情况确认是打开并且支持的
naa.600601604ad03100e807b43f20ffe111
VAAI Plugin Name: VMW_VAAIP_CX
ATS Status: supported
Clone Status: supported
Zero Status: supported
Delete Status: supported
其它有特别的地方是我在esx上面都安装过powerpath/ve ,并且目前的路径管理plugin 是由powerpath接管的,安装了powerpath后在路径管理里面是识别不出存储类型的,如下图:
我VAAI已经默认在所有的VNX上是启动的,你不需要安装任何enabler或者其他行动来启用它。
在vSphere client上面你应该能看到datastore支持硬件加速。
VMkernel中有几个必要组件能使VAAI正常工作。
其中第一项是插入存储架构(PSA)装置过滤器框架。没有PSA device filter framework,VAAI的存储阵列类型的策略(SATP),就必须实施在每个阵列的基础上。 PSA装置过滤器框架的实施能减少重复代码在VMkernel中节省内存空间。此外,如果VAAI SATP实施了,它会阻止其他第三方的插件,如EMC的PowerPath,来使用offload。
第二个需要的组件可以被称为VAAI插件特定的VAAI filter。它实现了供应商特定的VAAI功能如ATS,XCOPY和WRITE_SAME的。
所以要在LUN上使用VAAI功能,你必须同时为每个设备启用PSA装置过滤器和一个特定于供应商的VAAI插件。 VMware有一个单一的PSA装置过滤器插件叫做VAAI_FILTER。如果设备支持VAAI offload,它首先将被VAAI_FILTER认到。
检查一下你的datastore是不是被VAAI_FILTER识别。
基于VAAI的功能,它使ESX主机把特定的虚拟机和存储管理操作卸载到阵列中。如果操作中涉及的两个LUN所在的SP不同,会发生I / O重定向。重定向的数量达到一定的阈值时,重定向将执行一个内部的trespass,以优化I / O负载。如果有很高的应用程序I / O和VAAI XCOPY的I / O,那么可能LUN将来回trespass。
在这个过程中,PowerPath将接收到一个消息,告知发生了什么事。由于PowerPath没有办法分辨是否负载变化了,PowerPath无法恢复以前的LUN所有权。
VMware的操作(克隆,部署VM模板等)从一个LUN到另一个LUN ,在两个SP之间会出现这种情况。
此行为是设计导致。作为一种最佳实践,强烈建议针对这样的VMware的操作,使用拥有同样SP的LUN。
merrist
2 Intern
2 Intern
•
483 消息
0
2014年2月10日 22:00
不是特别懂你说的!
VAAI,只要阵列支持,ESXi上启动支持就可以了啊!
对于一个阵列中两个不同控制器的LUN创建的DATASTORE进行Storage vMotion,肯定是会卸载到阵列啊!