VCS集群资源(Resource)状态UNKNOWN的解决思路

凡是做过VCS集群的开发和维护的都应该遇到过VCS资源(resource)状态处于UNKNOWN的问题。其问题表现出来就是执行hares -state查询VCS资源状态后,其返回信息中有处于UNKNOWN状态的资源,同时还会出现依赖该资源的其它资源状态是OFFLINE,从而导致整个业务无法启动。

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

下面给大家介绍下解决该问题的思路(说明:以下操作以test_rs资源名在主机HOSTNAME上处于UNKNOWN状态为例):
# hares -state
test_rs HOSTNAME UNKNOWN

1)首先,执行hares -probe主动刷新下资源状态:
hares -probe test_rs -sys HOSTNAME
然后执行hares -state观察test_rs资源的状态是否变化

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

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

转载请注明:运维派 » VCS集群资源(Resource)状态UNKNOWN的解决思路

0
2.7k
0