且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MooseFS的安装配置和使用

更新时间:2022-09-30 18:23:33

    MooseFS是一种Linux下的开源半分布式文件系统,以下简称为MFS。目前许多企业都在使用它。它之所以使用如此广泛是因为有如下优点:


  1. 安装和配置简单方便  

  2. 可靠性高(数据的多个拷贝被存储在多个不同的服务器上)  

  3. 通过添加新的服务器或硬盘就可以实现容量的动态扩展  

  4. 删除的数据可在一定时间内保留(类似windows里面的回收站机制,数据保留时间需要配置) 

    以上优点不难看出,MFS虽然是开源的,但是它功能上不逊色于专业的存储系统。下面我们来具体学习安装和配置MFS。

MFS文件系统结构

整个文件系统包括如下几个角色:


  1. 管理服务器-Master Server  

  2. 元数据日志服务器-Metalogger Server  

  3. 数据存储服务器-Chunk Server  

  4. 客户端-Client 

 每个角色的作用如下:

1、管理服务器,负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复多节点拷贝。
2、元数据日志服务器,负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作。
3、数据存储服务器,负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。
4、客户端,通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地unix文件系统使用一样的效果。

准备工作

准备服务器:


  1. OS: Centos 5.8 x86_64

  2. 管理服务器:192.168.0.201  

  3. 元数据日志服务器:192.168.0.202  

  4. 数据存储服务器:192.168.0.203  

  5. 数据存储服务器:192.168.0.204  

  6. 客户端:192.168.0.205 

下载安装包:


  1. wget http://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=moosefs.org/tl_files/mfscode/mfs-1.6.26.tar.gz 

添加相关用户与用户组:


  1. groupadd mfs  

  2. useradd -g mfs mfs -s /sbin/nologin

编译安装MFS

整个MFS安装很简单,只有如下几步。 


  1. tar zxvf mfs-1.6.26.tar.gz  

  2. cd mfs-1.6.26  

  3. ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount 

  4. make  

  5. make install 

注意客户端部分在安装之前,需要查看是否安装了fuse。没有安装请执行如下部分:


  1. yum install fuse  

  2. yum install fuse-devel 

配置使用

管理服务器(192.168.0.201):

mfsmaster.cfg的配置


  1. cd /usr/local/mfs/etc   

  2. cp mfsmaster.cfg.dist mfsmaster.cfg

  3. vim mfsmaster.cfg

mfsmaster.cfg文件内容如下,


  1. 带#号的均为默认配置,不带#号的需手工配置。

  2. # WORKING_USER = mfs   运行mfsmaster的用户  

  3. # WORKING_GROUP = mfs  运行mfsmaster的组  

  4. # SYSLOG_IDENT = mfsmaster  是Master Server在syslog中的标识  

  5. # LOCK_MEMORY = 0   是否执行mlockall()以避免mfsmaster进程溢出  

  6. # NICE_LEVEL = -19  运行的优先级  

  7. # EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg   被挂接目录及其权限控制文件的存放路径  

  8. # TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfstopology.cfg    

  9. # DATA_PATH = /usr/local/mfs/var/mfs  数据存放路径,存放了三类文件,changelog、sessions、stats  

  10. # BACK_LOGS = 50  元数据的改变日志文件数量  

  11. # BACK_META_KEEP_PREVIOUS = 1    

  12. # REPLICATIONS_DELAY_INIT = 300   延迟复制时间  

  13. # REPLICATIONS_DELAY_DISCONNECT = 3600  Chunk Server断开复制的延时  

  14. # MATOML_LISTEN_HOST = *  元数据日志服务器监听的IP地址  

  15. # MATOML_LISTEN_PORT = 9419  元数据日志服务器监听的端口地址  

  16. # MATOCS_LISTEN_HOST = *  用于Chunk Server连接的IP地址  

  17. # MATOCS_LISTEN_PORT = 9420  用于Chunk Server连接的端口地址  

  18. # MATOCL_LISTEN_HOST = *  用于客户端挂接连接的IP地址  

  19. # MATOCL_LISTEN_PORT = 9421  用于客户端挂接连接的端口地址  

  20. # CHUNKS_LOOP_CPS = 100000    

  21. # CHUNKS_LOOP_TIME = 300  chunks的回环频率  

  22. # CHUNKS_SOFT_DEL_LIMIT = 10    

  23. # CHUNKS_HARD_DEL_LIMIT = 25    

  24. # CHUNKS_WRITE_REP_LIMIT = 2  在一个循环里复制到一个Chunk Server的最大chunks数目  

  25. # CHUNKS_READ_REP_LIMIT = 10  在一个循环里从一个Chunk Server中复制的最大chunks数目  

  26. # REJECT_OLD_CLIENTS = 0  弹出低版本的客户端挂接  

  27. # deprecated:    

  28. # CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead

  29. # LOCK_FILE - lock system has been changed, and this optionis used onlyto search for old lockfile 

 mfsexports.cfg的配置


  1. cd /usr/local/mfs/etc     

  2. cp mfsexports.cfg.dist mfsexports.cfg  

  3. vim mfsexports.cfg 

