使用 GlusterFS 部署可擴展的分散式檔案系統

可擴展的分散式網路檔案系統適用於密集資料的工作,例如影像處理和媒體串流。在高效能運算 (HPC) 環境中使用時,GlusterFS 可針對大型資料集 (尤其是不可變更的檔案) 提供高效能存取。

架構

此參照架構包含分散式網路檔案系統所需的基礎架構元件。它包含三個裸機執行處理,這是設定 GlusterFS 高可用性所需的最低需求。

在三伺服器組態中,至少必須有兩部伺服器為線上狀態,才能寫入叢集。會在所有節點之間複製資料,如圖表所示。

glusterfs-oci.png 描述如下
glusterfs-oci.png 圖解描述

glusterfs-oci-oracle.zip

  • 區域

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且大型距離可以區隔 (跨國家或甚至洲)。

  • 可用性網域

    可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎設施 (例如電力或散熱冷卻系統) 或內部可用性網域網路。因此,一個可用網域發生故障並不會影響該區域中的其他可用網域。

  • 容錯域

    容錯域是可用性網域內的一組硬體和基礎設施。每個可用性網域都有三個具有獨立電源和硬體的容錯域。當您將資源分配到多個容錯域時,應用程式可能會容許容錯域內的實體伺服器故障、系統維護和電源故障。

  • 虛擬雲端網路和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完整控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可為區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。

    此架構使用兩個子網路:一個公用子網路來建立 DMZ 並代管防禦主機伺服器,以及一個代管 GlusterFS 節點的專用子網路。

  • 網路安全群組 (NSG)

    NSG 可作為您雲端資源的虛擬防火牆。使用 Oracle Cloud Infrastructure 的零軌跡安全模型時,所有流量都會被拒絕,您可以控制 VCN 內的網路流量。NSG 包含一組傳入和傳出安全規則,僅適用於單一 VCN 中的一組指定 VNIC。

  • 安全清單

    您可以為每個子網路建立安全規則,以指定子網路中必須允許的來源、目的地以及流量類型。

  • GFS-nodes

    這些是 GlusterFS 前端,每個執行處理都連附 1 TB 的區塊儲存體。

  • /gfs-data

    在參照架構中,從屬端會透過應用程式存取檔案系統的掛載點/gfs-data 掛載 GlusterFS 磁碟區。多部伺服器可以平行存取前端節點。

  • 防禦主機

    防禦主機是一個運算執行處理,可作為雲端外部拓樸的安全、受控制的進入點。防禦主機通常是在非軍事區域 (DMZ) 中啟動設定。它可讓您將機密資源放在無法直接從雲端存取的專用網路中,以保護機密資源。拓樸有一個您可以定期監督及稽核的單一已知進入點。因此,您可以避免暴露拓樸的更敏感元件,而不會暴露它們的存取權。

建議

