VM Component Protection简称VMCP,它的存在主要针对VM级别提供针对存储层面常见两种故障:All Path Down(APD)和Permanent Device Loss(PDL)这两种情况的支持;
ALlPath Down(APD) - 当ESXi主机检测到存储设备故障时,无法放问到存储设备,也无法确认存储设备是否在多长时间内能否恢复(时间以秒为单位)。当APD Timeout时间内ESXi主机继续发送I/O请求给存储设备和APD Timeout时间到达,VM I/O依然发送到存储设备,但是没有VM I/O会被标识为NO_CONNECT,也就是说VM还没能意识到存储出问题了;
Permanent Device Loss(PDL) - PDL则是区别于APD的另一种检测存储阵列是否可用的技术,ESXi主机通过SCSI sense code方式来检测存储设备不可用的状态讯息。当ESXi主机接发现PDL产生时,会立刻终止掉I/O。PDL的配置可以通过修改Advanced的方式来完成。支持修改VMkernel.Boot.terminateVMOnPDL配置的方式来修改它;
针对APD和PDL的时间调度有几个周期,分别是:
APD说明:
0s - 此时APD会激活时间计数器;
140s APD - ESXi主机会生命APDTimeout然后会针对故障设备执行NON VM I/O激活Fast Fail动作。这个Timeout的周期可以被修改;
140-320s APD - APD Timeout的时间到达之后,这之前VMCP的Timeout已经到达。如果故障存储设备在这之前恢复正常,则可以通过对Response for APD recovery after APD timeout配置选项的配置来确保VM不会被强行重置;
320s APD - VMCP Timeout,同时激活Response forDatastore with All Paths Down(APD);
PDL说明:
0s PDL - VMs会立刻在正常ESXi主机上重新启动;
VMCP的Timeout时间会是320秒,里面包含了APD的默认140秒。VMCP组件的配置可以通过勾选vSphereHA设定选项中Protect against Storage Connectivity Loss选项来激活;
针对VMCP的配置选项如下:
VM restartpriority - VM重启优先级设定;
Response for Host Isolation - 主机被隔离时的响应方式;
Response for Datastore with Permanent Device Losss(PDL) - 三个配置选项,分别是Disabled、Issue events(不激活处理动作,只发通知讯息)、Power off and restart VMs(针对故障Vms尝试做重启动作);
Response for Datastore with All Path Down(APD) - 四个配置选项,分别是Disabled、Issue events(不激活处理动作,只发通知讯息)、Power off and restart(conservative)(受影响的Vms会被Kill掉,然后在连接正常的ESXi主机上重启。如果故障主机无法与Master主机通讯则将无法激活)、Power off and restart VMs(aggressive)(受影响的Vms会被Kill掉,无论是否有主机可以通过重启承载这些Vms。不论Master主机是否存在,是否能和其它主机通讯以及是否有足够的资源);
Response for APD recovery after APD timeout - 这个选项表示在APDTimeout(140s)之后VMCP Timeout之前(320s)存储设备恢复正常时的处理方式。它有2个可用配置选项,分别是:Disabled、Reset VMs(Vms会被强行于APD发生前所在主机重置);
vSphere 6.0中VM Component Protection(VMCP)详细解析
原文地址:http://zhexieying.blog.51cto.com/10476606/1707003