Moosefs分布式文件系统的配置(2)

查看文件信息
[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 服务器同时挂掉的话,就不会影响文件的传输,也不会影响服务的使用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/241a0b307082b8f09df00e9ff6f7e490.html