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