(注意在vs2.8之后,not OK日志不在vs_localhost_checkok.js.log打印,下面就是2.8的副本不一致的日志)如图所示,在vs_localhost_checkok.js.log中找到flse的的brick,然后再/sf/log/today/vs/下找到对应的brick日志打开即可看到是哪些文件有问题。
在副本完整性检查返回1的主机上,快速查看副本不一致的文件:
grep -nr "not OK" /sf/log/today/vs/*
多台主机副本完整性检查返回1,则集群命令执行上述命令:
vs_cluster_cmd.sh e 'grep -nr "not OK" /sf/log/today/vs/*'
二、根据第一步检查的结果进行处理
1、查看不同步的虚拟机是否脑裂
检查方式:
方法一:find /sf/data/vs/gfs/rep2/ -type f 1>/dev/null
方法二:cd到虚拟机目录下执行ll 查看文件属性是否显示 ?
方法三:IFS=$'\n'; for f in $(find /sf/data/vs/local/*/* -name "*.qcow2*"); do /sf/vs/bin/getfattr -m . -d -e hex "$f" 2>/dev/null | grep file_status && echo "$f"; done
如果存在脑裂则按以下案例库解决:
T文件脑裂可参考以下案例解决,非T文件建议联系研发处理:
2、不存在脑裂但数据同步卡主或反复同步,则进入下一步排查(检查环境是否正常)
进程排查-步骤三:检查环境是否正常
以下3、4步骤需要确认环境正常的情况下方可操作(如存储私网正常、磁盘正常、空间正常等),避免按照如下方案解决后,因环境问题,再次出现同步异常的问题。
3、可以选择cp 手动进行同步(虚拟机不大或者就个别虚拟机同步卡主可以考虑此方案)
原理:cp生成新的文件,是以双副本形式生成的,不需要在同步,生成新文件验证没问题后,把旧文件删除,那么则不需要在进行同步
(前提条件:需要cp的磁盘,虚拟机需要关机)