Home

深信服 HCI 检查副本是否一致

这篇文章用于记录深信服 HCI 环境中检查副本一致性的常用方法。不同版本的命令略有差异,排查时先确认版本,再选择对应方案执行。

常规检查

6.8.0 及以上版本

先进入 VS 容器,再执行副本一致性检查命令:

container_exec -n vs-cp-manager
for b in $(gluster v i | grep host- | awk -F: '{print $1}' | grep -Eo '[0-9]+'); do vs_rpc_tool --cmd check --brickno "$b"; done

命令执行完成后,如果回显为 0,说明副本一致;如果返回其他结果,则表示副本一致性存在异常。

5.8.6 之前版本

在虚拟存储主机上执行以下命令:

vs_cluster_cmd.sh e "/sf/vs/bin/vs_localhost_checkok.js ;echo \$?"

如果检测结果不为 0,则表示副本状态异常。

5.8.6 及之后版本

在任意主机上执行以下命令即可检查主机副本一致性:

for b in $(gluster v i | grep host- | awk -F: '{print $1}' | grep -Eo '[0-9]+'); do vs_rpc_tool --cmd check --brickno "$b"; done

排除故障主机后检查

如果环境中有主机或磁盘离线,可以先排除故障主机,再检查其余副本是否完整。

for b in $(gluster v i | grep 改成故障主机名 | awk -F: '{print $1}' | grep -Eo '[0-9]+'); do vs_rpc_tool --cmd check --brickno $b --exclude yes; done

其中,故障主机名可以通过 vtpclustat 查看。

排除故障磁盘后检查

当环境中有单块磁盘离线时,需要确认除故障磁盘之外的其他副本是否仍然正常。

先查看所有 brick 信息:

vs_rpc_tool -c clnt

再根据实际磁盘 ID 执行排除检查,例如:

vs_rpc_tool --cmd check --brickno 18 --exclude yes

其中 18 需要替换为对应故障磁盘的实际 ID。

存储 超融合 Linux