码迷,mamicode.com
首页 > 其他好文 > 详细

MFS分布式文件系统

时间:2019-12-26 16:23:42      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:配置   dir   mic   信息   ref   管理   同步   相关   技术   

一、MFS 简介:

MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

(1)优势:

1、高可靠(数据的多个拷贝被存储在不同的计算机上);
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展;
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站);
4、不受访问和写入影响的文件连贯快照。

(2)体系结构:

1、管理服务器(master server):
一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)

2、数据服务器群(chunk servers):
任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)

3、元数据备份服务器(metalogger server):
任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。

4、访问mfs的客户端:
任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。

搭建MFS分布式文件系统

修改服务器主机名

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# su
[root@master ~]# 

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# su
[root@master ~]# 

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# su
[root@master ~]# 

[root@localhost ~]# hostnamectl set-hostname chunk02
[root@localhost ~]# su
[root@chunk02 ~]#

[root@localhost ~]# hostnamectl set-hostname client

[root@localhost ~]# su
[root@client ~]#

搭建Master server

#关闭防火墙
[root@master ~]# systemctl stop firewalld.service 
[root@master ~]# setenforce 0

#安装软件包
[root@master ~]# yum install  zlib-devel gcc gcc-c++ -y

#创建用户
[root@master ~]# useradd mfs -s /sbin/nologin

#创建挂载点并挂载软件包文件
[root@master ~]# makdir /abc
[root@master ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/
Password for root@//192.168.10.59/LAMP-C7:  
[root@master ~]# cd /abc/rpm/mfs/

#解压软件包
[root@master mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/
[root@master mfs]# cd /opt/mfs-1.6.27/

#编译源码包
[root@master mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

#编译并安装
[root@master mfs-1.6.27]# make && make install

#复制相关文件
[root@master mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@master mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg
[root@master mfs]# cp mfsexports.cfg.dist mfsexports.cfg
[root@master mfs]# cp mfsmetalogger.cfg.dist
mfsmetalogger.cfg
[root@master mfs]# cd /usr/local/mfs/var/mfs/
[root@master mfs]# cp metadata.mfs.empty metadata.mfs

#对用户授权
[root@master mfs]# chown -R mfs.mfs /usr/local/mfs/

#开启服务
[root@master mfs]# /usr/local/mfs/sbin/mfsmaster start
[root@master ~]# ps -ef | grep mfs
mfs       73676      1  0 00:33 ?        00:00:25 /usr/local/mfs/sbin/mfsmaster start
root     114704  90019  0 08:54 pts/1    00:00:00 grep --color=auto mfs

搭建MetaLogger server

#关闭防火墙
[root@log ~]# systemctl stop firewalld.service 
[root@log ~]# setenforce 0

#安装软件包
[root@log ~]# yum install zlib-devel gcc gcc-c++ -y

#创建用户
[root@log ~]# useradd mfs -s /sbin/nologin

#创建挂载点并挂载软件包文件
[root@log ~]# mkdir /abc
[root@log ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/
Password for root@//192.168.10.59/LAMP-C7:
[root@log ~]# cd /abc/rpm/mfs/

#解压软件包
[root@log ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/
[root@log mfs-1.6.27]# cd /opt/mfs-1.6.27/

#编译源码包
[root@log ~]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

#编译并安装
[root@log mfs-1.6.27]# make && make install

#复制相关文件
[root@log mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@log mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
[root@log mfs]# vim mfsmetalogger.cfg
去除15行注释,并修改为MASTER_HOST = 192.168.18.128

#对用户授权
[root@log ~]# chown -R mfs.mfs /usr/local/mfs/

#开启服务
[root@log ~]# /usr/local/mfs/sbin/mfsmetalogger start
[root@log ~]# ps -ef | grep mfs
root      45092  21706  0 08:54 pts/1    00:00:00 grep --color=auto mfs
mfs       65494      1  0 07:20 ?        00:00:03 :

搭建chunkserver

(两台服务器配置一样)

#安装软件包
[root@chunk01 ~]# yum install  zlib-devel gcc gcc-c++ -y
[root@chunk01 ~]# useradd mfs -s /sbin/nologin

#创建挂载点并挂载软件包文件
[root@chunk01 ~]# mkdir /abc
[root@chunk01 ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/
Password for root@//192.168.10.59/LAMP-C7:  
[root@chunk01 ~]# cd /abc/rpm/mfs/

#解压软件包
[root@chunk01 mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/
[root@chunk01 mfs]# cd /opt/mfs-1.6.27/

#编译源码包
[root@chunk01 mfs-1.6.27]#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount

#编译并安装
[root@chunk01 mfs-1.6.27]# make && make install

复制文件并修改配置文件
[root@chunk01 mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@chunk01 mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@chunk01 mfs]# cp mfshdd.cfg.dist mfshdd.cfg
[root@chunk01 mfs]# vim mfschunkserver.cfg
去除12行注释,并修改为MASTER_HOST = 192.168.18.128
[root@chunk01 mfs]# vim mfschunkserver.cfg
在文末加上目录data
/data
[root@chunk01 mfs]# mkdir /data
[root@chunk01 mfs]# cd
[root@chunk01 ~]# chown -R mfs.mfs /data/

#开启服务
[root@chunk01 ~]# /usr/local/mfs/sbin/mfschunkserver start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfschunkserver modules ...
hdd space manager: path to scan: /data/
hdd space manager: start background hdd scanning (searching for available chunks)
main server module: listen on *:9422
no charts data file - initializing empty charts
mfschunkserver daemon initialized properly

客户端配置

#关闭防火墙
[root@client ~]# systemctl stop firewalld.service 
[root@client ~]# setenforce 0
#
安装软件包
[root@client ~]# yum install gcc gcc-c++ zlib-devel -y
[root@client ~]# mkdir /abc
[root@client ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/
Password for root@//192.168.10.59/LAMP-C7:  
[root@client ~]# cd /abc/rpm/mfs/
[root@client mfs]# tar zxvf fuse-2.9.2.tar.gz -C /opt/
[root@client fuse-2.9.2]# ./configure
[root@client fuse-2.9.2]# make && make install
[root@client fuse-2.9.2]# vim /etc/profile
在文末插入下面这句话
exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
[root@client fuse-2.9.2]# source /etc/profile
[root@client fuse-2.9.2]# useradd mfs -s /sbin/nologin 
[root@client fuse-2.9.2]# cd
[root@client ~]# cd /abc/rpm/mfs/
[root@client mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/
[root@client mfs-1.6.27]# ./configure  --prefix=/usr/local/mfs  --with-default-user=mfs  --with-default-group=mfs  --disable-mfschunkserver  --disable-mfsmaster  --enable-mfsmount

#编译及安装
[root@client mfs-1.6.27]# make && make install

#创建文件,进行挂载
[root@client mfs-1.6.27]# mkdir /opt/mfs
[root@client mfs-1.6.27]# modprobe fuse
[root@client mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.18.128
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
优化客户端
[root@client mfs-1.6.27]# vim /etc/profile
在文末插入下面这句话
export PATH=/usr/local/mfs/bin:$PATH
[root@client mfs-1.6.27]# source /etc/profile

mater server 启动监控程序

[root@master ~]# /usr/local/mfs/sbin/mfscgiserv 
lockfile created and locked
starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/mfs/share/mfscgi)
[root@master ~]#

在宿主机输入地址http://192.168.18.128:9425访问页面

技术图片

技术图片

MFS分布式文件系统

标签:配置   dir   mic   信息   ref   管理   同步   相关   技术   

原文地址:https://blog.51cto.com/14449528/2462010

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!