mfsexports.cfg文件的内容如下:


  1. 该配置文件中每个条目分为三部分,客户端IP地址、挂接的目录、客户端拥有的权限。默认带#号的配置是不生效的。

  2. *                       /       rw,alldirs,maproot=0  

  3. #192.168.1.0/24         /       rw,alldirs,maproot=0,password=passcode  

  4. #10.0.0.0-10.0.0.5      /test   rw,maproot=nobody,password=test  

  5. #10.1.0.0/255.255.0.0   /public rw,mapall=1000:1000  

  6. #10.2.0.0/16            /       rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w 

复制元数据文件


  1. cd /usr/local/mfs/var/mfs/  

  2. mv metadata.mfs.empty metadata.mfs 

与管理服务器相关的命令:


  1. 启动命令:/usr/local/mfs/sbin/mfsmaster start  

  2. 安全停止命令:/usr/local/mfs/sbin/mfsmaster –s  

  3. 更多帮助信息:/usr/local/mfs/sbin/mfsmaster –h 

元数据日志服务器(192.168.0.202):

mfsmetalogger.cfg的配置


  1. cd /usr/local/mfs/etc     

  2. cp mfsmetalogger.cfg.dist mfsmetalogger.cfg  

  3. vim mfsmetalogger.cfg 

mfsmetalogger.cfg文件的内容如下:


  1. 带#号的均为默认配置,不带#号的需手工配置。  

  2. # WORKING_USER = mfs  

  3. # WORKING_GROUP = mfs  

  4. # SYSLOG_IDENT = mfsmetalogger  

  5. # LOCK_MEMORY = 0  

  6. # NICE_LEVEL = -19  

  7. # DATA_PATH = /usr/local/mfs/var/mfs  

  8. # BACK_LOGS = 50  

  9. # BACK_META_KEEP_PREVIOUS = 3  

  10. # META_DOWNLOAD_FREQ = 24  元数据备份文件下载请求频率,默认是24小时。  

  11. # MASTER_RECONNECTION_DELAY = 5  

  12. MASTER_HOST = 192.168.0.201  此处需要修改为Master Server的IP  

  13. # MASTER_PORT = 9419  

  14. # MASTER_TIMEOUT = 60  

  15. # deprecated, to be removed in MooseFS 1.7  

  16. # LOCK_FILE = /var/run/mfs/mfsmetalogger.lock 

与元数据日志服务器相关的命令:


  1. 启动命令:/usr/local/mfs/sbin/mfsmetalogger start  

  2. 安全停止命令:/usr/local/mfs/sbin/mfsmetalogger –s  

  3. 更多帮助信息:/usr/local/mfs/sbin/mfsmetalogger –h 

数据存储服务器(192.168.0.203和192.168.0.204):

mfschunkserver.cfg的配置


  1. cd /usr/local/mfs/etc     

  2. cp mfschunkserver.cfg.dist mfschunkserver.cfg  

  3. vim mfschunkserver.cfg 

mfschunkserver.cfg文件的内容如下:


  1. 带#号的均为默认配置,不带#号的需手工配置。  

  2. # WORKING_USER = mfs  

  3. # WORKING_GROUP = mfs  

  4. # SYSLOG_IDENT = mfschunkserver  

  5. # LOCK_MEMORY = 0  

  6. # NICE_LEVEL = -19  

  7. # DATA_PATH = /usr/local/mfs/var/mfs  

  8. # MASTER_RECONNECTION_DELAY = 5  

  9. # BIND_HOST = *  

  10. MASTER_HOST = 192.168.0.201  元数据服务器的名称或地址,可以是主机名或IP地址  

  11. MASTER_PORT = 9420  

  12. # MASTER_TIMEOUT = 60  

  13. # CSSERV_LISTEN_HOST = *  

  14. # CSSERV_LISTEN_PORT = 9422  该端口用于与其他数据存储服务器间的连接,通常是数据复制。  

  15. # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg  分配给MFS使用的磁盘空间配置文件的位置。  

  16. # HDD_TEST_FREQ = 10  

  17. # deprecated, to be removed in MooseFS 1.7  

  18. # LOCK_FILE = /var/run/mfs/mfschunkserver.lock  

  19. # BACK_LOGS = 50  

  20. # CSSERV_TIMEOUT = 5 

mfshdd.cfg的配置


  1. cd /usr/local/mfs/etc     

  2. cp mfshdd.cfg.dist mfshdd.cfg  

  3. vim mfshdd.cfg 

mfshdd.cfg文件的内容如下:


  1. /data 

上面的/data是一个MFS分区,需要将此分区的属主改为mfs


  1. chown –R mfs.mfs /data 

与数据存储服务器相关的命令:


  1. 启动命令:/usr/local/mfs/sbin/mfschunkserver start  

  2. 安全停止命令:/usr/local/mfs/sbin/mfschunkserver –s  

  3. 更多帮助信息:/usr/local/mfs/sbin/mfschunkserver –h 

客户端(192.168.0.205):

创建挂接点


  1. mkdir –p /data/mfs 

挂载MFS的命令


  1. /usr/local/mfs/bin/mfsmount /data/mfs -H 192.168.0.201 

查看挂载情况:

MooseFS的安装配置和使用

查看挂载信息:

MooseFS的安装配置和使用

卸载MFS挂载:


  1. umount /data/mfs 

查看更多帮助信息:


  1. /usr/local/mfs/bin/mfsmount –h 

 

本文转自 cyr520 51CTO博客,原文链接:http://blog.51cto.com/cyr520/1076733