1. 程式人生 > >Linux的企業-分布式文件系統mfs(moosefs)搭建與配置

Linux的企業-分布式文件系統mfs(moosefs)搭建與配置

分布式文件系統mfs

一、MFS 特性:
1. Free(GPL)
2. 通用文件系統,不需要修改上層應用就可以使用
3. 可以在線擴容,體系架構可伸縮性極強。
4. 部署簡單。
5. 高可用,可設置任意的文件冗余程度(提供比 raid1+0 更高的冗余級別,而絕對不會影響讀或寫的性能,只會加速)
6. 可回收在指定時間內刪除的文件( “ 回收站 ” 提供的是系統級別的服務,不怕誤操作了,提供類似 oralce 的閃回等高級 dbms 的即時回滾特性)
7. 提供 netapp,emc,ibm 等商業存儲的 snapshot 特性。(可以對整個文件甚至在正在寫入的文件創建文件的快照)
8. google filesystem 的一個 c 實現。

9. 提供 web gui 監控接口。
10. 提高隨機讀或寫的效率。
11. 提高海量小文件的讀寫效率。
可能的瓶頸:
1. master 本身的性能瓶頸。mfs 系統 master 存在單點故障如何解決?

moosefs+drbd+heartbeat來保證 master 單點問題?不過在使用過程中不可能完全不關機和間歇性的網絡中斷!
2. 體系架構存儲文件總數的可遇見的上限。(mfs 把文件系統的結構緩存到 master 的內存中,文件越多,master 的內存消耗越大,8g 對應 2500w 的文件數,2 億文件就得 64GB 內存 )。
master 服務器 CPU 負載取決於操作的次數,內存的使用取決於文件和文件夾的個數。


二、MFS 文件系統結構:
包含 4 種角色:
管理服務器 managing server (master)
元數據日誌服務器 Metalogger server(Metalogger)
數據存儲服務器 data servers (chunkservers)
客戶機掛載使用 client computers

各種角色作用:
1. 管理服務器:負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復,多節點拷
貝。
2. 元數據日誌服務器: 負責備份 master 服務器的變化日誌文件,文件類型為changelog_ml.*.mfs,以便於在 master server 出問題的時候接替其進行工作。
3. 數據存儲服務器:負責連接管理服務器,聽從管理服務器調度,提供存儲空間,並為客戶提供數據傳輸。

4. 客戶端:通過 fuse 內核接口掛接遠程管理服務器上所管理的數據存儲服務器,看起來共享的文件系統和本地 unix 文件系統使用一樣的效果。

原始的讀/寫速度很明顯是主要取決於所使用的硬盤的性能、網絡的容量和拓撲結構的,使用的硬
盤和網絡的吞吐量越好,整個系統的性能也就會越好


三.mfs的安裝配置

1.配置環境

redhat6.5

servre1:master 172.25.50.1 mfsmaster

server2:chunk 172.25.50.2

server2:chunk 172.25.50.3

真機client:172.25.50.250


2.將mfs源碼包變為rpm包安裝

安裝rpm-build軟件

技術分享

技術分享


創建rpm包時需要的包依賴

技術分享

技術分享

技術分享


3.在server1上安裝mfsmaster

技術分享


4.使用mfs分布式文件系統需要做好解析

master端 設置為mfsmaster

技術分享


5.mfsmaster端無需配置,直接啟動

技術分享


master端三個端口正常啟動,cgi web圖形端口已經打開

技術分享


6.在客戶端做好解析,網頁訪問

技術分享

技術分享


四.server2和server3配置chunk


1.server2安裝chunk

安裝包依賴

技術分享


2.server2配置解析

技術分享


3.配置共享點chunk1

權限限制,在啟動chunk server前,需確保用戶mfs有權限讀寫將要被掛載的分區

技術分享

技術分享


4.啟動chunk

技術分享

查看數據

技術分享



4.server3上的chunk配置和server2一樣,共享點為chunk2

技術分享

技術分享

技術分享

技術分享


五.客戶端連接

1.安裝mfs 客戶端軟件,配置解析

技術分享

技術分享


2.創建掛載點並掛載mfsmount

技術分享


3. 在/mnt/mfs創建兩個目錄,並設置其文件存儲份數

技術分享

將目錄dir1的儲存份數設置為1

技術分享


4.測試

拷貝passwd文件,查看信息:

dir1一份 在server2上

dir2二份 在server2和server3上

技術分享


瀏覽器查看server2和server3

技術分享


註:關閉一個chunkserver2(172.25.50.2)後,dir1無法查看,因為只存了一份在sevrer2上,但dir2沒有影響,因為存了2份,chunkserver2重新啟動後,恢復正常。


Linux的企業-分布式文件系統mfs(moosefs)搭建與配置