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

这样就能找到丢失的数据了

posted @ 2018-09-12 14:29  海上生明月~  阅读(724)  评论(0编辑  收藏  举报