这里假定">元数据服务的IP地址为192.168.3.34,3个MFS客户端的IP地址分别为192.168.3.98、192.168.3.138和192.168.3.139。下面介绍MFS的搭建过程。
1,安装和配置元数据服务
(l)下载源码
[root@localhost software]# wget http://jaist.dl.sourceforge.net/project/moosefs/moosefs/1.6.27/mfs-1.6.27-1.tar.gz
--2013-10-04 14:14:56-- http://jaist.dl.sourceforge.net/project/moosefs/moosefs/1.6.27/mfs-1.6.27-1.tar.gz
正在解析主机 jaist.dl.sourceforge.net... 150.65.7.130
正在连接 jaist.dl.sourceforge.net|150.65.7.130|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:771983 (754K) [application/x-gzip]
正在保存至: “mfs-1.6.27-1.tar.gz”
100%[==========================================>] 771,983 218K/s in 3.6s
2013-10-04 14:15:00 (207 KB/s) - 已保存 “mfs-1.6.27-1.tar.gz” [771983/771983])
(2)创建用户
[root@localhost software]# useradd mfs -s /sbin/nologin
(3)解压源码
[root@localhost software]# tar zxvf mfs-1.6.27-1.tar.gz
[root@localhost software]# cd mfs-1.6.27
(4)脚本配置
[root@localhost mfs-1.6.27]# ./configure --prefix=/usr/local/mfs \
>--with-default-user=mfs --with-default-group=mfs
(5)编译安装
[root@localhost mfs-1.6.27]# make
[root@localhost mfs-1.6.27]# make install
(6)配置文件
配置文件位于安装目录/usr/local/mfs/etc/mfs下,需要用到的配置文件有两个:mfsmaster.cfg和mfsexports.cfg。mfsmaster.cfg是主配置文件;mfsexports.cfg对被挂接目录及其权限
进行设置。
1) mfsmaster.cfg的配置。
mfsmaster.cfg文件的内容如下:
[root@localhost mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg
[root@localhost mfs]# vi mfsmaster.cfg
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfsmaster
# LOCK_MEMORY = 0
# NICE_LEVEL = -19
# EXPORTS_FILENAME = /usr/local/mfs/etc/mfs/mfsexports.cfg
# TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfs/mfstopology.cfg
# DATA_PATH = /usr/local/mfs/var/mfs
# BACK_LOGS = 50
# BACK_META_KEEP_PREVIOUS = 1
# REPLICATIONS_DELAY_INIT = 300
# REPLICATIONS_DELAY_DISCONNECT = 3600
# MATOML_LISTEN_HOST = *
# MATOML_LISTEN_PORT = 9419
# MATOML_LOG_PRESERVE_SECONDS = 600
# MATOCS_LISTEN_HOST = *
# MATOCS_LISTEN_PORT = 9420
# MATOCL_LISTEN_HOST = *
# MATOCL_LISTEN_PORT = 9421
# CHUNKS_LOOP_MAX_CPS = 100000
# CHUNKS_LOOP_MIN_TIME = 300
# CHUNKS_SOFT_DEL_LIMIT = 10
# CHUNKS_HARD_DEL_LIMIT = 25
# CHUNKS_WRITE_REP_LIMIT = 2
# CHUNKS_READ_REP_LIMIT = 10
# ACCEPTABLE_DIFFERENCE = 0.1
# SESSION_SUSTAIN_TIME = 86400
# REJECT_OLD_CLIENTS = 0
# deprecated:
# CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead
# LOCK_FILE - lock system has been changed, and this option is used only to search for old lockfile
下面解释这些变量的含义。需要注意的是,凡是用#注释掉的变量均使用默认值。
口WORKING_USER和WORKING_GROUP:运行MASTER SERVER的用户和组。
口SYSLOG_IDENT:是MASTER SERVER在syslog中的标识,说明这是由MASTER SERVER产生的。
口LOCK_MEMORY:是否执行mlockall()以避免mfsmaster进程溢出(默认为O)。
口NICE_LEVEL:运行的优先级(默认是-19。注意,进程必须是由root启动的)。
口EXPORTS_FILENAME:被挂接目录及其权限控制文件的存放位置。
口DATA_PATH:数据存放路径,此目录下大致有三类文件,changelog. sessions和stats。
口BACK_LOGS:元数据的改变日志文件数量(默认是50)。
口REPLICATIONS_DELAY_INIT:延迟复制的时间(默认是300秒)。
口REPLICATIONS_DELAY_DISCONNECT:CHUNK SERVER断开复制的延迟(默认是3600秒)。
口MATOML_LISTEN_HOST:元数据日志服务器监听的IP地址(默认是*,代表任何IP)。
口MATOML_LISTEN_PORT:元数据日志服务器监听的端口地址(默认是9419)。
口MATOCS_LISTEN_HOST:用于CHUNK SERVER连接的IP地址(默认是*,代表任何IP)。
口MATOCS_LISTEN_PORT:用于CHUNK SERVER连接的端口地址(默认是9420)。
口MATOCU_LISTEN_HOST:用于客户端挂接连接的IP地址(默认是*,代表任何IP)。
口MATOCU_LISTEN_PORT:用于客户端挂接连接的端口地址(默认是9421)。
口CHUNKS_LOOP_TIME:chunks的回环频率(默认是300秒)。
口CHUNKS_DEL_LIMIT:表示在一个loop设备中可以删除chunks的最大数(默认是100)。
口CHUNKS_WRITE_REP_LIMIT:在一个循环里复制到一个CHUNK SERVER的最大chunks数目(默认是l)。
口CHUNKS_READ_REP_LIMIT:在一个循环里从一个CHUNK SERVER中复制的最大chunks数目(默认是5)。
口REJECT_OLD_CLIENTS:弹出低干1.6.0的客户端挂接(O或l,默认是O)。
注意:mfsexports访问控制对那些老客户是没用的。
以上是对MASTER SERVER的mfsmaster.cfg配置文件的解释,这个文件不需要任何修改就可以工作。