使用 StorageGRID 實現零 RPO :完整的多站台複寫指南
本技術報告提供完整指南,協助您實作 StorageGRID 複寫策略,以在站台發生故障時達成零的還原點目標( RPO )。本文件詳細說明 StorageGRID 的各種部署選項,包括多站台同步複寫和多網格非同步複寫。它說明如何設定 StorageGRID 的資訊生命週期管理( ILM )原則,以確保資料在多個位置上的耐用性和可用度。此外,本報告還涵蓋效能考量,故障案例和恢復程序,以維持不中斷的用戶端作業。本文件的目標是提供資訊,以確保資料可存取且一致,即使在站台發生完整故障時,也能同時運用同步與非同步複寫技術。
StorageGRID 總覽
NetApp StorageGRID 是物件型儲存系統,支援業界標準的 Amazon Simple Storage Service ( Amazon S3 ) API 。
StorageGRID 在多個位置提供單一命名空間,並根據資訊生命週期管理原則( ILM )提供不同的服務層級。有了這些生命週期原則,您就能在資料生命週期中最佳化資料的位置。
StorageGRID 提供可設定的耐用度,以及您在本機和地理區域分散式解決方案中資料的可用度。無論您的資料是在內部部署或公有雲中,整合式混合雲工作流程都能讓您的企業運用 Amazon Simple Notification Service ( Amazon SNS ), Google Cloud , Microsoft Azure Blob , Amazon S3 Glacier , Elasticsearch 等雲端服務。
StorageGRID 擴充
StorageGRID 可部署最多 3 個儲存節點,單一網格最多可擴充至 200 個節點。單一網格可部署為單一站台,或延伸至 16 個站台。最小的網格是由管理節點和單一站台中的 3 個儲存節點所組成。管理節點包含管理介面,度量和記錄的中央點,並維護 StorageGRID 元件的組態。管理節點也包含用於 S3 API 存取的整合式負載平衡器。StorageGRID 可部署為純軟體, VMware 虛擬機器應用裝置或專為特定用途所打造的應用裝置。
StorageGRID 節點可部署為僅中繼資料節點,以最大化物件數,僅物件儲存節點最大化物件空間,或是結合中繼資料和物件儲存節點來新增物件數和物件空間。每個儲存節點都可擴充至數 PB 容量,以利物件儲存,以數百 PB 的單位提供單一命名空間。StorageGRID 也為 S3 API 作業提供整合式負載平衡器,稱為閘道節點。
StorageGRID 包含放置在站台拓撲中的節點集合。StorageGRID 中的站台可以是唯一的實體位置,也可以與網格中的其他站台一樣位於共用實體位置,作為邏輯結構。StorageGRID 站台不應跨越多個實體位置。站台代表共用區域網路( LAN )基礎架構。
StorageGRID 和故障網域
StorageGRID 包含多層故障網域,可用於決定如何建構解決方案,如何儲存資料,以及應將資料儲存在何處,以降低故障風險。
-
網格層級:由多個站台組成的網格可能會發生站台故障或隔離,而可存取的站台可以繼續作為網格運作。
-
站台層級:站台內的故障可能會影響該站台的作業,但不會影響網格的其餘部分。
-
節點層級:節點故障不會影響站台的運作。
-
磁碟層級:磁碟故障不會影響節點的運作。
物件資料和中繼資料
使用物件儲存時、儲存單元是物件、而非檔案或區塊。不同於檔案系統或區塊儲存設備的樹狀階層、物件儲存設備會以無結構化的平面配置來組織資料。物件儲存設備可將資料的實體位置與用來儲存及擷取該資料的方法分離。
物件型儲存系統中的每個物件都有兩個部分:物件資料和物件中繼資料。
-
物件資料代表實際的基礎資料,例如照片,影片或醫療記錄。
-
物件中繼資料是指描述物件的任何資訊。
利用物件中繼資料來追蹤整個網格中所有物件的位置、並長期管理每個物件的生命週期。StorageGRID
物件中繼資料包含下列資訊:
-
系統中繼資料、包括每個物件的唯一 ID ( UUID )、物件名稱、 S3 貯體名稱、租戶帳戶名稱或 ID 、物件的邏輯大小、物件第一次建立的日期和時間、以及物件上次修改的日期和時間。
-
每個物件複本或抹除編碼片段的目前儲存位置。
-
任何與物件相關聯的自訂使用者中繼資料金鑰值配對。
-
對於 S3 物件,任何與物件相關的物件標籤金鑰值配對
-
對於分段物件和多部分物件、區段識別碼和資料大小。
物件中繼資料可自訂且可擴充、使應用程式更靈活地使用。如需 StorageGRID 儲存物件中繼資料的方式及位置的詳細資訊,請前往 "管理物件中繼資料儲存"。
StorageGRID 的資訊生命週期管理( ILM )系統用於協調 StorageGRID 系統中所有物件資料的放置,持續時間和擷取行為。ILM 規則決定 StorageGRID 如何使用物件的複本來儲存物件,或是在節點和站台之間對物件進行銷毀編碼。此 ILM 系統負責在網格內保持物件資料一致性。
銷毀編碼
StorageGRID 提供在多個層級上抹除程式碼資料的功能。使用 StorageGRID 應用裝置,我們會在所有磁碟機上,清除儲存在每個節點上的資料,並提供 RAID 保護,防止多個磁碟故障造成資料遺失或中斷。此外, StorageGRID 可以使用抹除編碼配置,在站台內的節點之間儲存物件資料,或透過 StorageGRID 的 ILM 規則,在 StorageGRID 系統中的 3 個或更多站台之間散佈物件資料。
抹除編碼提供的儲存配置可因應節點故障而產生彈性,而且成本較低,複寫作業也能相同,而且成本較高。只要符合儲存資料區塊所需的最小節點數,所有 StorageGRID 銷毀編碼配置都可部署在單一站台上。這表示如果 EC 方案為 4+2 ,則至少需要 6 個節點才能接收資料。
中繼資料一致性
在 StorageGRID 中,中繼資料通常會每個站台儲存三個複本,以確保一致性和可用度。這種備援功能有助於維持資料完整性和存取能力,即使發生故障也沒問題。
預設一致性是在全網格層級定義。使用者可以隨時變更貯體層級的一致性。
StorageGRID 提供的貯體一致性選項包括:
-
* 全部 * :提供最高等級的一致性。網格中的所有節點都會立即接收資料,否則要求將會失敗。
-
Strong-globall :保證所有網站上所有用戶端要求的寫入後讀取一致性。
-
Strong-globall-V2 :保證所有站台的所有用戶端要求都能在寫入後讀取一致性。如果能達成中繼資料複本仲裁,則可為多個節點或甚至是站台故障提供一致性。例如,至少必須從 3 站台網格製作 5 個複本,且站台內最多有 3 個複本。
-
Strong-site :保證網站內所有用戶端要求的寫入後讀取一致性。
-
* 新寫入後讀取 * (預設):提供新物件的寫入後讀取一致性,以及物件更新的最終一致性。提供高可用度與資料保護保證。建議大多數情況下使用。
-
* 可用 * :提供新物件和物件更新的最終一致性。對於 S3 貯體、請僅視需要使用(例如、包含很少讀取的記錄值之貯體、或用於對不存在的金鑰執行 head 或 Get 作業)。S3 FabricPool 儲存區不支援。
物件資料一致性
雖然中繼資料會在站台內及站台之間自動複寫,但物件資料儲存位置的決策取決於您。物件資料可以儲存在站台內和跨站台的複本中,在站台內或跨站台進行銷毀編碼,或是組合或複本,以及銷毀編碼儲存配置。ILM 規則可套用至所有物件,或僅篩選至特定物件,貯體或租戶。ILM 規則定義物件的儲存方式,複本和 / 或銷毀編碼,物件在這些位置儲存的時間,複本或銷毀編碼配置的數量應變更,或位置應隨著時間而變更。
每個 ILM 規則都會設定三種擷取行為之一來保護物件:雙重認可,平衡或嚴格。
雙重認可選項會立即在網格中的任何兩個不同儲存節點上製作兩份複本,並將要求傳回給用戶端。節點選擇會在要求的站台內嘗試,但在某些情況下可能會使用另一個站台的節點。物件會新增至 ILM 佇列,以便根據 ILM 規則進行評估和放置。
平衡選項會立即根據 ILM 原則評估物件,並在將要求成功傳回用戶端之前同步放置物件。如果因停機或儲存設備不足而無法立即符合 ILM 規則以符合放置要求,則會改用雙重提交。問題解決後, ILM 會根據定義的規則自動放置物件。
Strict 選項會立即根據 ILM 原則評估物件,並在將要求成功傳回用戶端之前同步放置物件。如果因停機或儲存設備不足而無法立即符合 ILM 規則,以符合放置要求,則要求將會失敗,用戶端將需要重試。
負載平衡
StorageGRID 可透過整合式閘道節點,外部 3rd 協力廠商負載平衡器, DNS 循環配置資源,或直接部署至儲存節點,以進行用戶端存取。您可以在站台中部署多個閘道節點,並在高可用度群組中進行設定,以在閘道節點中斷時提供自動容錯移轉和容錯回復。您可以在解決方案中結合負載平衡方法,為解決方案中的所有站台提供單一存取點。
根據預設,閘道節點會在閘道節點所在站台的儲存節點之間平衡負載。StorageGRID 可設定為允許閘道節點使用多個站台的節點來平衡負載。此組態會增加這些站台之間的延遲,以回應用戶端要求的延遲。只有當用戶端可以接受總延遲時,才應設定此選項。
如何使用 StorageGRID 實現零 RPO
若要在物件儲存系統中實現零恢復點目標( RPO ),在故障發生時必須:
-
中繼資料和物件內容都同步,而且被視為一致的
-
即使發生故障,物件內容仍可存取。
對於多站台部署而言,強式 Global V2 是首選的一致性模式,可確保中繼資料在所有站台之間同步,因此必須符合零 RPO 需求。
儲存系統中的物件是根據資訊生命週期管理( ILM )規則來儲存,這些規則決定資料在整個生命週期內的儲存方式和位置。對於同步複寫,您可以考慮嚴格執行或平衡執行。
-
零 RPO 必須嚴格執行這些 ILM 規則,因為它能確保物件置於定義的位置,不會有任何延遲或後退,維持資料可用度和一致性。
-
StorageGRID 的 ILM Balance 擷取行為可在高可用度與恢復能力之間取得平衡,讓使用者即使在站台發生故障時也能繼續擷取資料。
或者,結合本機和全域負載平衡,確保 RTO 為零。若要確保不中斷的用戶端存取,需要平衡用戶端要求的負載。StorageGRID 解決方案可在每個站台中包含許多閘道節點和高可用度群組。為了讓任何站台中的用戶端即使在站台故障時也能不中斷存取,您應該將外部負載平衡解決方案與 StorageGRID 閘道節點一起設定。設定閘道節點高可用度群組來管理每個站台內的負載,並使用外部負載平衡器來平衡高可用度群組之間的負載。外部負載平衡器必須設定為執行健全狀況檢查,以確保只將要求傳送至營運站台。有關使用 StorageGRID 進行負載平衡的詳細信息,請參閱 "StorageGRID 負載平衡器技術報告"。
跨多個站台進行同步部署
-
多站台解決方案: * StorageGRID 可讓您在網格內的多個站台之間同步複寫物件。藉由設定平衡或嚴格行為的資訊生命週期管理( ILM )規則,物件會立即放置在指定的位置。將貯體一致性層級設定為 Strong Global v2 ,也能確保同步中繼資料複寫。StorageGRID 使用單一全域命名空間,將物件放置位置儲存為中繼資料,因此每個節點都能知道所有複本或銷毀編碼片段的位置。如果無法從提出要求的站台擷取物件,則會自動從遠端站台擷取物件,而不需要進行容錯移轉程序。
一旦故障解決,就不需要手動進行容錯回復。複寫效能取決於網路處理量最低,延遲最高,效能最低的站台。站台效能是根據節點數量, CPU 核心數和速度,記憶體,磁碟機數量和磁碟機類型而定。
-
多網格解決方案: * StorageGRID 可以使用跨網格複寫( CGR ),在多個 StorageGRID 系統之間複寫租戶,使用者和貯體。CGR 可將選取的資料延伸至超過 16 個站台,增加物件儲存區的可用容量,並提供災難恢復。使用 CGR 複寫貯體包括物件,物件版本和中繼資料,可以是雙向或單向的。恢復點目標( RPO )取決於每個 StorageGRID 系統的效能,以及它們之間的網路連線。
-
摘要: *
-
網格內複寫包括同步和非同步複寫,可透過 ILM 擷取行為和中繼資料一致性控制進行設定。
-
網格間複寫僅為非同步複寫。
單一網格多站台部署
在下列案例中, StorageGRID 解決方案會設定選用的外部負載平衡器,以管理對整合式負載平衡器高可用度群組的要求。除了 RPO 為零之外,這也能達到零的 RTO 。ILM 的組態為平衡擷取保護,可用於同步放置。每個貯體都針對 3 個或更多站台的網格設定強大的全球 v2 一致性模型,並針對 3 個以上的站台設定強大的全球一致性。
在雙站台 StorageGRID 解決方案中,每個物件至少有兩個複本或 3 個 EC 區塊,所有中繼資料有 6 個複本。故障恢復後,中斷的更新會自動同步至恢復的站台 / 節點。只有 2 個站台,在故障情況下,不可能達到零 RPO ,而超出整個站台損失。
在三個以上站台的 StorageGRID 解決方案中,每個物件至少有 3 個複本或 3 個 EC 區塊,所有中繼資料有 9 個複本。故障恢復後,中斷的更新會自動同步至恢復的站台 / 節點。有了三個以上的站台,就能達到零 RPO 。
多站台故障案例
故障 | 2 站台結果 | 3 個以上的網站結果 |
---|---|---|
單節點磁碟機故障 |
每個應用裝置使用多個磁碟群組,每個群組至少可維持 1 個磁碟機故障,而不會中斷或遺失資料。 |
每個應用裝置使用多個磁碟群組,每個群組至少可維持 1 個磁碟機故障,而不會中斷或遺失資料。 |
單一站台發生單一節點故障 |
不中斷營運或資料遺失。 |
不中斷營運或資料遺失。 |
單一站台發生多個節點故障 |
中斷客戶端對此站點的操作,但不會丟失任何數據。 導向至另一個站台的作業會保持不中斷,且不會遺失資料。 |
作業會導向所有其他站台,並保持不中斷且不會遺失資料。 |
在多個站台發生單一節點故障 |
在下列情況下不會中斷或遺失資料:
若發生下列情況,作業中斷及資料遺失風險:
|
在下列情況下不會中斷或遺失資料:
若發生下列情況,作業中斷及資料遺失風險:
|
單一站台故障 |
用戶端作業將會中斷,直到故障解決為止,或是將貯體一致性降低至強式站台或更低站台,以使作業成功,但不會遺失資料。 |
不中斷營運或資料遺失。 |
單一站台加上單一節點故障 |
用戶端作業將會中斷,直到故障解決為止,或是將貯體一致性降低至新寫入後讀取或更低,以使作業成功且可能遺失資料。 |
不中斷營運或資料遺失。 |
單一站台加上每個剩餘站台的節點 |
用戶端作業將會中斷,直到故障解決為止,或是將貯體一致性降低至新寫入後讀取或更低,以使作業成功且可能遺失資料。 |
如果無法達到中繼資料複本仲裁,且資料可能遺失,作業將會中斷。 |
多站台故障 |
如果至少有 1 個站台無法完整恢復,則不會遺失任何營運站台保留的資料。 |
如果無法達到中繼資料複本仲裁,作業將會中斷。只要至少保留 1 個站台,就不會遺失任何資料。 |
站台的網路隔離 |
用戶端作業將會中斷,直到故障解決為止,或是將貯體一致性降低至強式站台或更低站台,以使作業成功,但不會遺失資料 |
隔離站台的作業將會中斷,但不會遺失資料 不會中斷其餘站台的作業,也不會遺失資料 |
多站台多網格部署
若要新增額外的備援層,此案例將採用兩個 StorageGRID 叢集,並使用跨網格複寫來保持同步。對於此解決方案,每個 StorageGRID 叢集都有三個站台。兩個站台將用於物件儲存和中繼資料,而第三個站台則僅用於中繼資料。這兩個系統都會設定平衡的 ILM 規則,以便在兩個資料站台中的每個站台使用銷毀編碼來同步儲存物件。儲存區將以強大的全球 v2 一致性模式進行設定。每個網格都會在每個儲存區上設定雙向跨網格複寫。這可在區域之間提供非同步複寫。您也可以實作全域負載平衡器,以管理對兩個 StorageGRID 系統的整合式負載平衡器高可用度群組的要求,以達到零 RPO 。
此解決方案將使用四個位置,分為兩個區域。區域 1 將包含網格 1 的 2 個儲存網站,做為區域的主要網格,以及網格 2 的中繼資料網站。區域 2 將包含網格 2 的 2 個儲存網站,做為區域的主要網格,以及網格 1 的中繼資料網站。在每個區域中,相同的位置可以容納該區域主要網格的儲存網站,以及其他區域網格的中繼資料唯一網站。只使用中繼資料節點做為第三個站台,可提供中繼資料所需的一致性,而不會複製該位置中物件的儲存。
此解決方案具有四個獨立位置,可提供兩個獨立 StorageGRID 系統的完整備援,維護 0 的 RPO ,並同時使用多站台同步複寫和多網格非同步複寫。任何單一站台都可能發生故障,同時在兩個 StorageGRID 系統上維持不中斷的用戶端作業。
在本解決方案中,每個物件有四個銷毀編碼複本,所有中繼資料有 18 個複本。如此一來,就能在不影響用戶端作業的情況下執行多種故障案例。當故障恢復時,系統會自動將故障的站台 / 節點同步更新。
多站台,多網格故障案例
故障 | 結果 |
---|---|
單節點磁碟機故障 |
每個應用裝置使用多個磁碟群組,每個群組至少可維持 1 個磁碟機故障,而不會中斷或遺失資料。 |
網格中的一個站台發生單一節點故障 |
不中斷營運或資料遺失。 |
每個網格中的一個站台發生單一節點故障 |
不中斷營運或資料遺失。 |
網格中的一個站台發生多個節點故障 |
不中斷營運或資料遺失。 |
每個網格中的一個站台發生多個節點故障 |
不中斷營運或資料遺失。 |
在網格中的多個站台發生單一節點故障 |
不中斷營運或資料遺失。 |
每個網格中的多個站台發生單一節點故障 |
不中斷營運或資料遺失。 |
網格中的單一站台故障 |
不中斷營運或資料遺失。 |
每個網格中都有單一站台故障 |
不中斷營運或資料遺失。 |
網格中的單一站台加上單一節點故障 |
不中斷營運或資料遺失。 |
單一站台加上單一網格中每個剩餘站台的節點 |
不中斷營運或資料遺失。 |
單一位置故障 |
不中斷營運或資料遺失。 |
每個網格 DC1 和 DC3 中的單一位置故障 |
作業將中斷,直到故障解決或鏟斗一致性降低為止;每個網格遺失 2 個站台 所有資料仍存在於 2 個位置 |
每個網格 DC1 和 DC4 或 DC2 和 DC3 中的單一位置故障 |
不中斷營運或資料遺失。 |
每個網格 DC2 和 DC4 中的單一位置故障 |
不中斷營運或資料遺失。 |
站台的網路隔離 |
隔離站台的作業將會中斷,但不會遺失任何資料 不會中斷其餘站台的營運,也不會遺失資料。 |
結論
使用 StorageGRID 達成零恢復點目標( RPO )是確保資料在站台發生故障時的持久性和可用度的關鍵目標。透過運用 StorageGRID 強大的複寫策略,包括多站台同步複寫和多網格非同步複寫,組織可以維持不中斷的用戶端作業,並確保多個位置的資料一致性。資訊生命週期管理( ILM )原則的實作以及僅中繼資料節點的使用,進一步增強了系統的恢復能力和效能。有了 StorageGRID ,企業就能安心管理資料,因為即使面對複雜的故障情況,資料仍可存取且一致。這種資料管理與複寫的全方位方法,突顯了精密規劃與執行的重要性,使零 RPO 達到零,並保護寶貴資訊。