MFS文件系统
发布日期:2021-08-21 02:35:29 浏览次数:16 分类:技术文章

本文共 7538 字,大约阅读时间需要 25 分钟。

一、MFS文件系统概论

     MFS是linux下的开源存储系统,是由波兰人开发的。MFS文件系统能够实现RAID的功能,不但能够节约存储成本,而且不逊于专业的存储系统,能够实现在线扩展。MFS是一种半分布式文件系统。

MFS的网络分三部分组成,MASTER SERVER、CHUNK SERVER 和 CLIENT,其中MASTER SERVER只有一个,而CHUNK SERVER 和CLIENT可以有多个。

二、MFS文件系统体系结构

MFS文件系统结构包含4种角色,分别是:

1、管理服务器(元数据服务器)--MASTER SERVER

2、元数据日志服务器--Metalogger

3、数据存储服务器--CHUNK SERVER

4、客户端--client

  三、MFS的编译与安装实例

安装环境:Centos 6.5

系统内核:2.6.32-431.el6.x86_64

软件版本:mfs-1.6.11-1.tar.gz

客户端软件 :fuse-2.7.4.tar.gz

服务器分配:

服务分配   IP地址
主控服务器(Master server) 10.10.100.114
主控备份服务器(Metalogger server) 10.10.100.115
存储块服务器(Chunk server) 10.10.100.116
存储块服务器(Chunk server) 10.10.100.117
客户端主机(Clients) 10.10.100.93

echo "10.10.100.114 mfsmaster" >> /etc/hosts   #在各主机上面将主控服务器写入host,这样就不用改配置文件了

主控服务器(Master server) 安装:

[root@localhost ~]# groupadd mfs[root@localhost ~]# useradd -g mfs mfs 或者  useradd -s /sbin/nologin mfs[root@localhost soft]#mfs-1.6.11-1.tar.gz[root@localhost soft]#cd mfs-1.6.11#当我们安装主控服务器时,在配置过程中(./configure),可以取消安装chunk server(--disable-mfschunkserver)以及MooseFS 客户端(--disable-mfsmount)安装[root@localhost mfs-1.6.11]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount[root@localhost mfs-1.6.11]# make[root@localhost mfs-1.6.11]# make install[root@localhost mfs-1.6.11]# cd /usr/local/mfs/etc[root@localhost etc]# pwd/usr/local/mfs/etc[root@localhost etc]# cp mfsmaster.cfg.dist mfsmaster.cfg				#拷贝模板文件重命名得到主配置文件#拷贝模板文件重命名得到权限控制文件[root@localhost etc]# cp mfsexports.cfg.dist mfsexports.cfg[root@localhost etc]# cd ../var/mfs/[root@localhost mfs]# cp metadata.mfs.empty metadata.mfs#配置文件mfsexports.cfg指定那些客户端主机可以远程挂接MooseFS文件系统,以及赋予客户端什么样的访问权限例如.我们指定只有10.10.100.*网段的主机可以以读写模式访问MooseFS的整个共享资[root@localhost etc]# vim mfsexports.cfg10.10.100.0/24          /       rw,alldirs,maproot=0  
#主配置文件的内容以及含义vim mfsmaster.cfg# WORKING_USER = mfs                     运行master server 的用户# WORKING_GROUP = mfs                 运行master server 的组# SYSLOG_IDENT = mfsmaster master server 在syslog中的标识,说明是由master serve 产生的# LOCK_MEMORY = 0                         是否执行mlockall()以避免mfsmaster 进程溢出(默认为0)# NICE_LEVEL = -19                         运行的优先级(如果可以默认是-19; 注意: 进程必须是用root启动)# EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg 被挂接目录及其权限控制文件的存放位置# DATA_PATH = /usr/local/mfs/var/mfs     数据存放路径,此目录下大致有三类文件,changelog,sessions和stats;# BACK_LOGS = 50 metadata 的改变log 文件数目(默认是50);# REPLICATIONS_DELAY_INIT = 300     延迟复制的时间(默认是300s);# REPLICATIONS_DELAY_DISCONNECT = 3600 chunkserver     断开的复制延迟(默认是3600);# MATOML_LISTEN_HOST = * metalogger     监听的IP 地址(默认是*,代表任何IP);# MATOML_LISTEN_PORT = 9419 metalogger     监听的端口地址(默认是9419);# MATOCS_LISTEN_HOST = *         用于chunkserver 连接的IP 地址(默认是*,代表任何IP);# MATOCS_LISTEN_PORT = 9420     用于chunkserver 连接的端口地址(默认是9420);# MATOCU_LISTEN_HOST = *             用于客户端挂接连接的IP 地址(默认是*,代表任何IP);# MATOCU_LISTEN_PORT = 9421   用于客户端挂接连接的端口地址(默认是9421);# CHUNKS_LOOP_TIME = 300           chunks 的回环频率(默认是:300 秒);注:原文为Chunks loop frequency in seconds (default is 300)# CHUNKS_DEL_LIMIT = 100# CHUNKS_WRITE_REP_LIMIT = 1     在一个循环里复制到一个chunkserver 的最大chunk数目(默认是1)# CHUNKS_READ_REP_LIMIT = 5     在一个循环里从一个chunkserver 复制的最大chunk数目(默认是5)# REJECT_OLD_CLIENTS = 0             弹出低于1.6.0的客户端挂接(0 或1,默认是0)
主配置文件的内容以及含义

启动前准备:

