从上述故障可以初步判断,由于ESXi主机无法访问数据存储导致存放在该数据存储上的所有虚拟机都无法访问。在设计SAN网络时,为避免单条链路发生故障,SAN网络中的存储、光纤交换机、主机HBA卡通常采用交叉连接方式,达到通过多条路径访问同一个共享存储的效果。按照通常的思路,首先需要判断是否是由于ESXi主机访问存储的某条链路发生故障导致无法访问共享存储。vSphere 5.0支持三种存储路径选择策略固定 (VMware)、最近使用 (VMware)、循环 (VMware),其含义如下表所示。
\
表1. vSphere 5.0 存储路径选择策略
从上表可以看出,无论选择哪种存储策略,只要有一条路径可用,那么ESXi主机仍旧可以访问共享存储。为了实现更好的负载均衡,建议用户修改默认的存储访问策略,使用“循环 (VMware)”策略。如果是由于链路发生故障导致无法访问共享存储,那么可能的原因就是所有链路同时发生故障。通过检查SAN交换机链路状态没有发现异常,那么故障点可能发生在存储上。
vSphere存储问题定位及故障解决
在vSphere Client中每个数据存储对应着磁盘阵列上的一个LUN,登录到NetApp存储LUN所在的控制器后,执行lun show命令查看当前控制器上的所有LUN,发现/vol/vol2/lun0的状态为offline.初步判断是由于lun状态不正常导致访问故障的出现,尝试执行lun online /vol/vol2/lun0命令尝试将该lun的状态修改为online.
完成lun状态的修改后,需要在ESXi主机上重新扫描数据存储。本文介绍在命令行下重新扫描数据存储的操作。
(1) 登录到ESXi主机控制台,按ALT+F1切换到ESXi Shell下。
(2) 执行如下命令扫描主机的所有HBA卡