2011年6月24日 星期五

GlusterFS叢集分散式檔案系統簡介

會開始研究這套GlusterFS,主要是因為自己在管理企業內部儲存架構時碰到一Bottleneck,而這些Bottleneck原因主要來自如下:
1. 企業的資料量幾乎都是呈線性成長,如果你的企業每天是以1T的空間來成長,那會是一件
很恐怖的事。



2. 企業對於儲存設備效能要求很高,例如是Throughput、 IOPS、Response time等。 


3. 採購儲存設備預算有限,不是每個企業都買得起EMC、NetApp儲存設備,雖然這兩種設備我都用過,但要說服老闆一下子掏出幾百萬去買上述設備,的確難度還滿高的,除非你可以確保採購這些設備,可以帶給你的企業有更高的獲利,類似:Apple iCloud後端是使用EMC的Isilon,其容量高達12PB。

 而GlusterFS剛好有幾項特點,可以match上述需求,所以可以參考如下:
1. 它是Open Source,所以它不用錢,除非你需要它的原廠技術支援服務 or 購買Gluster Virtual Storage Appliances等才需要付費。

2. Gluster是file-based scale-out NAS platform,所謂scale-out的意思,代表它可以平行擴充,它的最大特色就是more units = more capacity, more CPU, and more I/O,所以當你建置的node數量越多,其Disk的capacity與Network performance都會呈線性成長,據我所知Dell的EqualLogicPS Series算是類似概念的Storage產品

3. Gluster是Software Only,所以他可以安裝在Linux-ike平台上,RHEL、CentOS、Ubuntu、Debian上,不過目前並不支援Windows平台。

4. 除了提供source code、RPM安裝以外,還提供Virtual Storage Appliance(VMware、Xen、KVM)、Storage Software Appliance(ISO檔)等方式配置。 

5. 支援三種Client連接方式,例如:Samba、NFS、Native Client。

6. 由於擁有Scale-out的特性,所以它可以規劃在Public and Private Cloud Environments裏。

7. 由於是採分散式架構,所以可以建立n個node,然後透過Distributed Replicated Volumes功能,來將多個node,組成類似RAID 1功能,這樣不管哪一個node掛掉,資料都不會遺失,因為每個node都保有一份完整資料,所以可以符合企業high-reliability需求。