Gluster Storage System

Gluster 簡介

Gluster 是一個分散式的檔案系統,擁有下列明顯的特性:

  1. 可以線上擴增使用空間。

  2. 線上修改架構。

  3. 不需要 metadata 伺服器。

  4. 線上增加、刪除、取代儲存庫成員。

可以線上擴增使用空間

通常在更換硬體設備時需要將伺服器關機然後安裝相關硬體後再上線,在關機的這段時間裡,客戶端無法存取資料與操作檔案。

Gluster 可以彈性擴充增加伺服器節點,將新的節點加入到原本的 Gluster 儲存庫中,使用者不用擔心檔案操作的問題。

線上修改架構

Gluster 支援了分散式架構、複本架構與分散複本架構,在現行的環境中可以將這些架構任意的更改而且不用中斷服務,客戶端仍可以正常的操作檔案。

Distributed 分散式架構

分散式架構是 Gluster 預設的架構模式,建立完成之後客戶端會將檔案分散到不同的節點存放,如此一來可以增加檔案的存取速度。

Replication 複本架構

Gluster 允許的複本(Replication)機制設定後,同一時間將檔案寫入到兩個節點,製作複本是由客戶端進行,當檔案在寫入或修改時會同時操作兩個節點資料。

當複本架構中的任一節點故障時,整個存儲空間不會損壞,Gluster 會自動從所對應中的節點取得檔案。

Distributed-Replication 分散複本架構

分散複本架構同時擁有分散式與複本的優點(但是也需要更多節點),您可以在一個複本架構中增加多個分散式節點,如此資料會分散到更多的節點中,可以增加更多的讀取效能。

不需要 metadata 伺服器

Gluster 使用了 Elastic Hash Algorithm 演算法將檔案與目錄算出獨一的結果,此一結果能夠決定檔案是存放在哪一個節點上。當客戶端要存取檔案的時候不就可以直接到檔案所存放的節點中存取,達到平行存取的機制。

因為每一個檔案都可以被計算出其真正的儲存位置,所以不需要獨立的 metadata 用來儲存檔案與伺服器位置的關係對應,這樣可以減少 metadata 伺服器效能與損毀的問題。

線上增加、刪除、取代儲存池成員

以往的儲存設備在空間不足時用時,擴充方式通常是使用一個更大的儲存空間取代,在進行空間儲存時必需中斷現有的儲存服務,使用者無法存取儲存空間與檔案,在建立完成後還要面對一個長時間的等待-檔案複製與權限設定。

在 Gluster 儲存服務中,您可以很有彈性的增加空間,而且不用停機、不用將現有檔案重新複製到新的空間、不用重新設定檔案權限,使用者依然正常的使用者儲存服務而沒有任何的感覺。

  • 新增節點空間

    使用 Gluster 可以將新的節點空間加入已存在的儲存庫,客戶端不用異動任何檔案與資料。新加入的空間馬上可以反應在客戶端的可用容量上並且開始使用。您不用擔心浪費即有還能使用的儲存設備,也可以增加檔案存取的效能。

    在您新增節點空間後,可以使用內建的 rebalance 功能重新分配 Gluster 檔案配置的位置,重新分配完成之後也可以取得較佳的效態(不論是讀取或是寫入)。

  • 節點取代

    任何的伺服器都有故障的時候,就算您使用了最高階的儲存設備也是一樣。經由 Gluster 架構,您可以很容易的使用新節點伺服器取代舊有的設備,所有的檔案同步作業會自動進行不必使用人工進行檔案複製,這樣不旦保有了檔案並且權限也會一併保留。

  • 節點刪除

    在大部份的情況之下都是新增容量而不是減少容量,但是 Gluster 提供了節點刪除的功能,刪除節點會減少可用空間,被刪除的節點伺服器可以重新分配應用。

    在節點刪除的時候,Gluster 將所有的檔案進行重新分配(rebalance),將它們重新放置在沒有被刪除的節點伺服器上。