IT技术互动交流平台

MFS分布式文件系统安装配置(一)

作者:糖衣炮弹  发布日期:2013-04-07 09:45:23

一、MFS文件系统结构

 1、 管理数据服务器。在整个体系中负责管理各个数据存储服务器,目前MFS只支持一个元数据服务器

master,这是一个单点故障,需要一个性能稳定的服务器来充当。

2、 元数据日志服务器。备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当元数据服

务器数据丢失或者损毁,可从日志服务器取得文件进行恢复。

3、 数据存储服务器chunkserver。真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些

块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是

多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。

4、 客户端。使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像

以前使用NFS一样共享这个虚拟性的存储了

二、MFS的编译与安装

 1.安装和配置管理数据服务器

 下载源码
 wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.20/mfs-1.6.20.tar.gz

 创建用户:
 useradd mfs -s /sbin/nologin

 编译安装:
 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
 make
 make install
 
 配置文件:
 配置文件被放置于安装目录/usr/local/mfs/etc
 需要用到的配置文件有两个,mfsmaster.cfg和mfsexports.cfg 。mfsmaster.cfg是主配置文件,
 mfsexports.cfg对被挂载目录以及权限进行设置
 
 cat mfsexports.cfg
 
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfsmaster     #master server 在syslog中的表识                      
# LOCK_MEMORY = 0
# NICE_LEVEL = -19             #运行的优先级,进程必须由root用户启动

#被挂载目录以及权限控制文件存放的位置
EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg

#数据存放路径
DATA_PATH = /usr/local/mfs/var/mfs

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

#延迟复制的时间
# REPLICATIONS_DELAY_INIT = 300

#chunk server 断开复制的延迟
# REPLICATIONS_DELAY_DISCONNECT = 3600

#元数据日志服务器的监听IP和 端口
# MATOML_LISTEN_HOST = *
MATOML_LISTEN_PORT = 9419

#chunk server 连接的ip和端口
# MATOCS_LISTEN_HOST = *
MATOCS_LISTEN_PORT = 9420

#客户端挂接的IP地址和端口
# MATOCU_LISTEN_HOST = *
MATOCU_LISTEN_PORT = 9421

#chunk的回环频率 默认300秒
# CHUNKS_LOOP_TIME = 300

#表示在一个loop设备中可以删除chunks的最大数
# CHUNKS_DEL_LIMIT = 100

#在一个循环里复制到一个chunk server的最大chunks的数目
# CHUNKS_WRITE_REP_LIMIT = 1

#在一个循环里从一个chunk server中复制的最大chunks数目
# CHUNKS_READ_REP_LIMIT = 5


# REJECT_OLD_CLIENTS = 0
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfsmaster.lock

这个文件可以不经修改就能工作

cat mfsexports.cfg
*    .    rw
192.168.0.1/24        /    rw

该文件每一个条目分为三部分,第一部分表示IP地址,第二部分表示被挂载的目录,第三部分表示客户端拥

