1. 程式人生 > >MFS分布式文件系統的部署

MFS分布式文件系統的部署

名稱 系統 tex 權限 ast fde 分布 cfg 分布式文件

MFS分布式文件系統的部署

MFS簡介

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

  • MFS文件系統的組成。

    元數據服務器(master):負責管理文件系統,維護元數據。
    
    元數據日誌服務器(MetaLogger):存放日誌文件。
    
    數據存儲服務器(Chunk Server):真正存儲數據的服務器。
    
    客戶端(client):用來掛載MFS文件文件系統的。
  • MFS讀取數據的處理過程。

    1. 客戶端向元數據服務器發出讀請求。
    
    2. 元數據服務器把所需數據存放的位置告知客戶端。
    
    3. 客戶端向已知的Chunk Server請求發送數據。
    
    4. Chunk Server向客戶端發送數據。
  • MFS寫入數據的處理過程。

    1. 客戶端向元數據服務器發送寫入請求。

    2. 元數據服務器與(ChunkServer進行交互)。

    3. 元數據服務器告知客戶端,可以在哪個Chunk Server的哪些Chunks寫入數據。

    4. 客戶端向指定的Chunk Server寫入數據。

    5. 該Chunk Server 與其他Chunk Server進行數據同步,同步成功後Chunk Server告知客戶端數據寫入成功。

    6. 客戶端告知元數據服務器本次寫入完畢。

實驗環境

主機名稱及角色 IP地址 主要軟件
CentOS7-1(master) 172.16.10.138 mfs-1.6.27-5.tar.gz
CentOS7-2(MetaLogger) 172.16.10.137 mfs-1.6.27-5.tar.gz
CentOS7-3(chunkserever1) 172.16.10.133 mfs-1.6.27-5.tar.gz
CentOS7-4(chunkserever2) 172.16.10.136 mfs-1.6.27-5.tar.gz
CentOS7-6(client) 172.16.10.135 mfs-1.6.27-5.tar.gz、fuse-2.9.2.tar.gz

實驗部署

搭建Master Server

  • 首先安裝環境包

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

  • 創建管理用戶

useradd -s /sbin/nologin -M mfs

  • 解壓mfs軟件、配置、編譯安裝

tar xf mfs-1.6.27-5.tar.gz -C /opt
cd /opt/mfs-1.6.27-5/
./configure \
--prefix=/usr/local/mfs \ #工作目錄
--with-default-user=mfs \ #運行masterserver的用戶
--with-default-group=mfs \ #運行masterserver的組
--disable-mfschunkserver \
--disable-mfsmount #關閉功能

make && make install #編譯安裝

  • 配置防斷鏈

cd /usr/local/mfs/var/mfs
cp metadata.mfs.empty metadata.mfs

  • 復制配置文件(使模板生效)

cd /usr/local/mfs/etc/mfs
cp mfsmaster.cfg.sample mfsmaster.cfg #主配置文件
cp mfsexports.cfg.sample mfsexports.cfg #被掛載目錄及權限配置文件
cp mfstopology.cfg.sample mfstopology.cfg #拓撲架構感知

  • 開啟master服務

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

技術分享圖片

這裏可以看到服務已經啟動了,然後關閉服務可以使用/usr/local/mfs/sbin/mfsmaster -s

搭建MetaLogger server

  • 首先安裝環境包

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

  • 創建管理用戶

useradd -s /sbin/nologin -M mfs

  • 解壓mfs軟件、配置、編譯安裝

tar zxvf mfs-1.6.27-5.tar.gz -C /opt
cd /opt/mfs-1.6.27-5/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount

make && make install

  • 配置防斷鏈

cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs

  • 復制配置文件(使模板生效)

cd /usr/local/mfs/etc/mfs
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

  • 修改配置文件使地址指向master服務器

vim mfsmetalogger.cfg

MASTER_HOST=172.16.10.138 #指向master服務器

  • 開啟MetaLogger Server服務

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

技術分享圖片

搭建chunkserver

  • 首先安裝環境包

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

  • 創建管理用戶

useradd -s /sbin/nologin -M mfs

  • 解壓mfs軟件、配置、編譯安裝

tar zxvf mfs-1.6.27-5.tar.gz -C /opt
cd /opt/mfs-1.6.27-5/
./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.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg

  • 修改配置文件使地址指向master服務器

vim mfschunkserver.cfg

MASTER_HOST=172.16.10.138 #指向master服務器

  • 修改mfshdd.cfg,添加共享的文件目錄

vim mgshdd.cfg

/data #添加

  • 創建共享目錄,修改屬主屬組

mkdir /data

chown -R mfs:mfs /data

  • 開啟chunkserver服務

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

技術分享圖片

註:另一臺chunkserver服務器和這臺配置一樣

搭建客戶端client

  • 首先安裝環境包

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

  • 創建管理用戶

useradd -s /sbin/nologin -M mfs

  • 解壓輔助工具

tar xf fuse-2.9.2.tar.gz -C /opt
cd /opt/fuse-2.9.2/
./configure
make && make install

  • 添加環境變量,使系統識別

vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH #添加

source /etc/profile #刷新生效

  • 搭建mfs客戶端

tar zxvf mfs-1.6.27-5.tar.gz -C /opt
cd /opt/mfs-1.6.27-5/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfsmount

make && make install

  • 掛載MFS文件系統

mkdir /opt/mfs //創建掛載點//
modprobe fuse //加載fuse模塊到內核//
/usr/local/mfs/bin/mfsmount /opt/mfs -H 172.16.10.138 //掛載MFS

如果要卸載MFS,使用命令umount /opt/mfs

  • 常用操作

vim /etc/profile
export PATH=/usr/local/mfs/bin:$PATH #添加環境變量,方便相關命令的使用

source /etc/profile

  • MFS網頁監控

/usr/local/mfs/sbin/mfscgiserv #開啟

技術分享圖片

  • 測試

技術分享圖片

技術分享圖片

至此實驗成功,MFS分布式文件系統就全部介紹完了!!!

MFS分布式文件系統的部署