查看文件信息
[root@benberba mfs]# mfsfileinfo dir1/passwd
dir1/passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 172.25.254.6:9422
[root@benberba mfs]# mfsfileinfo dir2/passwd
dir2/passwd:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.254.5:9422
copy 2: 172.25.254.6:9422
关闭 mfschunkserver2 后再查看文件信息(即[root@vm6mfs]# mfschunkserver stop)
[root@benberba mfs]# mfsfileinfo dir1/passwd
dir1/passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
no valid copies !!!
[root@benberba mfs]# mfsfileinfo dir2/passwd
dir2/passwd:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.254:9422
启动 mfschunkserver2 后,文件回复正常([root@vm6mfs]# mfschunkserver start)。
[root@benberba mfs]# mfsfileinfo dir2/passwd
dir2/passwd:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.254.5:9422
copy 2: 172.25.254.6:9422
恢复误删文件
[root@benberba mfs]# rm -f dir1/passwd
[root@benberba mfs]# mfsgettrashtime dir1/
dir1/: 86400
文件删除后存放在“ 垃圾箱”中的时间称为隔离时间, 这个时间可以用 mfsgettrashtime 命令来查
看,用 mfssettrashtime 命令来设置,单位为秒,默认为 86400 秒。
[root@benberba mfs]# mkdir /mnt/mfsmeta
[root@benberba mfs]# mfsmount -m /mnt/mfsmeta/ -H mfsmaster
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@benberba mfs]# cd /mnt/mfsmeta/trash
[root@benberba trash]# ls
00000004|dir1|passwd undel
[root@benberba trash]# mv 00000004\|dir1\|passwd undel/
到 dir1 目录中可以看到 passwd 文件恢复
[root@benberba ~]# mfsfileinfo /mnt/mfs/dir1/passwd
/mnt/mfs/dir1/passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 172.25.254.6:9422
在 MFSMETA 的目录里,除了 trash 和 trash/undel 两个目录,还有第三个目录 reserved,该目
录内有已经删除的文件,但却被其他用户一直打开着。在用户关闭了这些被打开的文件后,
reserved 目录中的文件将被删除,文件的数据也将被立即删除。此目录不能进行操作
为了安全停止 MooseFS 集群,建议执行如下的步骤:
# umount -l /mnt/mfs #客户端卸载 MooseFS 文件系统
# mfschunkserver stop #停止 chunk server 进程
# mfsmetalogger stop #停止 metalogger 进程
# mfsmaster stop #停止主控 master server 进程
安全的启动 MooseFS 集群:
# mfsmaster start #启动 master 进程
# mfschunkserver start #启动 chunkserver 进程
# mfsmetalogger start #启动 metalogger 进程
# mfsmount #客户端挂载 MooseFS 文件系统
实际上无论如何顺序启动或关闭,未见任何异常,master 启动后,metalogger、chunker、client
三个元素都能自动与 master 建立连接。
故障测试:
Client 客户端断电、断网对 MFS 的体系不产生影响.
如果客户端误杀 killall -9 mfsmount 进程,需要先 umount /mnt/mfs,然后再 mfsmount。否则会
提示:/mnt/mfs: Transport endpoint is not connected
mfschunkserver:
断网、杀掉 mfschunkserver 程序对 MFS 系统无影响。
断电:
#无文件传输时,对两个 chunker 都无影响;
#当有文件传输时,但是文件设置存储一份时,对文件的存储无影响。
#文件设置存储两份,数据传输过程中,关掉 chunker1,等待数据传输完毕后,启动
chunker1.chunker1 启动后,会自动从 chunker2 复制数据块。整个过程中文件访问不受影响。
#文件设置存储两份,数据传输过程中,关掉 chunker1,不等待数据传输完毕,开机启动
chunker1.chunker1 启动后,client 端会向 chunker1 传输数据,同时 chunker1 也从 chunker2 复
制缺失的块。
只要不是两个 chunker 服务器同时挂掉的话,就不会影响文件的传输,也不会影响服务的使用。