有的权限

 / 表示mfs根
 . 表示mfsmeta 文件系统

 ro 只读模式共享
 rw 读写模式共享
 alldirs 允许挂载任何指定的子目录
 maproot 映射为root用户还是指定的用户 www.it165.net
 password 指定客户端密码

 默认的元数据文件为metadata.mfs 要启动mfsmaster 需要先将metadata.mfs.empty 改名为metadata.mfs
 cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs

 启动mfsmaster
 /usr/local/mfs/sbin/mfsmaster start

 working directory: /usr/local/mfs/var/mfs
 lockfile created and locked
 initializing mfsmaster modules ...
 loading sessions ... ok
 sessions file has been loaded
 exports file has been loaded
 loading metadata ...
 loading objects (files,directories,etc.) ... ok
 loading names ... ok
 loading deletion timestamps ... ok
 checking filesystem consistency ... ok
 loading chunks data ... ok
 connecting files and chunks ... ok
 all inodes: 1
 directory inodes: 1
 file inodes: 0
 chunks: 0
 metadata file has been loaded
 stats file has been loaded
 master <-> metaloggers module: listen on *:9419
 master <-> chunkservers module: listen on *:9420
 main master server module: listen on *:9421
 mfsmaster daemon initialized properly


 关闭mfsmaster /usr/local/mfs/sbin/mfsmaster -s
 安全停止mfsmaster非常重要不要使用kill 的方式

 

 2.元日志服务器的安装配置
 
  安装方法同安装mfsmaster一样,只不过需要修改的配置文件不同
 
  元日志服务器的配置文件只需要一个,mfsmetalogger.cfg

 cp /usr/local/mfs/etc/mfsmetalogger.cfg.dist /usr/local/mfs/etc/mfsmetalogger.cfg

 这个配置文件我们只需要修改MASTER_HOST = 192.168.0.160 ,意识是指定mfsmaster的ip地址

 启动元日志服务器

 /usr/local/mfs/sbin/mfsmetalogger start
  working directory: /usr/local/mfs/var/mfs
  lockfile created and locked
  initializing mfsmetalogger modules ...
  mfsmetalogger daemon initialized properly

 说明元日志服务器已经启动了
 

 停止元日志服务器
 /usr/local/mfs/sbin/mfsmetalogger -s

 3.安装配置数据存储服务器,可以有多台

 安装方法和mfsmaster一样。只是配置文件不同

 这里需要的配置文件有两个mfschunkserver.cfg 和 mfshdd.cfg

 mfschunkserver.cfg 需要修改的内容如下

 MASTER_HOST = 192.168.0.160
 MASTER_PORT = 9420
 HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg

 需要指定mfsmaster元数据管理服务器的IP和port以及分配给mfs使用的磁盘空间配置文件的位置

 我的mfshdd.cfg配置文件内容如下
 /data
 
 在这里/data是一个mfs分区但是在本机上是一个独立使用的磁盘挂载分区将/data的属主改为MFS
 chown -R mfs:mfs /data

 启动数据存储服务器

  /usr/local/mfs/sbin/mfschunkserver start
    working directory: /usr/local/mfs/var/mfs
    lockfile created and locked
    initializing mfschunkserver modules ...
    hdd space manager: scanning folder /data/ ...
    hdd space manager: scanning complete
    hdd space manager: /data/: 0 chunks found
    hdd space manager: scanning complete
    main server module: listen on *:9422
    stats file has been loaded
    mfschunkserver daemon initialized properly

  关闭数据存储服务器
  /usr/local/mfs/sbin/mfschunkserver -s

 4.MFS客户端的安装配置

  mfs 的客户端依赖于fuse,所以先要安装fuse
  tar xzvf fuse-2.7.4.tar.gz
  cd fuse-2.7.4
  ./configure
  make
  make install
 
 在 /etc/profile末尾添加
 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
 source /etc/profile
 使配置生效。

 mfs的安装同上
 只不过 ./configure 注意加上--enable-mfsmount
 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --

enable-mfsmount

 挂载mfs文件系统
 先创建挂载点 mkdir /mnt/mfs
 挂载mfs    /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.0.160
 
 注意,所有的MFS都是挂接同一个元数据服务器master,而不是其他数据存储服务器chunkserver


 卸载已经挂载的文件系统
 umount /mnt/mfs

 通过mfscgiserv 监控客户端连接状态,监听端口是9425
 在管理服务器启动mfscgiserv
 /usr/local/mfs/sbin/mfscgiserv

 用户利用浏览器就可以全面监控所有的客户端的挂接chunk server ,master server,以及客户端的各种操作等信息

 


 

 下面介绍各个部分的情况

 info      显示mfs的基本信息
 servers   列出现有的chunk server
 disks     列出每一台chunk server 的磁盘目录以及使用量
 exports   列出被共享的目录即可被挂接的目录
 mounts    显示被挂接的部分
 operations 显示正在执行的操作
 master charts 显示master server的操作情况包括读取 写入创建目录 删除目录等信息
 server charts 显示chunk server 的操作情况 数据传输率以及系统状态等信息

Tag标签: MFS   分布式文件系统  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规