MFS分散ファイルシステム構造

MFSの概要

MooseFSネットワークとフォールトトレラント分散ファイルシステムです。これは、統一されたリソースである複数の物理サーバーに分散したデータに格納され、ユーザに提示されます。

優位

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

短所

master服务器不能解决单点故障

MFSの憲法

メタデータサーバ(マスター):

在整个体系中负责管理文件系统,维护元数据,目前不支持高可用。

メタデータのログサーバ(MetaLogger):

备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复。

データストレージサーバ(チャンクサーバー):

真正存储数据的服务器,服务器越多,容量就越大,可靠性越高,性能越好。

クライアント(クライアント):

可以像挂载NFS一样 挂载MFS文件系统

実験トポロジ

MFS分散ファイルシステム構造

実験環境

    サーバー                 IPアドレス             
マスターサーバー         192.168.13.128
ログログサーバ         192.168.13.129
chunk1サーバ         192.168.13.130
chunk2サーバ         192.168.13.131
クライアントクライアント         192.168.13.132

1、マスタースケジュールサーバーの構成

[root@master ~]# systemctl stop firewalld.service  ##关闭防火墙
[root@master ~]# setenforce 0
[root@master ~]# yum install gcc gcc-c++ zlib-devel -y  ##安装必要的环境组件
[root@master ~]# useradd -s /sbin/nologin mfs  ##创建mfs系统用户
[root@master ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/  ##挂载
[root@master ~]# cd /mnt/mfs
[root@master mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/  ##解压到/opt
[root@master mfs]# cd /opt/
[root@master opt]# cd 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 \   ##关闭两项功能,chunkserver是chunk服务器需要的
> --disable-mfsmount
[root@master mfs-1.6.27]# make && make install  ##编译安装
[root@master mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/  ##切换到mfs配置文件目录
[root@master mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg  ##master服务器配置文件
[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]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin  ##命令便于系统识别
[root@master mfs]# chown -R mfs.mfs /usr/local/mfs/   ##给mfs目录属主属组权限
[root@master mfs]# mfsmaster start   ##开启服务
##关闭为mfsmaster -s
[root@master mfs]# ps -elf | grep mfs  ##查看服务开启情况

2、Log Serverの設定metalogger

##默认24小时,从master下载metadata.mfs.back,恢复整个mfs,需要从日志服务器取得该文件
[root@log ~]# systemctl stop firewalld.service 
[root@log ~]# setenforce 0
[root@log ~]# yum install zlib-devel gcc gcc-c++ -y
[root@log ~]# useradd -s /sbin/nologin mfs
[root@log ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/
Password for root@//192.168.100.3/LNMP-C7:  
[root@log ~]# cd /mnt/mfs/
[root@log mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/
[root@log mfs]# cd /opt/
[root@log opt]# cd 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 \   ##关闭两项功能,此两项功能是chunk服务器需要的
> --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  ##编辑配置文件
MASTER_HOST = 192.168.13.128  ##指定master服务器地址
[root@log mfs]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/   ##命令便于系统识别
[root@log mfs]# mfsmetalogger start  ##开启服务

図3に示すように、構成chunk1,2ストレージサーバ(サーバ動作同じ2つのチャンク)

[root@chunk01 ~]# systemctl stop firewalld.service 
[root@chunk01 ~]# setenforce 0
[root@chunk01 ~]# yum install zlib-devel gcc gcc-c++ -y
[root@chunk01 ~]# useradd -s /sbin/nologin mfs
[root@chunk01 ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/
Password for root@//192.168.100.3/LNMP-C7:  
[root@chunk01 ~]# cd /mnt/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 \   ##关闭master功能
> --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
MASTER_HOST = 192.168.13.128  ##添加master服务器的地址
[root@chunk01 mfs]# vim mfshdd.cfg
##末行添加
/data  ##存储空间
[root@chunk01 mfs]# mkdir /data  ##创建存储空间
[root@chunk01 mfs]# chown -R mfs.mfs /data/  ##给mfs属主属组权限
[root@chunk01 mfs]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/
[root@chunk01 mfs]# mfschunkserver start  ##开启服务

4、クライアントのクライアントを設定

[root@client ~]# systemctl stop firewalld.service 
[root@client ~]# setenforce 0
[root@client ~]# yum install gcc gcc-c++ zlib-devel -y
[root@client ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/
Password for root@//192.168.100.3/LNMP-C7:  
[root@client ~]# cd /mnt/mfs/
[root@client mfs]# tar zxvf fuse-2.9.2.tar.gz -C /opt/  ##客户端跟master挂载模块
[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  ##编译安装
[root@client fuse-2.9.2]# vim /etc/profile  ##配置环境变量
##末行添加
export PKG_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 -s /sbin/nologin mfs  
[root@client fuse-2.9.2]# cd /mnt/mfs/
[root@client mfs]# tar zvxf 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-mfsmaster \    ##关闭master和chunkserver
> --disable-mfschunkserver \
> --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  ##加载fuse到内核
[root@client mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.13.128  ##挂载
[root@client mfs-1.6.27]# df -hT  ##查看
192.168.13.128:9421     fuse.mfs   32G     0   32G    0% /opt/mfs

5、クライアントの最適化

[root@client mfs-1.6.27]# vim /etc/profile
##末行添加
export PATH=/usr/local/mfs/bin:$PATH
[root@localhost mfs-1.6.27]# source /etc/profile
[root@localhost mfs-1.6.27]# mfsgetgoal -r /opt/mfs  ##复制一份副本

6、チャンクサーバー上で表示

[root@chunk01 mfs]# cd /data/
[root@chunk01 data]# ls   ##已经规划好分布结构
00  0E  1C  2A  38  46  54  62  70  7E  8C  9A  
01  0F  1D  2B  39  47  55  63  71  7F  8D  9B  
02  10  1E  2C  3A  48  56  64  72  80  8E  9C  
03  11  1F  2D  3B  49  57  65  73  81  8F  9D  

7、マスターサーバー上の監視プログラムを開始

[root@master mfs]# mfscgiserv   ##开启监控程序
##在浏览器上查看服务器及磁盘

MFS分散ファイルシステム構造
MFS分散ファイルシステム構造


読んでくれてありがとう!

おすすめ

転載: blog.51cto.com/14080162/2464840