分佈式文件系統,獨立mds與無獨立mds優缺點比較

文件系統中metadata是一個關鍵元素,每一個分佈式文件系統的核心所在就是mds的設計。


類似HDFS,Clustre,FastDFS等等分佈式文件系統採用的是獨立的mds架構,Ceph採用的是講mds也分佈開的設計架構,Gluster的設計是將metadata跟數據文件結合方式來存儲,基本上只存跟本地文件有關的metadata消息。下面將Gluster作爲無獨立mds的代表來評價。

本文是自己個人對於獨立的mds與無獨立mds的一些比較,歡迎大家來討論。


獨立的mds做得好,相對於Gluster這種無獨立的mds,會有如下的優點:

首先,遍歷操作會比Gluster遍歷會快很多,mds可以靈活集中的將目錄樹存儲起來,查詢時候基本上就可以只找其中的內容就好。

其次,對於小文件或者有些應用場景對metadata查詢多,對實際文件操作不一定多得場景(rename,stat等操作較多),可以有針對性加速,而且可以初步實現查詢跟讀寫io分離的方式。

另外,易於實現分塊,去重等功能實現,mds可以記錄每一個數據塊的位置,並且可以記錄每一個數據塊的特徵值(如hash等),對於去重操作可以簡單的在mds內部記錄數據塊的位置,從而可以達到不同文件的相同數據塊指向同樣的數據塊位置。


也會有如下缺點:

首先,mds的性能有可能成爲整個分佈式文件系統的容量和性能瓶頸。在存儲規模上去的時候,需要同樣增加mds的數量,存儲規模上去,metadata數量也相應增加,需要增大mds的規模。就會引進新的問題。

其次,mds的數據安全。metadata信息丟失的話,整個集羣的存儲都會癱瘓,所有數據將不可用。因此,mds本身需要進行高可用的設計,這邊又將引進一些數據不一致時的仲裁問題,集羣鎖等問題(mds之間的同步問題)。

另外,數據跟metadata之間的同步問題也需要考慮。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章