以GlusterFS規劃DFS的構思

最近又一些事情讓我回想到以前玩過的GlusterFS(簡稱GFS),不過到現在才想起來為什麼以前會碰到GFS,起因是尋找Distribution File System(DFS)的Solution。後來,GFS也有架設起來,目前也還在運作著,但今天回想了一下,發現以前設計的架構是錯誤的,或許可以解答感覺GFS無法達到逾期的效果,不論是效能還是備援方面,不過也還能運作的好好的。那時候也嘗試過Ceph,該專案的圖原先還是一隻奇怪的大烏賊,現在改過了,比較好看。那時測試的時候因為那時還只是beta版,操作上有問題,所以沒採用,目前正式版應該不會有問題,有機會再來測試看看。

想要佈署DFS的起因是有一個特別的構想,那時手上的機器規格都不一樣,每台機器擁有的儲存空間也不同,同時也沒錢採購專用的Storage設備,因此就想說『有沒有可能將每台機器沒有用到的儲存空間結合起來,成為一個分散式的網路儲存裝置』。這樣的一個構想,應該要是一個分散式的架構設計,可是那時候不知道怎麼想的,竟設計成一個集中式的架構:
現在想想,正確的設計應該要如下圖:

將每個server規劃出來的儲存空間加入GFS的storage pool並建立volume。每台server只要從本機掛載volume,而GFS會負責同步的問題,當然這也是GFS主要處理的部份。這樣的架構應該才是分散式儲存,是GFS正確的用法。規劃DFS的目的是在一個分散的環境下,讓存取的資源儘量保持一致性,並提升存取效能。而備援方面,GFS則提供Geo Replication的solution(請參考官方的document),不再這裡詳述了。

如果以集中管理的架構,雖然每台server都可以透過掛載遠端目錄的方式(native client或NFS)來存取GFS的volume,但如此就會遇到網路頻寬的瓶頸,多台同時存取時的效能簡直慘不忍睹。

留言

熱門文章