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

  
  
  
  
  1. # cp /usr/local/etc/mfsmaster.cfg.dist/usr/local/etc/mfsmaster.cfg  
  2.  
  3. //模板默认生效,该文件不需要修改  
  4.  
  5. #cp /usr/local/etc/mfsexports.cfg.dist/usr/local/etc/mfsexports.cfg  
  6.  
  7. #vim  /usr/local/etc/mfsexports.cfg  
  8.  
  9. # cat  /usr/local/etc/mfsexports.cfg  
  10.  
  11. 192.168.100.0/24     / rw,alldirs,maproot=0 
  12.  
  13. 192.168.100.0/24     . rw  
  14.  
  15. # cd /usr/local/var/mfs     // /usr/local/var/mfs元数据存放目录  
  16.  
  17. #cp metadata.mfs.empty  metadata.mfs  
  18.  
  19. //启用元数据配置文件  
  20.  
  21. #/usr/local/sbin/mfsmaster  start || stop  
  22.  
  23. //开启||关闭服务 

#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


  
  
  
  
  1. #cp/usr/local/etc/mfschunkserver.cfg.dist /usr/local/etc/mfschunkserver.cfg  
  2.  
  3. #vim /usr/local/etc/mfschunkserver.cfg  
  4.  
  5. #cat /usr/local/etc/mfschunkserver.cfg  
  6.  
  7. WORKING_USER = daemon 
  8.  
  9. WORKING_GROUP = daemon 
  10.  
  11. SYSLOG_IDENT = mfschunkserver 
  12.  
  13. LOCK_MEMORY = 0 
  14.  
  15. NICE_LEVEL = -19  
  16.  
  17. DATA_PATH = /usr/local/var/mfs  
  18.  
  19. MASTER_RECONNECTION_DELAY = 5 
  20.  
  21. BIND_HOST = *  
  22.  
  23. MASTER_HOST = 192.168.100.1  
  24.  
  25. MASTER_PORT = 9420 
  26.  
  27. MASTER_TIMEOUT = 60 
  28.  
  29. HDD_CONF_FILENAME = /usr/local/etc/mfshdd.cfg  
  30.  
  31. HDD_TEST_FREQ = 10 
  32.  
  33. LOCK_FILE = /var/run/mfs/mfschunkserver.lock  
  34.  
  35. 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使用的磁盘空间配置文件的位置。

  
  
  
  
  1. #cp /usr/local/etc/mfshdd.cfg.dist/usr/local/ect/mfshdd.cfg  
  2.  
  3. #vim /usr/local/ect/mfshdd.cfg  
  4.  
  5. #cat /usr/local/ect/mfshdd.cfg  
  6.  
  7. /mfs    #挂载点  
  8.  
  9. #mkdir /mfs  
  10.  
  11. #mount /dev/sdb1 /mfs    
  12.  
  13. //这里使用的是独立的磁盘,已经格式化ext4,分区格式化这里不作介绍  
  14.  
  15. //注意:CHUNKSERVER共享出去的磁盘需要大于1G以上,否则会提示空间不足,另外CHUNKSERVER也会占用几百M的空间  
  16.  
  17. #chown daemon:daemon /mfs -R  
  18.  
  19. //必须修改权限,否则服务启动不了  
  20.  
  21. #/usr/local/sbin/mfschunkserver start ||stop    
  22.  
  23. //可以查看messages日志获得启动和连接信息 

client相关配置

  
  
  
  
  1. #yum install fuse* -y     //client通过fuse模块连接Master  
  2.  
  3. #./configure --disable-mfsmaster--disable-mfschunkserver --disable-mfscgi --disable-mfscgiserv --with-default-user=daemon--with-default-group=daemon 
  4.  
  5. #make && make install  
  6.  
  7.    
  8.  
  9. #mkdir /mnt/{data,metadata}  
  10.  
  11. #mfsmount -H 192.168.100.1 /mnt/data  
  12.  
  13. #mfsmount -m  -H 10.1.1.10 metadata  
  14.  
  15.    
  16.  
  17. # /usr/local/bin/mfsdirinfo /mnt/data/                  //查看chunk信息  
  18.  
  19. /mnt/data/:  
  20.  
  21. inodes:                         2  
  22.  
  23. directories:                      1  
  24.  
  25. files:                           1  
  26.  
  27. chunks:                         23  
  28.  
  29. length:                    1522139136  
  30.  
  31. size:                      1522256896  
  32.  
  33. realsize:                   1522256896  
  34.  
  35. #/usr/local/bin/mfsgetgoal -h /mnt/data/                       //获取文件备份信息  
  36.  
  37. /mnt/data/:1                                                                //1表示没有备份,只有一个文件  
  38.  
  39. # /usr/local/bin/mfssetgoal -r 2 /mnt/data/                   //等段时间之后生效,这样修改之后,文件就实现冗余功能了  
  40.  
  41. # /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

 

你可能感兴趣的:(系统,知识,服务搭建)