Linux企業實戰(五十六)——分散式檔案系統MFS(一)
一、MFS簡介
-
MooseFS是一款Linux下的開源儲存系統,是OpenStack開源雲端計算專案的子專案之一,被稱為物件儲存,提供了強大的擴充套件性、高可靠性和永續性。它能夠將檔案分佈儲存於不同的物理機器上,對外卻提供的是一個透明的介面的儲存資源池。它還具有線上擴充套件、檔案切塊儲存、節點無單點故障、讀寫效率高等特點。
-
MFS分散式檔案系統由後設資料伺服器(Master Server)、後設資料日誌伺服器(Metalogger Server)、資料儲存伺服器(Chunk Server)、客戶端(Client)組成。
- 後設資料伺服器:MFS系統中的核心組成部分,儲存每個檔案的後設資料,負責檔案的讀寫排程、空間回收和在多個chunk server之間的資料拷貝等。目前MFS僅支援一個後設資料伺服器,因此可能會出現單點故障。針對此問題我們需要用一臺效能很穩定的伺服器來作為我們的後設資料伺服器,這樣可以降低出現單點故障的概率。
- 後設資料日誌伺服器:後設資料伺服器的備份節點,按照指定的週期從後設資料伺服器上將儲存後設資料、更新日誌和會話資訊的檔案下載到本地目錄下。當後設資料伺服器出現故障時,我們可以從該伺服器的檔案中拿到相關的必要的資訊對整個系統進行恢復。此外,利用後設資料進行備份是一種常規的日誌備份手段,這種方法在某些情況下並不能完美的接管業務,還是會造成資料丟失。
- 資料儲存伺服器:負責連線後設資料管理伺服器,聽從後設資料伺服器的排程,提供儲存空間,併為客戶端提供資料傳輸,MooseFS提供一個手動指定每個目錄的備份個數。假設個數為n,那麼我們在向系統寫入檔案時,系統會將切分好的檔案塊在不同的chunk server上覆制n份。備份數的增加不會影響系統的寫效能,但是可以提高系統的讀效能和可用性,這可以說是一種以儲存容量換取寫效能和可用性的策略。
- 客戶端:使用mfsmount的方式通過FUSE核心介面掛接遠端管理伺服器上管理的資料儲存伺服器到本地目錄上,然後就可以像使用本地檔案一樣來使用我們的MFS檔案系統了。
-
MFS的優點
- 通用檔案系統,不需要修改上層應用就可以使用;
- 可以線上擴容,體系架構可伸縮性極強;
- 高可用,可設定任意的檔案冗餘程度(提供比 raid1+0 更高的冗餘級別,而絕對不會影響讀或
寫的效能,只會加速); - 部署簡單;
- 提高隨機讀或寫的效率。
二、MFS工作原理
-
MFS讀資料過程:
- MFS客戶端向系統的後設資料管理伺服器提交讀取檔案的任務請求;
- 後設資料伺服器檢索自己的資料並把資料所存放的位置發給客戶端;
- 客戶端接收到後設資料管理伺服器返回的資訊後,向已知的資料儲存伺服器傳送資料請求。
-
MFS寫資料過程:
- MFS的客戶端有資料寫需求時,首先向後設資料管理伺服器提交些檔案的任務請求;
- 後設資料管理伺服器接收到客戶端請求後在資料伺服器建立新的Chunk檔案塊;
- 資料伺服器將建立成功的訊息返回給後設資料管理伺服器;
- 後設資料管理伺服器將資料伺服器的地址返回給客戶端;
- 客戶端直接向已知的資料伺服器寫資料;
- 資料伺服器將寫檔案成功的訊息返回給客戶端;
- 客戶端將此次寫完成的訊號傳送給後設資料管理伺服器。
三、部署過程
- 實驗環境:
主機 | 角色 |
---|---|
server2 | MFS Master |
server3 | MFS Chunkserver |
server9 | MFS Chunkserver |
server10 | MFS Client |
- 安裝相關軟體,並進行設定
在server2,master節點上
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 -y
在瀏覽器中訪問192.168.0.102:9425
此時還沒有chunk server資料結點,所以server這裡是空的
在server3和server9,chunk資料結點上
建立儲存目錄
在配置檔案中指定儲存路徑,並開啟服務,並開啟moosefs-chunkserver
vim /etc/mfs/mfshdd.cfg
在server9建立儲存目錄,/mnt/chunk2,然後進行和server3的操作一樣
然後重新整理瀏覽器檢視server下的資料
在server10client節點進行設定
- 測試使用
在客戶端server10上進行操作
mount #檢視掛載資訊
測試將server9當機
我們發現data1中的資料不能再訪問,因為沒有資料副本,訪問時會卡住;但是不影響data2的訪問,因為它還有一個副本。
- 測試大檔案會在資料結點上分開儲存
相關文章
- 分散式檔案系統HDFS,大資料儲存實戰(一)分散式大資料
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- 分散式檔案系統分散式
- Linux系統中常見的分散式檔案系統推薦!Linux分散式
- 分散式檔案系統-HDFS分散式
- HDFS分散式檔案系統分散式
- Hadoop 系列(一)—— 分散式檔案系統 HDFSHadoop分散式
- Hadoop學習(一)——HDFS分散式檔案系統Hadoop分散式
- Hadoop基礎(一):分散式檔案系統HDFSHadoop分散式
- cephFS分散式檔案系統操作分散式
- FastDFS-分散式檔案系統AST分散式
- 部署GPS分散式檔案系統分散式
- 分散式檔案系統之 FastDFS分散式AST
- AspNetCore分散式檔案上傳系統NetCore分散式
- GFS分散式檔案系統部署解析分散式
- 大型分散式系統現場,阿里大牛帶你實戰分散式系統分散式阿里
- Docker檔案系統實戰Docker
- Zabbix 4.0企業級分散式監控實戰分散式
- 大資料 | 分散式檔案系統 HDFS大資料分散式
- FASTDFS開源分散式檔案系統介紹AST分散式
- 分散式檔案系統之FastDFS安裝部署分散式AST
- Linux檔案系統的實現Linux
- Linux 企業實戰篇Linux
- Linux檔案系統Linux
- [Linux]檔案系統Linux
- 分散式檔案系統之MogileFS的安裝使用分散式
- 分散式檔案系統fastdfs_搭建和基本使用分散式AST
- 隨行付微服務之分散式檔案系統微服務分散式
- 分散式檔案系統fastdfs安裝以及python呼叫分散式ASTPython
- Google分散式檔案系統GFS論文學習Go分散式
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- Linux作業系統支援的檔案系統有哪些?Linux作業系統
- 分散式檔案系統如何做?終於有個人把分散式檔案上傳講清楚了分散式
- ④SpringCloud 實戰:引入Hystrix元件,分散式系統容錯SpringGCCloud元件分散式
- 最簡單的分散式檔案系統 go-fastdfs分散式GoAST
- 必須掌握的分散式檔案儲存系統—HDFS分散式
- Hadoop分散式檔案系統(HDFS)會不會被淘汰?Hadoop分散式