189 8069 5689

MFS分布式存储搭建详解-创新互联

                     MFS分布式存储服务

创新互联专注于企业营销型网站、网站重做改版、翼城网站定制设计、自适应品牌网站建设、H5网站设计购物商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为翼城等各大城市提供网站开发制作服务。

 MFS的作用:

    MFS分布式存储的目的是为了解决在NFS的短板,多台服务器通过NFS的方式挂载共享

一个服务器的存储空间,使得NFS服务器不堪重负,经常出现超时的现象,而且NFS存在单点故障,

尽管可以使用rsync同步数据到另一台服务器上做备份,但对提高系统性能并无帮助。因此解决方案

采取MFS分布式文件系统,服务器之间的数据访问不再是一对多的关系,而是多对多的关系。

  什么是分布式存储:

    分布式原理:通过计算机网络和节点相连,简单的说就是把一些分散的共享文件夹集合到一个虚拟文

件夹内。对于用户来说,访问这些共享文件夹只是打开了一个虚拟文件夹,用户感受不到这些共享文件夹是分

布于各个计算机上的。分布式文件系统的好处是集中访问,简化操作,数据容灾,以及提高文件的存取性能。

  MFS原理:

1)MFS文件系统的组成。

● 元数据服务器(master):在整个体系中负责管理文件系统,维护元数据。

● 元数据日志服务器(metaLogger):当MAster服务器数据丢失或者损坏是,可以从日志服务器中取得文件,进行恢复。

● 数据存储服务器(chunkserver):真正存储数据的服务器。存储文件时会把文件分块保存。

● 客户端:可以像挂载MFS文件系统一样,其操作相同。

2)MFS读取数据的处理过程。

● 客户端向元数据服务器发出请求。

● 元数据服务器把所需数据存放位置告知客户端。

●客户端向已知Chunk server请求发送数据。

●Chunk Server向客户端发送数据。

3)MFS写入数据的出来过程

● 客户端向元数据服务器发送写入请求

● 元数据服务器与Chunk Server进行交互,会在Chunk Server上创建新分块Chunks并告知元服务器。

● 元数据服务器告知客户端,可以在哪个Chunk Server的哪个分块Chunks上写入数据。

● 客户端指定Chunk Server写入数据。

● 该Chunk Server与其他Chunk Server进行数据同步,同步成功告知客户端写入成功。

● 客户端告知元数据服务器本次写入完毕。

 实验拓扑如下:

本实验使用5台服务器模拟搭建MFS文件系统

   MFS分布式存储搭建详解

 实验环境:

角色类型操作系统ip地址主要软件
Master ServerCentos7192.168.60.141moosefs-3.0.100-1.tar.gz
MetaLogger ServerCentos7192.168.60.136moosefs-3.0.100-1.tar.gz
Chunk Server1Centos7192.168.60.143moosefs-3.0.100-1.tar.gz
Chunk Server2Centos7192.168.60.144moosefs-3.0.100-1.tar.gz
ClientCentos7192.168.60.130fuse-2.9.2.tar.gz 、moosefs-3.0.100-1.tar.gz

一、搭建Master Server服务器

1、解压、安装环境包

tar zxf moosefs-3.0.100-1.tar.gz -C /opt

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

2、创建用户、编译

cd /opt/moosefs-3.0.100/

useradd -s /sbin/nologin mfs   #创建mfs管理用户

./configure --prefix=/usr/local/mfs \   #编译

--with-default-user=mfs \       #指定管理用户

--with-default-group=mfs \     #指定管理组

--disable-mfschunkserver \    #禁用节点

--disable-mfsmount          #禁用客户端挂载

make && make install

3、复制配置文件

cd /usr/local/mfs/etc/mfs

cp mfsexports.cfg.dist mfsexports.cfg

cp mfsmaster.cfg.dist mfsmaster.cfg

cp mfstopology.cfg.dist mfstopology.cfg

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

cp metadata.mfs.empty metadata.mfs

4、优化、启动服务检测端口

