MFS分佈式文件系統搭建

MFS概述

MooseFS是一個具有容錯性的網絡分佈式文件系統。它把數據分散存放在多個物理服務器上,而呈現給用戶的則是一個統一的資源。

優勢

1、高可靠(數據的多個拷貝被存儲在不同的計算機上)
2、通過附加新的計算機或者硬盤可以實現容量的動態擴展
3、刪除的文件可以根據一個可配置的時間週期進行保留(一個文件系統級別的回收站)
4、不受訪問和寫入影響的文件連貫快照

缺點

master服務器不能解決單點故障

MFS的構成

元數據服務器(Master):

在整個體系中負責管理文件系統,維護元數據,目前不支持高可用。

元數據日誌服務器(MetaLogger):

備份Master服務器的變化日誌文件,當master服務器損壞,可以從日誌服務器中取得文件恢復。

數據存儲服務器(Chunk Server):

真正存儲數據的服務器,服務器越多,容量就越大,可靠性越高,性能越好。

客戶端(Client):

可以像掛載NFS一樣 掛載MFS文件系統

實驗拓撲圖

MFS分佈式文件系統搭建

實驗環境

    服務器                 IP地址             
master服務器         192.168.13.128
log日誌服務器         192.168.13.129
chunk1服務器         192.168.13.130
chunk2服務器         192.168.13.131
client客戶機         192.168.13.132

1,配置master調度服務器

[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,配置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存儲服務器(兩個chunk服務器操作一致)

[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,配置client客戶端

[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,在chunk服務器上查看

[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,在master服務器上啓動監控程序

[root@master mfs]# mfscgiserv   ##開啓監控程序
##在瀏覽器上查看服務器及磁盤

MFS分佈式文件系統搭建
MFS分佈式文件系統搭建


謝謝閱讀!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章