MooseFS維護技巧集錦
【編者按】MooseFS是一款網(wǎng)絡(luò)分布式文件系統(tǒng)。從其簡介、部署及應(yīng)用方面已經(jīng)詳細給大家介紹了,今天我們來了解一下MooseFS的維護技巧。
一、啟動MooseFS集群
最安全的啟動MooseFS集群(避免任何讀或?qū)懙腻e誤數(shù)據(jù)或類似的問題)的方式是按照以下命令步驟:
- 啟動mfsmaster進程
- 啟動所有的mfschunkserver進程
- 啟動mfsmetalogger進程(如果配置了mfsmetalogger)
當(dāng)所有的chunkservers連接到MooseFS master后,任何數(shù)目的客戶端可以利用mfsmount去掛接被export的文件系統(tǒng)。(可以通過檢查master的日志或是CGI監(jiān)視器來查看是否所有的chunkserver被連接)。
二、停止MooseFS集群
安全的停止MooseFS集群:
- 在所有的客戶端卸載MooseFS 文件系統(tǒng)(用umount命令或者是其它等效的命令)
- 用mfschunkserver –s命令停止chunkserver進程
- 用mfsmetalogger –s命令停止metalogger進程
- 用mfsmaster –s命令停止master進程
三、MooseFS chunkservers的維護
假如每個文件的goal(目標(biāo))都不小于2,并且沒有under-goal文件(這些可以用mfsgetgoal –r和mfsdirinfo命令來檢查),那么一個單一的chunkserver在任何時刻都可能做停止或者是重新啟動。以后每當(dāng)需要做停止或者是重新啟動另一個chunkserver的時候,要確定之前的chunkserver被連接,而且要沒有under-goal chunks。
四、MooseFS元數(shù)據(jù)的備份
通常元數(shù)據(jù)有兩部分的數(shù)據(jù)
- 主要元數(shù)據(jù)文件metadata.mfs,當(dāng)mfsmaster運行的時候會被命名為metadata.mfs.back
- 元數(shù)據(jù)改變?nèi)罩綾hangelog.*.mfs,存儲了過去的N小時的文件改變(N的數(shù)值是由BACK_LOGS參數(shù)設(shè)置的,參數(shù)的設(shè)置在mfschunkserver.cfg配置文件中)。
主要的元數(shù)據(jù)文件需要定期備份,備份的頻率取決于取決于多少小時changelogs儲存。元數(shù)據(jù)changelogs應(yīng)該實時的自動復(fù)制。自從MooseFS 1.6.5,這兩項任務(wù)是由mfsmetalogger守護進程做的。
五、MooseFS master的恢復(fù)
一旦mfsmaster崩潰(例如因為主機或電源失?。枰?**一個元數(shù)據(jù)日志changelog并入主要的metadata中。這個操作時通過mfsmetarestore工具做的,最簡單的方法是:
mfsmetarestore -a
如果master數(shù)據(jù)被存儲在MooseFS編譯指定地點外的路徑,則要利用-d參數(shù)指定使用,如:
mfsmetarestore -a -d /storage/mfsmaster
六、從備份恢復(fù)MooseFS master
為了從備份中恢復(fù)一個master,需要做:
1、安裝一個mfsmaster
2、利用同樣的配置來配置這臺mfsmaster(利用備份來找回mfsmaster.cfg),可見配置文件也是需要備份的。
3、找回metadata.mfs.back文件,可以從備份中找,也可以中metalogger主機中找(如果啟動了metalogger服務(wù)),然后把metadata.mfs.back放入data目錄,一般為${prefix}/var/mfs。
4、從在master宕掉之前的任何運行metalogger服務(wù)的服務(wù)器上拷貝***metadata文件,然后放入mfsmaster的數(shù)據(jù)目錄。
5、利用mfsmetarestore命令合并元數(shù)據(jù)changelogs,可以用自動恢復(fù)模式mfsmetarestore –a,也可以利用非自動化恢復(fù)模式,語法如下:
mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs


















