一、mfs(mooseFS):
分佈式文件系統,文件系統管理的物理資源存儲在不一樣的節點上,經過計算機網絡與節點相連。具備容錯、高可用性,可擴展的海量存儲等特性。
mfs好處:集中訪問,簡化操做,數據容災,提升文件存取性能。
二、mfs原理:
1)、mfs文件系統組成:
元數據服務器(master):管理文件系統,維護元數據
元數據日誌服務器(metalogger):備份master的日誌變化,文件類型爲changelog_ml..mfs,master數據損壞時能夠經過日誌服務器恢復。
元數據存儲服務器(chunk sever):真正存儲數據的服務器,分塊保存並同步到其餘服務器。
客戶端(client):像掛載NFS同樣掛載mfs文件系統。
2)mfs讀取數據的處理過程:
client向master發出讀請求
master把所需數據存放位置(chunk server的IP地址和chunk編號)告知client
client向已知clunk server請求發送數據
clunk向客戶端發送數據
三、master配置:
配置文件mfsmaster.cfg(主配置文件)和mfsexports.cfg(被掛載目錄及權限配置文件)
mfsmaster.cfg配置文件:
定義了是三個端口:9416/tcp:metalogger監聽端口
9420/tcp:chunkserver監聽端口
9421/tcp:client鏈接端口
mfsexport.cfg文件格式: 客戶端地址 被掛載目錄 客戶端權限
客戶端地址:能夠爲任意ip,單個ip,網段、地址範圍
權限: ro 只讀 rw讀寫 alldirs可掛載任意目錄
maproot隱射爲root用戶 password指定密碼
四、metalogger配置:
配置文件mfsmetatlogger.cfg,指定master服務器地址
五、chunkserver配置:
配置文件mfschunkserver.cfg,mfshdd.cfg,指定master服務器ip地址和mfs提供存儲的分區掛載目錄。
六、client配置:mfsclient依賴於fuse內核模塊,因此要安裝fuse軟件包。
直接使用mfsmount掛載master服務器便可:
/usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.1.100
七、MFS常見操做:
mfsgetgoal:查看文件被複制的份數
mfssetgoal:設置文件被複制的份數,通常不大於chunkserver數量
mfscgiserv:可在master服務器上啓動的用python寫的MFS監控服務器,端口9425
八、mfs集羣的啓動順序:master-chunkserver-metalogger-client start 啓動
中止順序:client-chunserver-metalogger-master, -s 參數爲中止
九、災難恢復:
1)master服務器不能夠直接斷電,如未按順序中止集羣會出現不可再啓動的狀況,
可經過mfsmetarestore -a 修復。
2)如master服務器徹底宕機可能再啓動了,能夠經過將metalogger服務器上日誌複製到新master服務器上合併數據的方式修復。python