1. 程式人生 > >centos7.4安裝MFS分布式文件系統

centos7.4安裝MFS分布式文件系統

MFS 分布式文件系統 NFS

多臺服務器通過NFS方式共享一個服務器的存儲空間,使得NFS服務器不堪重負,且會有單點故障問題,雖然用rsync可以使數據同步備份到另一臺服務器,但對提高整個系統性能無幫助。采用MFS分布式文件系統,服務器之間的數據訪問不再是一對多,而是多對多的關系,使性能大幅提升。下載地址http://ppa.moosefs.com/src/
moosefs-3.0.100-1.tar.gz
fuse-2.9.2.tar.gz

MFS系統的組成(結合本案例):
Master Server 192.168.80.81 維護元數據(數據的日期,時間戳等)
Metalogger Server 192.168.80.82 備份Master服務器日誌變化,當Master服務器數據損壞,可以從中取得文件,進行恢復

Chunk Server 1 192.168.80.83 真正的存儲數據的服務器,數據分塊保存,在Chunk之間復制,chunk服務器越多,容量越大,可靠性和性能也就越高
Chunk Server 2 192.168.80.84
Client 192.168.80.85 像掛在NFS系統一樣掛載MFS文件系統,提供測試
技術分享圖片

搭建開始:
1.Master Server設置:

service firewalld stop
setenforce 0
yum install -y zlib-devel

groupadd mfs //增加mfs組
useradd -s /sbin/nologin -g mfs -M mfs //增加mfs用戶

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

./configure \ //編譯安裝
--prefix=/usr/local/mfs \ //指定安裝目錄
--with-default-user=mfs \ //指定用戶
--with-default-group=mfs \ //指定組
--disable-mfschunkserver \ //不使用chunkserver配置

--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

/usr/local/mfs/sbin/mfsmaster stop //若要停止

2.MetaLogger server配置
service firewalld stop
setenforce 0
yum install -y zlib-devel

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-mfschunkserver \ //不使用chunkserver配置
--disable-mfsmount //不使用客戶端配置

make && make install

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
MASTER_HOST = 192.168.80.81 //指定master地址

/usr/local/mfs/sbin/mfsmetalogger start
netstat -anpt | grep mfs

3.chunkserver1和2配置:
service firewalld stop
setenforce 0
yum install -y zlib-devel

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 \ //不使用master配置
--disable-mfsmount //不使用客戶端配置

make && make install

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.81 //指定master地址
vi mfshdd.cfg
/data //最後一行添加,增加一個/data的掛載分區(一般使用獨立的分區和磁盤掛載到此處)

mkdir /data
chown -R mfs:mfs /data

/usr/local/mfs/sbin/mfschunkserver start

netstat -anpt | grep mfs

4.客戶端配置:
service firewalld stop
setenforce 0
yum install -y zlib-devel

tar xzvf fuse-2.9.2.tar.gz //客戶端需要fuse模塊
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

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 \ //不使用master配置
--disable-mfschunkserver \ //不使用chunk配置
--enable-mfsmount //使用客戶端配置

make && make install

mkdir /opt/mfs //本機建立一個目錄,用於掛載
modprobe fuse //把fuse模塊加載到內核
/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.80.81 //使用mfsmount命令將/opt/mfs掛載到master地址
df -hT //查看是否掛載到位
技術分享圖片
umount /opt/mfs //若卸載,使用此命令卸載

優化客戶端的MFS常用命令操作:
vi /etc/profile
export PATH=/usr/local/mfs/bin:$PATH
source /etc/profile


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

5.回到MASTER-server 192.168.80.81

/usr/local/mfs/sbin/mfscgiserv /啟動監控服務

在win10上訪問http://192.168.80.81:9425/mfs.cgi?masterhost=www.aa.com //註意主機名 。可以看到圖形化的MFS監控界面
技術分享圖片

centos7.4安裝MFS分布式文件系統