Search Posts

标签: lizardfs

使用shell的grep过滤思路,查找lizardfs中副本数偏少的文件、查找lizardfs中损坏的文件

使用shell的grep等命令查找 /mnt/lizardfs/temp 目录的内的所有文件是否存在副本数异常的文件:

find /mnt/lizardfs/temp -type f -exec sh -c 'mfsfileinfo "{}" | grep -q "no valid copies" && echo "{}";' \;

命令说明

以上通过 find 的 -exec sh -c ‘xxxx’ \; 来对每个找到的文件执行 xxxx 操作,xxxx为 单引号内的具体脚本内容,在这个例子里面是mfsfileinfo "{}" | grep -q "no valid copies" && echo "{}"; 也就是先通过mfsfileinfo 获取文件信息,若文件只有元记录,但fileinfo的chunk丢失,mfsfileinfo 查询文件会返回no valid copies,根据这个条件成立的前提下,则可通过&& echo "{}"; 的方式,将问题文件的路径打印出来,实现后续的文件修复操作。

使用shell找出linux的 lizardfs 的副本数不足3份:

假设lizardfs的存储安全要求,副本数要求至少3份,如果某个文件的副本数不足3份,则打印出文件路径,以备后续增加对应文件的副本数。

find /mnt/lizardfs/temp -type f -exec sh -c 'mfsfileinfo "{}" | grep -q -c "copy 3" || echo "{}";' \;

本命令参考来源:https://github.com/lizardfs/lizardfs/issues/222查看余下内容

加好友请备注:chinaoss
您可以在微信公众号联系我们
我们将24小时内回复。
取消