IT技术互动交流平台

MFS分布式文件系统的管理和使用维护(二)

作者:糖衣炮弹  发布日期:2013-04-07 09:47:17
    MFS的管理和使用

 1.mfsgetgoal和mfssetgoal命令

 goal是指文件被复制的份数,设定了复制的份数后就可以通过mfsgetgoal命令来证实,也可以通过

mfssetgoal来改变设定

 /usr/local/mfs/bin/mfssetgoal 3 /mnt/mfs/wq.txt
 /mnt/mfs/wq.txt: 3

 /usr/local/mfs/bin/mfsgetgoal /mnt/mfs/wq.txt
 /mnt/mfs/wq.txt: 3
 

 也可以使用-r 对整个目录进行递归操作
 /usr/local/mfs/bin/mfssetgoal -r 5 /mnt/mfs/dir/

 2.实际的副本数可以通过mfscheckfile和 mfsfileinfo命令来实现
  /usr/local/mfs/bin/mfscheckfile /mnt/mfs/test.txt
   /mnt/mfs/test.txt:
   2 copies: 1 chunks

  /usr/local/mfs/bin/mfsfileinfo /mnt/mfs/test.txt
/ mnt/mfs/test.txt:
        chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
                copy 1: 192.168.0.162:9422
                copy 2: 192.168.0.163:9422

 注意,如果一个不包含数据的零长度文件,虽然没有被设置为非零目标但是查询后将返回一个空的结果 www.it165.net


 3.mfsdirinfo
  整个目录的内容摘要可以通过一个类似 du -s的命令mfsdirinfo来实现
   /usr/local/mfs/bin/mfsdirinfo /mnt/mfs/dir/
/mnt/mfs/dir/:
 inodes:                          2
  directories:                    1
  files:                          1
 chunks:                          1
 length:                          5
 size:                        70656
 realsize:                   353280

 
 4.为垃圾箱设定隔离时间
 删除的文件存放在垃圾箱的时间就是隔离时间,这个时间可以用mfssettrashtime命令来设置,也可以用

mfsgettrashtime命令来设置
 
  /usr/local/mfs/bin/mfsgettrashtime /mnt/mfs/dir/2.txt
  /mnt/mfs/dir/2.txt: 86400
  /usr/local/mfs/bin/mfssettrashtime 604800 /mnt/mfs/dir/2.txt
  /mnt/mfs/dir/2.txt: 604800
  /usr/local/mfs/bin/mfsgettrashtime /mnt/mfs/dir/2.txt
  /mnt/mfs/dir/2.txt: 604800

  依然可以用-r递归选项来对整个目录操作
  /usr/local/mfs/bin/mfsgettrashtime -r /mnt/mfs/dir/
   /usr/local/mfs/bin/mfssettrashtime -r 604800 /mnt/mfs/dir/
/mnt/mfs/dir/:
 inodes with trashtime changed:                        1
 inodes with trashtime not changed:                    1
 inodes with permission denied:                        0

  /usr/local/mfs/bin/mfsgettrashtime -r /mnt/mfs/dir/
/mnt/mfs/dir/:
 files with trashtime            604800 :                    1
 directories with trashtime      604800 :                    1


  以上的单位时间是秒,如果设定的数字是0的话,则意外着立即删除,不可能再恢复了

 删除的文件可以通过一个单独安装的mfsmeta辅助文件系统来恢复

 

需要注意的是被删除的文件时全路径文件名时,一定要使用单引号引起来,如果在同一路径下有个新的同名文件名 那么恢复将是不成功的

  

5.维护MFS
 
      维护mfs最重要的是维护元数据服务器的/usr/local/mfs/var/mfs/,MFS的存储修改更新等操作变化都

会记录在这个目录中,因此只要保证这个目录的数据安全就能保证整个MFS的数据安全和可靠性。

   启动mfs集群的顺序。安全的启动顺序步骤为:
   启动mfsmaster->启动所有的mfschunkserver->启动mfsmetalogger进程

   停止mfs集群
   在所有的客户端卸载mfs文件系统 -> mfschunkserver -s停止所有的数据存储进程 -> mfsmetalogger -s 停止元数据日志服务进程 -> mfsmaster -s 停止管理服务器进程

   数据存储服务器的维护,如果每个文件的goal目标都不小于2,并且没有under-goal文件,那么一个数据存储服务器在任何时候都可以停止或重新启动
 
  mfs管理服务器的恢复
  如果元管理服务器崩溃,需要最后一个元数据改变的日志changelog和主要元数据文件metadat.mfs,这个

操作可以通过mfsmetarestore工具来完成
         mfsmetarestore -a
 执行此命令后会默认在/usr/local/mfs/var/mfs目录自动寻找需要改变的日志文件和主要的元数据,mfsmetarestore在命令恢复时自动查找的是metadata.mfs.back文件。


  从备份恢复MFS管理服务器步骤如下
  1)安装一个元管理服务器利用同样的配置来配置这台服务器
  2)找回metadata.mfs.back文件,也可以从启动的元数据日志服务器中找,放到数据目录如/usr/local/mfs/var/mfs/
  3)从元管理服务器宕机之前的任何运行元数据日志服务器上复制最后一个changelog.*.mfs文件放入元管理服务器的数据目录
  4) 利用 mfsmetarestore -a 来恢复

Tag标签: MFS   分布式文件系统  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规