1. 程式人生 > >搭建MFS分布式文件管理系統

搭建MFS分布式文件管理系統

c-c++ 分布 epo enable 依賴 條目 proc fsmo 主配置文件

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

  • MFS的組成

管理服務器 Master: 負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復.多節點拷貝
元數據日誌服務器 MetaLogger: 負責備份 master 服務器的變化日誌文件,文件類型為 changelog_ml.*.mfs,以便於在 master 出問題的時候。從日誌服務器取得文件,進行恢復
數據存儲服務器 chunk servers: 聽從管理服務器調度,提供存儲空間,並為客戶提供數據傳輸.。 真正存儲用戶數據的服務器。存儲文件時,首先把文件分成塊,然後這些塊在數據服務器 之間復制。 數據服務器可以是多個,並且數量越多,可使用的“磁盤空間”越大,可靠性也越高。

客戶機 client :掛載使用 掛載進程 mfs 服務器共享出的存儲並使用。

名稱 IP 操作系統 需要環境
Master servicer centos7.3 192.168.100.21 mfs
Metalogger sevicer centos7.3 192.168.100.22 mfs
chunk server1 centos7.3 192.168.100.23 mfs
chunk server2 centos7.3 192.168.100.24 mfs
client centos7.3 192.168.100.25 mfs fuse

安裝方法一使用yum 在在線安裝

使用YUM安裝配置
添加鍵值:

# curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
添加適當的庫條目

# curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
然後安裝適當的MooseFS組件
主服務器:Master

# yum install -y moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
# systemctl start moosefs-master    //啟動主服務
# ps -ef | grep mfs   //查看端口
元數據日誌服務器 Metaloggers

# yum install -y moosefs-metalogger
# vim mfsmetalogger.cfg
    MASTER_HOST=192.168.200.129
# systemctl start moosefs-metalogger    //啟動日誌服務器
  1. 搭建Master server 我使用的手工編譯安裝所有要安裝一些環境
yum install -y zlib-devel gcc gcc-c++
useradd mfs -s /sbin/nologin  #添加管理用戶
./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.dist mfsmaster.cfg  # 主配置文件  也可以算是重命名
cp mfsexports.cfg.dist mfsexports.cfg #日誌文件
cp mfstopology.cfg.dist mfstopology.cfg # 放斷裂
cd /usr/local/mfs/var/mfs/ 配掛在目錄權限配置文件
cp metadata.mfs.empty metadata.mfs 
/usr/local/mfs/sbin/mfsmaster start  //開啟
/usr/local/mfs/sbin/mfsmaster -s \\停止
主的就不用在配置了

搭建MetaLogger server

useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
make && make install 
cd /usr/local/mfs/etc/mfs/ 
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
vi mfsmetalogger.cfg
MASTER_HOST = 192.168.100.21
vi mfshdd.cfg
/data #指明共享的文件

mkdir /data #創建共享目錄
chown -R mfs:mfs /data #給與權限

/usr/local/mfs/sbin/mfschunkserver start # 開啟服務

技術分享圖片
搭建兩臺chunkserver

兩臺都是一樣的配置
yum install -y zlib-devel gcc gcc-c++
useradd mfs -s /sbin/nologin -M          //創建管理用戶
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
make && make install 

cd /usr/local/mfs/etc/mfs/ 
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg

vim mfschunkserver.cfg
......
MASTER_HOST = 192.168.10.154         //IP指向master

vim mfshdd.cfg
......
/data            //添加一行/data,在這裏/data是一個給MFS的分區,生產環境最好使用獨立的分區或磁盤掛載到此目錄

mkdir /data
chown -R mfs:mfs /data

/usr/local/mfs/sbin/mfschunkserver start   //開啟
/usr/local/mfs/sbin/mfschunkserver start -s    \\停止

技術分享圖片
客戶端配置

yum install -y zlib-devel gcc gcc-c++

tar xzvf fuse-2.9.2.tar.gz -C /opt        //mfs客戶端依賴於fuse
cd /opt/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客戶端----
useradd mfs -s /sbin/nologin -M
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --enable-mfsmount      //註意此處開啟客戶端

make && make install

將MFS文件系統掛載在前端PHP服務器的/var/www/html/webphp/uploads/photos目錄下
---------------------------------------------------
mkdir -p /var/www/html/webphp/uploads/photos         //創建掛載點
modprobe fuse                     //加載fuse模塊到內核
/usr/local/mfs/bin/mfsmount /var/www/html/webphp/uploads/photos -H 192.168.100.21        //掛載MFS
-------------------------------------------
-----MASTER-server-----啟動監控程序--
/usr/local/mfs/sbin/mfscgiserv
http://192.168.175.128:9425

技術分享圖片
技術分享圖片

搭建MFS分布式文件管理系統