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

分佈式原理

  • 經過計算機網絡與節點相連,就是把一些分散的(分佈在局域網內各個計算機上)共享文件夾,集合到一個文件夾內(虛擬共享文件夾)。
  • 分佈式文件系統的好處是集中訪問、簡化操做、數據容災以及提升文件的存取性能。

MFS原理

  • 元數據服務器(master):在整個體系中負責管理文件系統,維護元數據。
  • 元數據日誌服務器(metalogger):備份master服務器的變化日誌文件,文件類型爲changelog_ml. * . mfs ,當master服務器數據丟失或者損壞時,能夠從日誌服務器中取得文件 ,進行恢復。
  • 數據存儲服務器(chunkserver):真正的存儲數據的服務器,存儲文件是,會把文件分塊保存,並在數據服務器之間進行復制,數據服務器越多,能使用的「容量」越大,可靠性就越高,性能就越好
  • 客戶端(client):能夠像掛載NFS同樣掛載MFS文件系統,其操做是相同的。

MFS讀取數據的處理過程

  • 客戶端向元數據服務器發出讀請求
  • 元數據服務器把所需數據存放的位置(Chunk Server的IP地址和Chunk編號)告知客戶端
  • 客戶端向已知的Chunk Server請求發送數據
  • Chunk Server向客戶端發送數據

MFS寫入數據的處理過程

  • 客戶端向元數據服務器發送寫入請求。
  • 元數據服務器與Chunk Server進行交互(只有當所需的分塊Chunk存在的時候才進行交互),但元數據服務器只在 某些服務器建立新的分塊chunks,建立成功後由Chunk Servers告知元數據服務器操做成功。
  • 元數據服務器告知客戶端,能夠在哪一個Chunk Server的那些chunks寫入數據。
  • 客戶端向指定的Chunk Server寫入數據。
  • 該Chunk Server與其餘Chunk Server進行數據同步,同步成功後Chunk Server告知客戶端數據寫入成功。
  • 客戶端告知元數據服務器本次寫入完畢。

MFS優點

  • 高可用性:沒有單點故障也稱爲無SPOF配置。文件系統的元數據在物理冗餘服務器上保存爲兩個或多個副本。用戶數據冗餘地分佈在系統中的存儲服務器上。
    低成本的數據安全:MooseFS使用戶可以節省大量硬盤空間,保持相同的數據冗餘級別。在大多數常見狀況下,將節省至少55%的硬盤空間.
  • 可擴展性:存儲能夠擴展到16字節(~16000千兆字節),這使咱們能夠存儲超過20億個文件
    高性能:旨在支持高性能I/O操做。用戶數據能夠在許多存儲節點上同時讀取/寫入,從而避免單箇中央服務器或單個網絡鏈接瓶頸。

實驗環境

主機 操做系統 IP地址
Master Server CentOS-7-x86_64 192.168.144.110
MetalLogger Server CentOS-7-x86_64 192.168.144.112
Chunk Server1 CentOS-7-x86_64 192.168.144.111
Chunk Server2 CentOS-7-x86_64 192.168.144.113
Client CentOS-7-x86_64 192.168.144.114

實驗部署

安裝方式

  • 根據官方網站提供的安裝方式,咱們能夠按照官方提供的方式安裝,簡易也節約時間。

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

一、搭建Master Server

  • 按上圖方式安裝完成Master Server後,直接啓動便可。

mfsmaster start node

  • 如果須要中止

mfsmaster -sweb

二、搭建MetaLogger Server

  • 按官方提供安裝方式安裝。
  • 安裝完成後,須要此臺服務器監控master。

vim /etc/mfs/mfsmetalogger.cfg vim

MASTER_HOST = 192.168.144.110       //添加指向master的IP地址
  • 啓動服務便可。

mfsmetalogger start 瀏覽器

  • 若想中止服務。

mfsmetalogger -s安全

三、搭建chunk server

  • 本實驗有兩臺chunkserver,搭建步驟徹底相同
  • 安裝方式如官方方式

vim /etc/mfs/mfschunkserver.cfg服務器

MASTER_HOST = 192.168.144.110   //提供存儲給master

vim /etc/mfs/mfshdd.cfg網絡

/data     //添加一行,在這裏/data是一個給MFSmaster的分區,實際生產環境中最好使用獨立的分區或磁盤掛載到此目錄

mkdir /data/
chown -R mfs.mfs /data/ #更改屬主屬組分佈式

  • 完成如上配置後,chunkserver算是配置完成,啓動便可。

mfschunkserver start ide

  • 若想中止服務。

mfschunkserver -s性能

四、客戶端配置

  • 安裝方式如官方方式。

  • 客戶端安裝完成後,建立掛載master提供空間的目錄。

mkdir /abc
mfsmount -H 192.168.144.110 /abc

  • 掛載完成後,查看掛載狀態,以下圖所示

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

五、客戶端MFS經常使用操做

  • mfsgetgoal命令經常使用來查詢文件被複制的份數,-r命令能夠對整個目錄進行遞歸,goal是指文件被複制的份數。

    mfsgetgoal -r /abc/

/abc/:
 files with goal                2 :          1
 directories with goal          2 :          1
  • mfssetgoal命令用來設置文件被複制的份數,生產環境chunkserver節點數量至少大於2,文件副本數量小於等於chunkserver服務器的數量。

mfssetgoal -r 2 /abc/

/abc/:
 inodes with goal changed:                       0
 inodes with goal not changed:                   2
 inodes with permission denied:                  0

mfsgetgoal -r /abc/

/abc/:
 files with goal                2 :          1
 directories with goal          2 :          1
  • 建立文件測試以下:

cd /abc
touch test
mfsgetgoal /abc/

/abc/: 2

六、MFS監控

  • MFscgiserv使用Python編寫的一個web服務器,監聽端口爲9425,能夠在master上經過命令啓動。

mfscgiserv

  • 在客戶端上經過瀏覽器訪問http://192.168.144.110:9425

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

相關文章
相關標籤/搜索