搭建mfs分布式文件系统

核能气质少年 提交于 2019-12-26 23:48:21

一、MFS 简介:

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

(1)优势:

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

(2)体系结构:

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

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

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

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

二、配置Master服务器

1、安装环境包:
yum install -y zlib-devel gcc gcc-c++
2、创建用户:
useradd -s /sbin/nologin mfs
chown -R mfs.mfs /usr/local/mfs/   //授权

3、解压、编辑源码包:
[root@localhost abc]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
[root@localhost abc]# cd /opt/mfs-1.6.27/

[root@localhost mfs-1.6.27]# ./config \
> --prefix=/usr/local/mfs \
> --with-default-user=mfs \
> --with-default-group=mfs \
> --disable-mfschunkserver \
> --disable-mfsmount

4、安装:
[root@localhost mfs-1.6.27]# make
[root@localhost mfs-1.6.27]# make install

5、复制相关文件:
[root@Master mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@Master mfs]# ls
mfsexports.cfg.dist  mfsmaster.cfg.dist  mfsmetalogger.cfg.dist  mfstopology.cfg.dist
[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]# ls
metadata.mfs.empty
[root@Master mfs]# cp metadata.mfs.empty metadata.mfs

6、开启服务:
[root@Master mfs]# /usr/local/mfs/sbin/mfsmaster start   //开启
[root@Master mfs]# ps -ef | grep mfs   //查看状态
mfs        8526      1  0 14:21 ?        00:00:00 /usr/local/mfs/sbin/mfsmaster start
root       8542   2511  0 14:21 pts/0    00:00:00 grep --color=auto mfs

三、配置Metalogger server

1、安装环境依赖包:
yum install -y zlib-devel gcc gcc-c++

2、创建用户:
useradd mfs -s /sbin/nologin
chown -R mfs.mfs /usr/local/mfs/

3、解压、编译源码包:
[root@log mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
[root@log mfs]# cd /opt/mfs-1.6.27/
[root@log mfs-1.6.27]# ./configure \
> --prefix=/usr/local/mfs \
> --with-default-user=mfs \
> --with-default-group=mfs \
> --disable-mfschunkserver \
> --disable-mfsmount

4、复制文件:
[root@log mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@log mfs]# ls
mfsexports.cfg.dist  mfsmaster.cfg.dist  mfsmetalogger.cfg.dist  mfstopology.cfg.dist
[root@log mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

vim mfsmetalogger.cfg
//修改masterIP地址:
MASTER_HOST = 192.168.220.176

5、开启服务:
/usr/local/mfs/sbin/mfsmetalogger start

四、搭建 chunkserver01

1、安装依赖包:
yum install -y gcc gcc-c++ zlib-devel

2、创建用户:
[root@chunk01 ~]# useradd mfs -s /sbin/nologin
[root@chunk01 mfs]# mkdir /data
[root@chunk01 mfs]# chown -R mfs.mfs /data/

3、解压、编译:
[root@chunk01 mfs]# tar zvxf mfs-1.6.27-5.tar.gz -C /opt/
[root@chunk01 mfs-1.6.27]# 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

4、安装:
[root@chunk01 mfs-1.6.27]# make && make install

5、复制文件:
[root@chunk01 mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@chunk01 mfs]# ls
mfschunkserver.cfg.dist  mfshdd.cfg.dist
[root@chunk01 mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@chunk01 mfs]# cp mfshdd.cfg.dist mfshdd.cfg

6、修改配置文件:
vim mfschunkserver.cfg
MASTER_HOST = 192.168.220.176
 
vim mfshdd.cfg
添加一个目录即可
/data

7、开启服务:
[root@chunk01 mfs]# /usr/local/mfs/sbin/mfschunkserver start

chunkserver02与chunkserver01配置一样

五、客户端配置

1、安装依赖包:
yum install gcc gcc-c++ zlib-devel -y

2、解压、编译:
[root@client mfs]# tar zvxf fuse-2.9.2.tar.gz -C /opt/
[root@client mfs]# cd /opt/fuse-2.9.2/
[root@client fuse-2.9.2]# ./configure 
[root@client fuse-2.9.2]# make && make install

3、检索系统中安装库信息:
vim /etc/profile
末尾添加以下这行:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

4、[root@client fuse-2.9.2]# source /etc/profile  //使环境变量生效

六、安装mfs客户端

1、创建用户:

2、解压、编译:
[root@client mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/
[root@client mfs]# cd /opt/mfs-1.6.27/
[root@client mfs-1.6.27]# ./configure \
> --prefix=/usr/local/mfs \
> --with-default-user=mfs \
> --with-default-group=mfs \
> --disable-mfsmaster \
> --disable-mfschunkserver \
> --enable-mfsmount

[root@client mfs-1.6.27]# make && make install

3、创建文件,进行挂载:
[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.220.176

在这里插入图片描述
优化客户端

vim /etc/profile
添加以下这行:
export PATH=/usr/local/mfs/bin:$PATH

source /etc/profile   

mfssetgoal -r /opt/mfs     //复制副本
mfssetgoal -r 3  /opt/mfs  //数字代表复制几个副本

master 启动监控程序

在这里插入图片描述
master服务器上启动监控程序

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

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!