echo "10.10.100.114  mfsmaster">> /etc/hosts启动mfsmaster: /usr/local/mfs/sbin/mfsmaster start启动监控服务:/usr/local/mfs/sbin/mfscgiserv浏览器访问地址:http://10.10.100.114:9425/mfs.cgi,可以看到MFS信息。

元数据日志服务器的安装和配置

[root@localhost soft]# tar -zxvf mfs-1.6.11-1.tar.gz [root@localhost soft]# useradd -s /sbin/nologin mfs[root@localhost soft]# cd mfs-1.6.11[root@localhost mfs-1.6.11]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount[root@localhost mfs-1.6.11]# make && make install#生成MFS备份服务器的配置文件[root@localhost mfs-1.6.11]# cd /usr/local/mfs/etc/[root@localhost etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg启动元数据日志服务前准备.echo "10.10.100.114  mfsmaster">> /etc/hosts[root@localhost etc]# /usr/local/mfs/sbin/mfsmetalogger startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfsmetalogger modules ...mfsmetalogger daemon initialized properly

可以查看日志验证备份服务器是否安装成功

Mar 25 15:12:04 localhost mfsmetalogger[27148]: set gid to 501Mar 25 15:12:04 localhost mfsmetalogger[27148]: set uid to 501Mar 25 15:12:04 localhost mfsmetalogger[27150]: connecting ...Mar 25 15:12:04 localhost mfsmetalogger[27150]: open files limit: 5000Mar 25 15:12:04 localhost mfsmetalogger[27150]: connected to MasterMar 25 15:13:00 localhost mfsmetalogger[27150]: sessions downloaded 8B/0.000502s (0.016 MB/s)Mar 25 15:14:00 localhost mfsmetalogger[27150]: sessions downloaded 8B/0.000631s (0.013 MB/s)可以看到我们的备份服务器正常启动

设置开机启动服务编辑/etc/rc.local添加

/uar/local/mfs/sbin/mfsmetalogger start

存储服务器Chunk Server的安装

[root@localhost soft]#tar zxvf mfs-1.6.11.tar.gz[root@localhost soft]# useradd -s /sbin/nologin mfs[root@localhost soft]# cd mfs-1.6.11[root@localhost soft]#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster[root@localhost mfs-1.6.11]# make && make install准备Chunk Server所需要的配置文件[root@localhost mfs-1.6.11]# cd /usr/local/mfs/etc/[root@localhost etc]# cp mfschunkserver.cfg.dist mfschunkserver.cfg[root@localhost etc]# cp mfshdd.cfg.dist mfshdd.cfg#编辑主配置文件[如果写了hosts echo "10.10.100.114  mfsmaster">> /etc/hosts]则不用修改配置文件.#[root@localhost etc]# vim mfschunkserver.cfg#MASTER_HOST = 10.10.100.114#MASTER_PORT = 9420[root@localhost etc]# vim mfshdd.cfg/data

启动数据存储服务器

echo "10.10.100.114  mfsmaster">> /etc/hosts[root@localhost etc]# /usr/local/mfs/sbin/mfschunkserver startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfschunkserver modules ...init: hdd space manager failed !!!error occured during initialization - exiting结果出现错误,通过检查得知/data挂载点的属主和属组没有修改成mfs[root@localhost etc]# chown -R mfs.mfs /data/[root@localhost etc]# /usr/local/mfs/sbin/mfschunkserver startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfschunkserver modules ...scanning folder /data/ .../data/: 0 chunks foundscanning completemain server module: listen on *:9422no charts data file - initializing empty chartsmfschunkserver daemon initialized properly

设置开机启动服务编辑/etc/rc.local添加

/uar/local/mfs/sbin/mfschunkserver start

MFS客户端安装:

http://www.turbolinux.com.cn/turbo/wiki/doku.php?do=export_xhtml&id=ntfs-3g[root@localhost soft]#tar -zxvf fuse-2.8.5.tar.gz[root@localhost soft]#cd fuse-2.8.5[root@localhost soft]#./configure [root@localhost soft]#make && make install  或者直接用yum安装yum -y install fuse.x86_64 fuse-devel.x86_64 fuse-libs.x86_64modprobe fuse  #保证fuse模块被加入到内核 [root@localhost soft]#tar zxvf mfs-1.6.11.tar.gz[root@localhost soft]# useradd -s /sbin/nologin mfs[root@localhost soft]# cd mfs-1.6.11[root@localhost soft]#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount[root@localhost mfs-1.6.11]# make && make install

创建挂载点

[root@localhost mfs-1.6.11]# mkdir /mfs[root@localhost ~]# /usr/local/mfs/bin/mfsmount /mfs -H 10.10.100.114mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root

浏览器访问地址:http://10.10.100.114:9425/mfs.cgi,可以看到MFS信息。

MFS必备命令:

#查看某文件/usr/local/mfs/bin/mfsgetgoal /mfs/#查看目录信息/usr/local/mfs/bin/mfsdirinfo -H /mfs/#写入性能测试:dd if=/dev/zero of=1.img bs=1M count=50#读取性能测试:dd if=1.img bs=1M |dd of=/dev/null#设置副本的份数,推荐3份/usr/local/mfs/bin/mfssetgoal -r 3 /mfs

 

转载地址:https://blog.csdn.net/weixin_33708432/article/details/86327240 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java中汉字自动转换成拼音
下一篇:Html - Iframe

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月16日 15时25分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章