一、MFS 简介:

二、搭建 MFS:

第一步:配置 Master 服务器

第二步:搭建 MetaLogger server

第三步:搭建 chunkserver01

第四步:搭建 chunkserver02

第五步:客户端配置

第六步:安装 mfs 客户端

第七步:master 启动监控程序

一、MFS 简介:

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


(1)优势:


1、高可靠(数据的多个拷贝被存储在不同的计算机上);

2、通过附加新的计算机或者硬盘可以实现容量的动态扩展;

3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站);

4、不受访问和写入影响的文件连贯快照。


(2)体系结构:


1、管理服务器(master server):

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


2、数据服务器群(chunk servers):

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


3、元数据备份服务器(metalogger server):

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


4、访问mfs的客户端:

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


二、搭建 MFS:

角色 IP地址
Master 服务器 192.168.109.66
log 日志服务器 192.168.220.131
chunk01 服务器 192.168.109.138
chunk02 服务器 192.168.109.146
client 客户端 192.168.109.135

第一步:配置 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.109.66

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.109.66
 
vim mfshdd.cfg
添加一个目录即可
/data

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


第四步:搭建 chunkserver02

配置和 chunkserver01 一模一样,参照 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、创建用户:
[root@client mfs]# useradd mfs -s /sbin/nologin

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 启动监控程序

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

浏览器访问网页:192.168.109.66:9425,可查看详细信息

MFS分布式文件系统_第1张图片