MFS分布式文件系统服务器的解析以及搭建

MFS分布式文件系统

MFS是什么?

是一个具有容错性的网络分布式文件系统,分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹

MFS框架的组成成员

元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据,目前不支持高可用

元数据日志服务器(MetaLogger):备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复

数据存储服务器(Chunk):真正存储数据的服务器

客户端(Client): 可以像挂载NFS一样 挂载MFS文件系统

如下图所示是MFS的环境结构图

MFS搭建

搭建Master服务器

1.安装依赖包

yum -y install gcc gcc-c++ zlib-devel

2.建立管理用户

useradd -s /sbin/nologin mfs

3.解压源码包编译安装

 tar zxf mfs-1.6.27-5.tar.gz

 cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

make && make install

4.复制模板创建配置文件(Master服务器需要mfsexports、mfsmaster、mfsmetalogger这三个文件)

cd /usr/local/mfs/etc/mfs/

cp mfsexports.cfg.dist mfsexports.cfg

cp mfsmaster.cfg.dist mfsmaster.cfg

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

cd /usr/local/mfs/var/mfs/

cp metadata.mfs.empty metadata.mfs

5.将该文件目录的属组和属主改为mfs

chown -R mfs.mfs /usr/local/mfs

6.Master服务器需要mfsmaster.cfg(主配置文件)mfsexports.cfg(被挂载目录及权限配置文件),这里不需要修改

mfsmaster.cfg(主配置文件)

#WORKING_USER = mfs \\运行masterserver的用户
#WORKING_GROUP = mfs \\运行masterserver的组
#SYSLOG_IDENT = mfsmaster \\在syslog中表示是mfsmaster产生的日志
#LOCK_MEMORY = 0 \\是否执行mlockall(),以避免mfsmaster进程溢出(默认为0)
#NICE_LEVEL = -19 \\运行的优先级(如果可以,默认是-19;注意:进程必须用root启动)
#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 \\metadata改变的log文件数目(默认是50)
#BACK_META_KEEP_PREVIOUS = 1
#REPLICATIONS_DELAY_INIT = 300
#REPLICATIONS_DELAY_DISCONNECT = 3600
#MATOML_LISTEN_HOST = \\metalogger监听的IP地址(默认是,代表任何IP)
#MATOML_LISTEN_PORT = 9419 \\metalogger监听的端口地址(默认是9419)
#MATOML_LOG_PRESERVE_SECONDS = 600
#MATOCS_LISTEN_HOST = \\用于chunkserver连接的IP地址(默认是,代表任何IP)
#MATOCS_LISTEN_PORT = 9420 \\用于chunkserver连接的端口地址(默认是9420)
#MATOCL_LISTEN_HOST =  \\用于客户端挂接连接的IP地址(默认是,代表任何IP)
#MATOCL_LISTEN_PORT = 9421  \\用于客户端挂接连接的端口地址(默认是4921)
#CHUNKS_LOOP_MAX_CPS = 100000
#CHUNKS_LOOP_MIN_TIME = 300  \\chunk的回环频率(默认是300秒)
#CHUNKS_SOFT_DEL_LIMIT = 10
#CHUNKS_HARD_DEL_LIMIT = 25
#CHUNKS_WRITE_REP_LIMIT = 2  \\在一个循环里复制到一个chunkserver的最大chunk数
#CHUNKS_READ_REP_LIMIT = 10  \\在一个循环里从一个chunkserver复制的最大chunk数
#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

mfsexports.cfg(被挂载目录及权限配置文件)

#Allow everything but "meta".
/ rw,alldirs,maproot=0
#Allow "meta".
. rw
#第一部分:客户端的IP地址
#*表示所有IP地址
#单个IP地址
#IP地址/子网掩码
#IP地址网段
#第二部分:被挂接的目录 
#/标识MFS根 .表示MFSMETA文件系统
#第三部分:客户端拥有的权限
#ro——只读模式共享
#rw——读写的方式共享
#alldirs——允许挂载任何指定的子目录
#admin——管理员权限
#maproot——映射为root,还是指定的用户
#Password——指定客户端密码

7.启动服务并查看是否开启成功

/usr/local/mfs/sbin/mfsmaster start

ps -ef | grep mfs

搭建Metalogge服务器

1.安装依赖包

yum -y install gcc gcc-c++ zlib-devel

2.创建管理用户

useradd -s /sbin/nologin mfs

3.解压安装包并编译安装

tar zxf mfs-1.6.27-5.tar.gz

cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

make && make install

4.复制配置文件模板使用(本服务器只需开启日志文件)

cd /usr/local/mfs/etc/mfs/

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

5.编辑日志配置文件添加Master服务器的IP地址

vim mfsmetalogger.cfg

MASTER_HOST = 192.168.199.129

6.修改文件的属组和属主为mfs

chown -R mfs.mfs /usr/local/mfs/

7.开启MetaLog服务并查看开始是否成功

/usr/local/mfs/sbin/mfsmetalogger start

ps -ef | grep mfs

搭建Chunk服务器(两台搭建步骤一样)

1.安装依赖包

yum -y install gcc gcc-c++ zlib-devel

2.建立管理用户

useradd -s /sbin/nologin mfs

3.解压源码包编译安装

 tar zxf mfs-1.6.27-5.tar.gz

 cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount

make && make install

4.复制模板配置开启mfschunkservermfshdd两个文件使用

cd /usr/local/mfs/etc/mfs/

cp mfschunkserver.cfg.dist mfschunkserver.cfg

cp mfshdd.cfg.dist mfshdd.cfg

5.编辑mfschunkserver.cfg配置文件添加Master服务器IP地址

vim mfschunkserver.cfg

MASTER_HOST = 192.168.0.101

6.修改mfshdd.cfg文件,添加本地挂载之类需要共享的目录或磁盘,生存环境最好使用独立的分区或磁盘挂载到此目录

vim mfshdd.cfg

/test

7.创建挂载目录

mkdir /test

chown -R mfs.mfs /data

8.开启服务并查看启动服务情况是否成功

/usr/local/mfs/sbin/mfschunkserver start

ps -ef | grep mfs

搭建客户端

1.安装依赖包

yum install gcc gcc-c++ zlib-devel fuse fuse-devel -y

2.在/etc/profile最后添加环境变量并运行该文件

vim /etc/profile

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

source /etc/profile

3.创建进程管理用户

useradd -s /sbin/nologin mfs

4.解压安装包,编译安装

tar zxf mfs-1.6.27-5.tar.gz

cd mfs-1.6.27/

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount

make && make install

5.加载fuse模块到内核

modprobe fuse

6.创建挂载点并挂载MFS

mkdir /mfs

/usr/local/mfs/bin/mfsmount /mfs -H 192.168.0.101

7.查看挂载情况:df -hT

8.创建测试文件测试

补充:命令路径优化

ln -s /usr/local/mfs/bin/* /usr/bin/

ln -s /usr/local/mfs/sbin/* /usr/sbin/

这样使用命令就可以不用输入那么长的路径

开启master的图形管理界面(如下图)

/usr/local/mfs/sbin/mfscgiserv

直接访问9425端口就行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值