您的需求可能會與此處描述的架構不同。使用下列建議作為起點。

  • GlusterFS 架構

    此架構使用複製的 GlusterFS 磁碟區;系統會在所有節點之間複製資料。此組態提供最高的資料可用性,但也使用最大的空間。如架構圖所示,建立 File1 時,會跨節點進行複製。

    GlusterFS 支援下列架構。選取符合您需求的架構:
    • 分散式磁碟區

      此架構是預設的 GlusterFS 組態,用於取得磁碟區大小上限和擴展性。沒有資料冗餘。因此,如果磁碟區中的磚塊失敗,將會導致資料遺失。

    • 複製的磁碟區

      此架構最適用於高可用性很嚴重的情況。將資料複製到兩個或多個磚塊,以避免磚塊失敗所造成的資料遺失問題。此參照架構使用複製的磁碟區組態。

    • 分散式複製磁碟區

      此架構是分散式磁碟區和複製磁碟區的組合、用於取得比複製磁碟區更大的可用性、高於分散式磁碟區的可用性。在此組態中,資料會複製到總磚塊的子集上。磁磚數目必須是複本計數的倍數。例如,每個磚塊 1 TB 都會提供 2 TB 的分散式空間,並有兩個交叉費率複製。

    • 已分割磁碟區

      此架構用於將分割成較小區塊的大型檔案,且每個區塊都儲存在磚塊中。負載會分散至整個磚塊,而且可以更快速地擷取檔案,但沒有可用的資料冗餘。

    • 分散式分割磁碟區

      此架構用於跨越更多磚塊分配的大型檔案。使用此組態的權衡是,如果您想要增加磁碟區大小,則必須以分割數目的倍數新增磁碟區。

  • 運算資源配置

    此架構會在所有 GlusterFS 節點使用裸機資源配置 (BM.Standard2.52)。這些裸機運算執行處理有兩個實體 NIC,可以用 25 Gbps 來推送流量。第二個實體 NIC 專用於 GlusterFS 流量。

  • 區塊儲存

    此架構使用 1 TB 的區塊儲存體。如果您需要更多空間,建議您設定邏輯磁碟區管理程式 (LVM) 以允許磁碟區成長。每個區塊磁碟區都會設定為使用平衡的效能,並提供 35K IOPS 和 480 MB/秒的傳輸量。

  • 虛擬雲端網路 (VCN)

    建立 VCN 時,請根據計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和各個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    選取未與想要設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 中、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。

    建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。

    設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。

  • 網路安全群組 (NSG)

    您可以使用 NSG 來定義一組套用至特定 VNIC 的傳入和傳出規則。建議您使用 NSG 而不要使用安全清單,因為 NSG 可讓您將 VCN 的子網路架構與應用程式的安全需求分開。在參照架構中,所有網路通訊都是透過 NSG 來控制。

  • 安全清單

    您可以使用安全清單來定義套用至整個子網路的傳入和傳出規則。

注意事項

  • 效能

    若要獲得最佳效能,請使用專用的 NIC 從應用程式到您的使用者以及 GlusterFS 標頭進行通訊。使用主要 NIC 在您的應用程式和使用者之間進行通訊。使用次要 NIC 與 GlusterFS 標頭進行通訊。您也可以變更區塊儲存的磁碟區效能,以增加或減少磁碟的 IOPS 和傳輸量。

  • 使用狀態

    容錯域提供可用性網域內的最佳復原能力。如果您需要較高的可用性,請考慮使用多個可用性網域或多個區域。對於關鍵任務工作負載,請考慮使用分散式分割的 GlusterFS 磁碟區。

  • 成本
    GlusterFS 部署的費用取決於您對磁碟效能和使用狀態的需求:
    • 您可以選擇下列效能選項:高效能、平衡效能和低成本。
    • 為了獲得更高的可用性,您需要大量的 GlusterFS 節點和磁碟區。

部署

GitHub 中提供部署此參照架構所需的程式碼。只要按一下即可將程式碼提取至 Oracle Cloud Infrastructure Resource Manager,然後建立堆疊並加以部署。或者,從 GitHub 下載程式碼至您的電腦、自訂程式碼,以及使用 Terraform CLI 建置架構。

  • 使用 Oracle Cloud Infrastructure Resource Manager 進行部署:
    1. 一下部署至 Oracle Cloud

      如果您尚未登入,請輸入租用戶和使用者證明資料。

    2. 檢閱並接受條款與條件。
    3. 選取您要在其中部署堆疊的區域。
    4. 依照畫面上的提示和指示建立堆疊。
    5. 建立堆疊之後,請按一下 Terraform 動作,然後選取畫。
    6. 等待工作完成,然後複查計畫。

      若要進行任何變更,請返回「堆疊詳細資訊」頁面,按一下編輯堆疊,然後進行必要的變更。然後,再次執行「劃」動作。

    7. 如果不需要進一步的變更,請返回「堆疊詳細資訊」頁面,按一下 Terraform 動作,然後選取用。
  • 使用 Terraform CLI 部署:
    1. 前往 GitHub
    2. 將儲存區域複製或下載到您的本機電腦。
    3. 依照 README 文件中的指示進行。

變更日誌

此日誌會列出重大變更: