Search Posts

标签: filesystem

linux下ext3文件系统突然变成readonly只读的问题分析和解决方式

ext3是linux下较老的文件系统格式,但目前仍有少部分用户在使用ext3作为linux文件系统格式。

linux下ext3文件系统突然变成readonly 问题线索

#tail  -100  /var/log/messages

 Sep  1 04:02:21 www syslogd 1.4.1: restart.
 Sep  1 11:22:16 www avahi-daemon[2691]: Invalid query packet.
 Sep  1 11:22:57 www last message repeated 14 times
 Sep  1 11:22:57 www avahi-daemon[2691]: Invalid query packet.
 Sep  1 13:45:29 www kernel: ext3_abort called.
 Sep  1 13:45:29 www kernel: EXT3-fs error (device hdb1): ext3_put_super: Couldn't clean up the journal
 Sep  1 13:46:31 www kernel: kjournald starting.  Commit interval 5 seconds
 Sep  1 13:46:31 www kernel: EXT3 FS on hdb1, internal journal
 Sep  1 13:46:31 www kernel: EXT3-fs: mounted filesystem with ordered data mode.
 Sep  1 13:48:25 www kernel: printk: 5 messages suppressed.
查看余下内容

使用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小时内回复。
取消