案例之VCS资源状态UNKNOWN的解决思路

相信做过VCS集群的开发和维护的兄弟都遇到过VCS资源(resource)状态处于UNKNOWN的情况。在这种情况下,表现出来就是执行hares -state,其返回信息中有的资源状态是UNKNOWN,同时还会出现依赖该资源的其它资源状态是OFFLINE。整个业务无法启动。

那么VCS资源的UNKNOWN状态表示什么意思呢?通常有两类情况:
1)其状态还未刷新过来,因为VCS是每隔几十秒才去probe探测资源的状态。
2)还有一类情况就是该VCS资源的配置有问题了。

刚开始遇到这类问题确实会比较头痛,不过别急,下面就描述下解决该问题的思路(下面以test_rs资源名在主机HOSTNAME上处于UNKNOWN状态为例):
hares -state
test_rs HOSTNAME UNKNOWN
1)首先,执行以下命令刷新下资源状态:
hares -probe test_rs -sys HOSTNAME
然后执行hares -state检查其状态是否变化

2)若上面的操作无效,那么使用cat /var/VRTSvcs/log/engine_A.log查看VCS日志,照到其中包含test_rs资源名的地方,看看其中提示WARNING的地方,在这里通常就记录了该资源配置有问题的描述。
举例:如果你配置的test_rs是个挂接(mount)类型的,我就遇到过因为没有创建mountpoint所对应的文件夹,导致挂接状态处于UNKNOWN。

在确认是资源配置有问题后,你可以执行hares -display test_rs来查看该资源的参数配置,以配合你的分析定位。

你可能感兴趣的:(Linux/Unix/BSD)