1. 程式人生 > >MFS分布式文件系統架構實戰

MFS分布式文件系統架構實戰

MFS分布式文件系統架構實戰

MFS分布式文件系統架構實戰

MFS文件系統的組成架構:
如圖
技術分享圖片
元數據服務器(Master):負責管理文件系統,維護元數據;
元數據日誌服務器(c):備份Master服務器的變化日誌文件;
數據存儲服務器( Chunk Server):真正存儲數據的服務器;
客戶端(Client)可像掛載NFS一樣掛載MFS文件系統

案例環境:
技術分享圖片
第一步:搭建Master server
準備工作:
service firewalld stop
setenforce 0
yum install -y zlib-devel
groupadd mfs
useradd -s /sbin/nologin -g mfs -M mfs

編譯安裝moosefs

tar xf moosefs-3.0.100-1.tar.gz -C /opt/
cd /opt/moosefs-3.0.100/

./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount

make && make install

拷貝相關配置模板:
cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg

cp mfstopology.cfg.sample mfstopology.cfg
cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs

chown mfs:mfs /usr/local/mfs/var/mfs ---設置權限
/usr/local/mfs/sbin/mfsmaster start ---啟動
netstat -anpt | grep mfs
技術分享圖片
第二步:搭建MetaLogger server
與上步到編譯安裝處都一樣操作
下面拷貝配置文件模板:
cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.sample mfsmaster.cfg

cp mfsexports.cfg.sample mfsexports.cfg
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg

cd /usr/local/mfs/var/mfs
mv metadata.mfs.empty metadata.mfs
cd /usr/local/mfs/etc/mfs/
vi mfsmetalogger.cfg ---編輯配置文件
技術分享圖片

/usr/local/mfs/sbin/mfsmaster start ---啟動
netstat -anpt | grep mfs
技術分享圖片
第三步:搭建chunkserver
與上步到編譯安裝處都一樣操作
cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg

vi mfschunkserver.cfg
MASTER_HOST = 192.168.80.181
vi mfshdd.cfg
/data ---把數據存放在這個目錄
mkdir /data
chown -R mfs:mfs /data
/usr/local/mfs/sbin/mfschunkserver start --啟動

netstat -anpt | grep mfs
技術分享圖片
其他兩臺chunkserver相同配置即可。

第四步:客戶端配置
service firewalld stop
setenforce 0
yum install -y zlib-devel

tar xzvf fuse-2.9.2.tar.gz
cd fuse-2.9.2

./configure
make && make install

vi /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile
安裝mfs客戶端
groupadd mfs
useradd -s /sbin/nologin -g mfs -M mfs

tar xf moosefs-3.0.100-1.tar.gz -C /opt/
cd /opt/moosefs-3.0.100/

./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfschunkserver \
--enable-mfsmount

make && make install
編譯安裝完成
mkdir /opt/mfs
modprobe fuse
/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.80.181 //master地址
df -hT
技術分享圖片
優化客戶端
vi /etc/profile
export PATH=/usr/local/mfs/bin:$PATH
source /etc/profile


mfsgetgoal -r /opt/mfs/ //查看備份目錄中文件的拷貝份數
mfssetgoal -r 3 /opt/mfs/ //設置備份目錄中文件的拷貝份數,不要大於chunkserver的總數
mfsgetgoal 文件名 //查看指定文件或目錄的拷貝份數

-----MASTER-server-----啟動監控程序--

/usr/local/mfs/sbin/mfscgiserv

http://192.168.80.181:9425/mfs.cgi?masterhost=www.aa.com //註意主機名
技術分享圖片
實驗結束!

MFS分布式文件系統架構實戰