修复Nutanix集群在硬件维护后“NGT CA Setup Check”检查项不通过的问题

Posted on

问题描述

在对Nutanix集群中的主机进行硬件维护,或者集群扩容节点之后,执行NCC检查会报如下错误:

FAIL: /home/ngt/ca.tar does not have the same checksum on all CVMs.

此CA文件存储了NGT(Nutanix Guest Tools)服务与集群通信用的密钥。如果每个节点CVM上存放的密钥不一致,会导致发起虚拟机迁移时NGT服务停止工作,进而影响到虚拟机一致性快照功能。硬件信息的变化会使集群重新生成CA文件,但存在CA文件部分同步失败的情况,因此产生了MD5值不一致。

解决方法

1. 检查所有CVM节点上/home/ngt/ca.tar文件的大小及MD5值:

$ allssh 'sudo ls -lat /home/ngt/ca.tar'
$ allssh 'sudo md5sum /home/ngt/ca.tar'

2. 定位NGT服务主节点:

$ nutanix_guest_tools_cli get_master_location

3. SSH切换至主节点上。

4. 将该CVM节点上的ca.tar复制到其他节点的/tmp目录下:

$ for i in $(svmips); do sudo scp /home/ngt/ca.tar nutanix@$i:/tmp/ ; done

5. SSH切换至MD5校验不一致的CVM节点上。将原文件删除并用新文件替换,然后调整相应目录权限:

#切换至root账户
$ sudo -i

#删除原CA文件
$ rm -rf /home/ngt/ca.tar
$ rm -rf /home/ngt/ca

#使用新CA文件替换
$ cp /tmp/ca.tar /home/ngt/
$ cd /home/ngt
$ tar xvpf ca.tar

#目录权限调整
$ chmod 600 /home/ngt/ca.tar
$ chown ngt:ngt /home/ngt/ca.tar
$ chmod 700 /home/ngt/ca
$ chown -R ngt:ngt /home/ngt/ca

6. 调整完毕后重新执行NCC检查,确认NGT CA Setup Check检查项是否为Pass:

$ ncc health_checks system_checks ngt_ca_setup_check

END