MFS部署

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相关配置

#yum install fuse* -y     //client通过fuse模块连接Master

#./configure --disable-mfsmaster--disable-mfschunkserver --disable-mfscgi --disable-mfscgiserv --with-default-user=daemon--with-default-group=daemon

#make && make install

 

#mkdir /mnt/{data,metadata}

#mfsmount -H 192.168.100.1 /mnt/data

#mfsmount -m  -H 10.1.1.10 metadata

 

# /usr/local/bin/mfsdirinfo /mnt/data/                  //查看chunk信息

/mnt/data/:

inodes:                         2

directories:                      1

files:                           1

chunks:                         23

length:                    1522139136

size:                      1522256896

realsize:                   1522256896

#/usr/local/bin/mfsgetgoal -h /mnt/data/                       //获取文件备份信息

/mnt/data/:1                                                                //1表示没有备份,只有一个文件

# /usr/local/bin/mfssetgoal -r 2 /mnt/data/                   //等段时间之后生效,这样修改之后,文件就实现冗余功能了

# /usr/local/bin/mfsfileinfo  文件名                       //可以查看该文件的个数

 

另外对于客户端需要说明的是类似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

           http://www.tanpao.com/archives/35  维基百科

           http://blog.formyz.org/?p=299#more-299


你可能感兴趣的:(部署)