ln -s /usr/local/mfs/sbin/* /usr/local/sbin     #将mfs的命令放到系统中识别

mfsmaster start      #启动mfsmaster

[root@localhost mfs]# netstat -ntap | grep mfs      #看三个监听端口

tcp    0   0 0.0.0.0:9419      0.0.0.0:*        LISTEN   42551/mfsmaster

tcp    0   0 0.0.0.0:9420      0.0.0.0:*        LISTEN   42551/mfsmaster

tcp    0   0 0.0.0.0:9421      0.0.0.0:*        LISTEN   42551/mfsmaster

二、搭建MetaLogger Server服务器

1、解压缩、安装环境包

tar zxf moosefs-3.0.100-1.tar.gz -C /opt

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

2、创建用户、编译

cd /opt/moosefs-3.0.100/

useradd -s /sbin/nologin mfs

./configure --prefix=/usr/local/mfs \

--with-default-user=mfs \

--with-default-group=mfs \

--disable-mfschunkserver \       #禁用节点

--disable-mfsmount            #禁用客户端挂载

make && make install

3、复制配置文件并修改

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

cp mfsexports.cfg.dist mfsexports.cfg

cp mfsmaster.cfg.dist mfsmaster.cfg

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

vim mfsmetalogger.cfg

MATER_HOST = 192.168.60.141      #找到MATER_HOST模板,ip地址指向master

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

cp metadata.mfs.empty metadata.mfs

4、优化、启动服务检测端口

ln -s /usr/local/mfs/sbin/* /usr/local/sbin/       #将mfs的命令放到系统中识别

mfsmetalogger start     #启动服务

[root@localhost mfs]# netstat -ntap | grep mfs     #看下状态有没有起来

tcp    0   1 192.168.60.136:55894  220.250.64.225:9419   SYN_SENT  42707/mfsmetalogger


三、搭建Chunk节点服务器

1、解压、安装环境包

tar zxf moosefs-3.0.100-1.tar.gz -C /opt

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

2、创建用户,编译

cd /opt/moosefs-3.0.100/

useradd -s /sbin/nologin mfs

./configure --prefix=/usr/local/mfs \

--with-default-user=mfs \

--with-default-group=mfs \

--disable-mfsmaster \         #禁用master模式

--disable-mfsmount          #禁用用户挂载

make && make install

3、复制配置文件并修改

cd /usr/local/mfs/etc/mfs

cp mfschunkserver.cfg.dist mfschunkserver.cfg

cp mfshdd.cfg.dist mfshdd.cfg

vim mfschunkserver.cfg

MASTER_HOST = 192.168.60.141   #找到MASTER_HOST模板,IP地址指向master

vim mfshdd.cfg

#etc.

/data        #设置共享目录data,需要创建

4、创建共享目录,更改数组属主

mkdir /data

chown -R mfs.mfs /data/

5、优化、启动服务查看端口

ln -s /usr/local/mfs/sbin/* /usr/local/sbin/  #将mfs的命令放到系统中识别

mfschunkserver start     #启动服务

[root@localhost mfs]# netstat -ntap | grep mfs       #看下状态有没有起来

tcp    0   0 0.0.0.0:9422      0.0.0.0:*        LISTEN   42714/mfschunkserve

tcp    0   0 192.168.60.144:41774  192.168.60.141:9420   ESTABLISHED 42714/mfschunkserve

两台节点服务器的配置相同,重复操作即可。

四、搭建客户端

1、解压、安装环境包

tar zxf moosefs-3.0.100-1.tar.gz -C /opt

tar zxf fuse-2.9.2.tar.gz -C /opt/

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

2、安装配置fuse

cd /opt/fuse-2.9.2/

./configuer        #编译fuse

make & make install

sed -i '$a export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' /etc/profile

source /etc/profile

cd /opt/moosefs-3.0.100/    #编译mfs

useradd mfs -s /sbin/nologin

./configure --prefix=/usr/local/mfs \

--with-default-user=mfs \

--with-default-group=mfs \

--disable-mfsmater \         #禁用master

--disable-mfschunkserver \   #禁用节点

--enable-mfsmount         #开启用户挂载

make && make install

3、挂载

mkdir /opt/mfs  #创建挂载目录

/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.60.141  #挂载

df -h          #查看挂载状态

192.168.60.141:9421    33G   0  33G  0% /opt/mfs

4、客户端一些简单操作

sed -i '$a export PATH=/usr/local/mfs/bin:$PATH' /etc/profile   #mfs优化

source /etc/profile   #刷新环境变量

cd /opt/mfs

echo "this is test" > test.txt

mfsgetgoal -r /opt/mfs   #mfsgetgoal命令用来查询文件被复制的分数

mfssetgoal -r 3 /opt/mfs #mfssetgoal命令用来设置文件被复制的份数

五、MFS监控

在主服务器上开启监控

[root@localhost mfs]# /usr/local/mfs/sbin/mfscgiserv

lockfile created and locked

starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/mfs/share/mfscgi)

http://192.168.60.141:9425   #用它给你的端口进行访问

六、yum安装MFS扩展

MFS也可以用yum进行安装,需要配置yum源

https://moosefs.com/download/  官网各个系统的介绍,这里我介绍一下centos的安装

curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS

curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo

以上两句话是配置yum仓库

master服务器yum安装操作:

yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli

chunkserver服务器yum安装的操作:

yum install moosefs-chunkserver

MetaLogger Server服务器yum安装的操作:

yum install moosefs-metalogger

client端yum安装的操作:

yum install moosefs-client

修改配置文件的操作和手工编译的操作相同

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:MFS分布式存储搭建详解-创新互联
分享URL:http://jkwzsj.com/article/ccseho.html

其他资讯