MFS部署
部署环境:RHEL6.1
mfs版本:mfs-1.6.17.tar.gz
官网地址:www.moosefs.org
官网最新版本为v1.6.26
说明:实验过程元数据服务器和元日志服务器在一台机器即Master管理服务器上,在生产环境中建议元数据服务器和元日志服务器分开,这样安全性相对会高
IP部署
----------------------------------------------------------------------------------------------------------------------
Master(管理服务器):192.168.100.1
---chunkserver1 192.168.100.10
chunkservers(数据存储服务器)|
---chunkserver2 192.168.100.11
---client1 192.168.100.20
client客户机|
---client2 192.168.100.21
----------------------------------------------------------------------------------------------------------------------
Master相关配置
软件安装
#./configure --disable-mfschunkserver--disable-mfsmount --with-default-user=daemon --with-default-group=daemon
#make && make install
- # cp /usr/local/etc/mfsmaster.cfg.dist/usr/local/etc/mfsmaster.cfg
- //模板默认生效,该文件不需要修改
- #cp /usr/local/etc/mfsexports.cfg.dist/usr/local/etc/mfsexports.cfg
- #vim /usr/local/etc/mfsexports.cfg
- # cat /usr/local/etc/mfsexports.cfg
- 192.168.100.0/24 / rw,alldirs,maproot=0
- 192.168.100.0/24 . rw
- # cd /usr/local/var/mfs // /usr/local/var/mfs元数据存放目录
- #cp metadata.mfs.empty metadata.mfs
- //启用元数据配置文件
- #/usr/local/sbin/mfsmaster start || stop
- //开启||关闭服务
#usr/local/sbin/mfscgiserv start
//开启web监控,mfscgiserv是使用python开发的web服务器,http://Master_IP:9425即可访问 trunkServer相关配置 #./configure --disable-mfsmaster--disable-mfsmount --disable-mfscgi --disable-mfscgiserv --with-default-user=daemon--with-default-group=daemon #make && make install
- #cp/usr/local/etc/mfschunkserver.cfg.dist /usr/local/etc/mfschunkserver.cfg
- #vim /usr/local/etc/mfschunkserver.cfg
- #cat /usr/local/etc/mfschunkserver.cfg
- WORKING_USER = daemon
- WORKING_GROUP = daemon
- SYSLOG_IDENT = mfschunkserver
- LOCK_MEMORY = 0
- NICE_LEVEL = -19
- DATA_PATH = /usr/local/var/mfs
- MASTER_RECONNECTION_DELAY = 5
- BIND_HOST = *
- MASTER_HOST = 192.168.100.1
- MASTER_PORT = 9420
- MASTER_TIMEOUT = 60
- HDD_CONF_FILENAME = /usr/local/etc/mfshdd.cfg
- HDD_TEST_FREQ = 10
- LOCK_FILE = /var/run/mfs/mfschunkserver.lock
- BACK_LOGS = 50
MASTER_HOST = 192.168.100.1 元数据服务器的名称或地址,可以是主机名,也可以是ip地址,只要数据存储服务器能访问到元数据服务器就行。
◆ LOCK_FILE = /var/run/mfs/mfschunkserver.pid 与元数据服务器master的处理完全相同.
◆ CSSERV_LISTEN_PORT = 9422 CSSERV—chunkserver,这个监听端口用于与其它数据存储服务器间的连接,通常是数据复制。
◆ HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg 分配给MFS使用的磁盘空间配置文件的位置。
- #cp /usr/local/etc/mfshdd.cfg.dist/usr/local/ect/mfshdd.cfg
- #vim /usr/local/ect/mfshdd.cfg
- #cat /usr/local/ect/mfshdd.cfg
- /mfs #挂载点
- #mkdir /mfs
- #mount /dev/sdb1 /mfs
- //这里使用的是独立的磁盘,已经格式化ext4,分区格式化这里不作介绍
- //注意:CHUNKSERVER共享出去的磁盘需要大于1G以上,否则会提示空间不足,另外CHUNKSERVER也会占用几百M的空间
- #chown daemon:daemon /mfs -R
- //必须修改权限,否则服务启动不了
- #/usr/local/sbin/mfschunkserver start ||stop
- //可以查看messages日志获得启动和连接信息
client相关配置
另外对于客户端需要说明的是类似iscsi或者NFS这些,2个客户端同时挂载使用的时,client1写入数据,client2是读不到数据的,而MFS实现client1和client2同步,在client1上写入文件,client2即可获取,实现同时读写
(一)本地测试 1、停止元数据服务 /usr/local/mfs/sbin/mfsmaster 2、备份元数据服务器数据 cd /usr/local/mfs/var; tar czvfmfs.tgz mfs 3、删除目录 mv mfs mfs.bk 或 rm –rf mfs 4、启动元数据服务 ../sbin/mfsmaster start 启动失败,提示不能初始化数据。 5、解包 tar zxvf mfs.tgz 6、执行恢复操作 .. /sbin/mfsmetarestore –a 7、启动元数据服务 ../sbin/mfsmaster start 8、在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。 (二) 迁移测试 1、 安装新的MFS元数据服务器。 2、 从当前的元数据服器(master)或日志备份服务器(mfsmetalogger)复制备份文件 metadata.mfs.back/metadate_ml.mfs.back到新的元服务器目录(metadata.mfs.back需要定时用crontab备份). 3、 从当前的元数据服器(master)或日志备份服务器(mfsmetalogger)复制元数据服务器数据目录(/usr/local/mfs/var/mfs)到这个新的元数据服务器。 4、 停止原先的那个元数据服务器(关闭计算机或停止它的网络服务)。 5、 更改新的元数据服务器的ip为原来那个服务器的ip. 6、 执行数据恢复操作,其命令为:mfsmetarestore -mmetadata.mfs.back -o metadata.mfs changelog_ml.*.mfs 恢复成功后再执行启动新的元数据服务操作。 7、 启动新的元数据服务 /usr/local/mfs/sbin/mfsmasterstart 8、 在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。 参考:http://bbs.chinaunix.net/thread-1644309-1-1.html http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf