現在有大量的企業採用共用儲存伺服器NFS的方式,來對應用資料進行網路儲存,但這存在效能瓶頸和單點故障的問題,於是分布式檔案儲存體管理系統開始流行起來。其優點是不言而喻的,本文為大家推薦了開源的Distributed File SystemMFS,與NFS相比它是一種多對多的關係,這樣一來,效能大幅提升,同時可靠性也高了許多!相信對大家有所協助。
大家都知道,目前MFS中繼資料服務器存在單點問題,因此我們可以通過DRBD提供磁碟及時同步,通過HeartBeat提供Failover,來達到高可用。
相信DRBD大家都有瞭解過,DRBD(Distributed Replicated Block Device)是一種塊裝置,可以被用於高可用(HA)之中.它類似於一個網路RAID-1功能.當你將資料寫入本地檔案系統時,資料還將會被發送到網路中另一台主機上.以相同的形式記錄在一個檔案系統中. 本地(主節點)與遠程主機(備節點)的資料可以保證即時同步.當本地系統出現故障時,遠程主機上還會保留有一份相同的資料,可以繼續使用.在高可用(HA)中使用DRBD功能,可以代替使用一個共用盤陣.因為資料同時存在於本地主機和遠程主機上,切換時,遠程主機只要使用它上面的那份備份資料,就可以繼續進行服務了.
DRBD的工作原理如下圖:
+----------+
| 檔案系統 |
+----------+
|
V
+-------------+
| 塊裝置層 |
| (/dev/drbd1)|
+-------------+
| |
| |
V V
+------------+ +-------------+
| 本地硬碟 | | 遠程主機硬碟|
| (/dev/sdb) | | (/dev/sdb) |
+------------+ +-------------+
至於MFS更多的知識可以差看相關資料!這裡不再多說!這裡只是說明下MFS檔案系統的組成!
MFS檔案系統的組成:
1、中繼資料服務器。在整個體系中負責管理管理檔案系統,目前MFS只支援一個中繼資料服務器master,這是一個單點故障,需要一個效能穩定的伺服器來充當。希望今後MFS能支援多個master伺服器,進一步提高系統的可靠性。
2、資料存放區伺服器chunkserver。真正儲存使用者資料的伺服器,隱藏檔時,首先把檔案分成塊,然後這些塊在資料服務器chunkserver之間複製(複製份數可以手工指定,建議設定副本數為3)。資料服務器可以是多個,並且數量越多,可使用的"磁碟空間"越小,可靠性也越高。
3、中繼資料Log Service器metalogger。 負責備份master伺服器的變化記錄檔,檔案類型為changelog_ml.*.mfs,以便於在master server出問題的時候接替其進行工作,在1.6版中新增加的功能。
4、用戶端。使用MFS檔案系統來儲存和訪問的主機稱為MFS的用戶端,成功掛載MFS檔案系統以後,就可以像以前使用NFS一樣共用這個虛擬性的儲存了。
整個系統架構圖如下: