ceph rbd双挂载导致ext4文件系统inode链接数据污染
转载自:https://my.oschina.net/xueyi28/blog/1596003
###故障现象
/data/rbd1/dir1/a/file1
/data/rbd1/dir2/a/file1
正常的目录结构已经是上面这样 ,但是如果是双挂载比如
/dev/rbd1 /data/rbd1
/dev/rbd2 /data/rbd1
# rbd status rbd
Watchers:
watcher=192.168.1.1:0/1665152181 client.9874080 cookie=1
watcher=192.168.1.1:1/1665152181 client.9874080 cookie=2
那就会出现目录/data/rbd1目录下的文件目录结构丢失的请求,这种肯定是/data/rbd1文件系统的inode链接数数据被损坏所致。奇怪的现象就来了
#ls -al /data/rbd1
.
..
#ls /data/rbd1/dir1/
file1
###修复的办法 首先卸载所有rbd的挂载 ####查看文件系统的损坏情况
#e2fsck -a -p /dev/rbd1
强制修复
e2fsck -f /dev/rbd1
修复过程中需要人工确认目录的调换情况,默认会吧脏的数据放到lost+found 修复完了挂载
#mount /dev/rbd1 /mnt
#ls -al /mnt/lost+found
这样就能找到丢失的数据了
http://www.yueminghai.top