MFS(moosefs)分佈式文件系統最簡單的搭建

mfs是一個分佈式文件系統
MooseFS(即Moose File System,簡稱MFS)是一個具有容錯性的網絡分佈式文件系統,它將數據分散存放在多個物理服務器或單獨磁盤或分區上,確保一份數據
有多個備份副本,對於訪問MFS的客戶端或者用戶來說,整個分佈式網絡文件系統集羣看起來就像一個資源一樣,也就是說呈現給用戶的是一個統一的資源。
MooseFS就相當於UNIX的文件系統(類似ext3、ext4、nfs),它是一個分層的目錄樹結構。
MFS存儲支持POSIX標準的文件屬性(權限,最後訪問和修改時間),支持特殊的文件,如塊設備,字符設備,管道、套接字、鏈接文件(符合鏈接、硬鏈接);
優點
1)部署簡單,輕量、易配置、易維護
2)易於擴展,支持在線擴容,不影響業務,體系架構可伸縮性極強(官方的case可以擴到70臺)
3)通用文件系統,不需要修改上層應用就可以使用(比那些需要專門api的dfs方便多了)。
4)以文件系統方式展示:如存圖片,雖然存儲在chunkserver上的數據是二進制文件,但是在掛載mfs的client端仍舊以圖片文件形式展示,便於數據備份
5)硬盤利用率高。測試需要較大磁盤空間
6)可設置刪除的空間回收時間,避免誤刪除文件丟失就恢復不及時影響業務
7)系統負載,即數據讀寫分配到所有的服務器上
8)可設置文件備份的副本數量,一般建議3份,未來硬盤容量也要是存儲單份的容量的三倍
MFS讀取數據步驟:
1)客戶端向元數據服務器發出請求
2)元數據服務器把所需數據存放的位置(Chunk Server 的IP地址及Chunk編號)告知客戶端
3)客戶端向已知Chunk Server請求發送數據
4)客戶端取得所需數據
數據傳輸並不通過元數據服務器,這既減輕了元數據服務器的壓力,同時也大大增加了
整個系統的吞吐能力,在多個客戶端讀取數據時,讀取點(Chunk Server)有可能被分散到不同
的服務器
MFS寫入數據步驟:
1)客戶端向元數據服務器發送寫入請求
2)元數據服務器與Chunk Server進行交互如下:
1)元數據服務器指示在某些Chunk Server創建分塊Chunks
2)Chunk Server告知元數據服務器,步驟(1)的操作成功
3)元數據服務器告知客戶端,你可以在哪個Chunk Server的哪個Chunks寫入數據
4)向指定的Chunk Server寫入數據
5)與其他Chunk Server進行數據同步,同步的服務器依據設定的副本數而定,副本爲2,則需同步一個ChunkServer
6)Chunk Sever之間同步成功
7)Chunk Server告知客戶端數據寫入成功
8)客戶端告知元數據服務器本次寫入完畢
MFS的4種角色作用如下
Master管理服務器:負責管理各個數據存儲服務器,調度文件讀寫,回收文件空間以及恢復多節點拷貝
Metalogger元數據日誌服務器:負責備份管理服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs,以便於在管理服務器出問題時接替其進行工作
Chunkserver數據存儲服務器(推薦至少兩臺chunkserver):數據存儲服務器是真正存儲用戶數據的服務器,負責連接管理服務器,聽從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸。在存儲文件時,首先把文件分成塊,
然後將這些塊在數據存儲服務器之間互相複製
Client客戶端:通過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器,使共享的文件系統和使用本地Linux文件系統的效果看起來是一樣的
最簡單的搭建需要準備三臺服務器,方便驗證
192.168.20.11 -----mfsmaster && mfschunkserver
192.168.20.12 -----mfsclient
192.168.20.13 -----mfsclient
#首先搭建mfsmaster 和 mfschunkserver ,安裝mfs
192.168.20.11上的操作

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
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli

修改配置文件 #指定mfschunkserver的服務器地址
#這裏是部署到一臺上面的,Chunkserver可以部署到別的服務器
vim /etc/mfs/mfschunkserver.cfg
在這裏插入圖片描述
vim /etc/mfs/mfshdd.cfg
在這裏插入圖片描述
#指定數據存儲路徑
chown -R mfs:mfs /date/mfs
啓動
mfsmaster
mfscgiserv
http://192.168.20.96:9425 #web訪問
mfschunkserver
mfsmetalogger
#systemctl start moosefs-master #systemctl start moosefs-cgiserv
#systemctl start moosefs-metalogger#systemctl start moosefs-chunkserver

沒有報錯信息mfs客戶端這裏就算安裝完成了
開始安裝客戶端 192.168.20.13&&192.168.20.12一樣

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
yum install moosefs-client

掛載
先創建掛載目錄
mkdir -p /date/mfs-o1
mfsmount /date/mfs-o1 -H 192.168.20.11 #需要關閉防火牆和selinux
查看掛載信息在這裏插入代碼片
在這裏插入圖片描述
說明掛載成功
兩臺服務器都需要掛載
在其中一臺客戶端服務器上寫入數據能在另外一臺看到數據,說明mfs文件存儲服務器搭建成功
192.168.20.12 touch /date/mfs-o1/hello
在 192.168.20.13上能看到剛纔創建的文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章