瞭解 OpenShift Data Foundation
Virtual Private Cloud 標準基礎架構 Satellite
OpenShift Data Foundation 是高可用性儲存空間解決方案,可用來管理容器化應用程式的持續性儲存空間。
- 何謂 OpenShift Data Foundation?
- OpenShiftData Foundation 是一個高度可用的儲存解決方案,由多個開源運算子和技術組成,例如 頭孢,努巴,和 Rook。 這些運算子可讓您為容器化工作負載配置和管理檔案、區塊和物件存儲Red Hat® OpenShift® on IBM Cloud®集群。 與其他儲存體解決方案不同,您可能需要為每種類型的儲存體配置個別驅動程式及操作器,ODF 是能夠調整或調整以符合儲存體需求的統一解決方案。 您也可以在任何 OCP 叢集上部署 ODF。
- OpenShift Data Foundation 如何運作?
- ODF 會使用這些裝置來建立虛擬化儲存層,在其中會抄寫應用程式資料以取得高可用性。 因為 ODF 會將基礎儲存體抽象化,所以您可以使用 ODF 從相同的基礎原始區塊儲存體建立「檔案」、「區塊」或「物件」儲存體要求。
- ODF 會以 3 的倍數使用儲存空間磁區,並在這些磁區之間抄寫應用程式資料。 用於 ODF 的基礎儲存磁區取決於叢集類型。
- 對於使用虛擬機器的 VPC 群集,儲存卷是 Block Storage for VPC 儲存卷。
- 對於使用裸金屬員工的 Classic 或 VPC 群集,儲存卷是裸金屬員工節點上的本機磁碟。
- 對於 Satellite群集,儲存磁碟區可以是工作者節點上的本機磁碟,或者您可以使用相容的區塊儲存驅動程式動態配置磁碟。
- 我可以在僅限私有的 VPC 集群上安裝 OpenShift Data Foundation 嗎?
- 是的,您可以從叢集版本
4.16.23_1546_openshift
開始,在私人專用的 VPC 叢集中為 CoreOS Worker 安裝 ODF,並為 RHEL Worker 安裝4.16.21_1544_openshift
。 - 我可以在 Satellite 叢集裡安裝 OpenShift Data Foundation 附加程式嗎?
- 次數 叢集附加程式僅適用於標準及 VPC 叢集。
- 如何在 Satellite上安裝 OpenShift Data Foundation?
- 您可以使用其中一個 Satellite 儲存體範本,在 Satellite 上安裝 ODF。 如需相關資訊,請參閱 Satellite 儲存體文件。
odf-local
: 當您具有工作者節點可用的本端儲存空間時,請選擇此範本。 如果在執行lsblk
時可以看見儲存磁區,則在部署 ODF 時可以使用這些磁碟 (如果它們是原始且未格式化)。odf-remote
: 如果叢集裡已安裝 CSI 驅動程式,請選擇此範本。 例如,azuredisk-csi-driver
驅動程式。 部署 ODF 時,您可以使用 CSI 驅動程式來動態供應儲存磁區。
如需特性及好處的完整概觀,請參閱 OpenShift Data Foundation。
架構概觀
請檢閱下圖和表格,以進一步瞭解 OpenShift Data Foundation。
號碼 | ODF 元件 | 說明 |
---|---|---|
1 | OpenShift Data Foundation 儲存類別 | 當您部署 ODF 時,ODF 操作器會在叢集裡建立「檔案」、「區塊」及「物件」儲存體類別。 在 PVC 中參照這些儲存空間類別,以要求應用程式的儲存空間。 |
2 | OSD Block Storage | 這些裝置在叢集裡提供應用程式儲存體。 每一個 OSD 都是原始區塊儲存裝置,可以是工作者節點上的本端磁碟,或在部署 ODF 時動態佈建。 在 VPC 叢集裡,會使用 Block Storage for VPC 驅動程式來動態佈建 OSD 區塊儲存裝置。 在 Satellite 叢集裡,您可以使用工作者節點上的本端磁區,或使用支援動態佈建的區塊儲存體驅動程式來動態佈建區塊儲存裝置。 在標準叢集裡,OSD 區塊裝置是工作者節點上的本端磁碟。 當您部署 ODF 時,OSD
Pod 會裝載每一個裝置。 應用程式可用的儲存體總計等於 osdSize 乘以 numOfOsd 。 |
3 | Object Storage 常駐程式 (OSD) Pod | OSD Pod 可管理儲存裝置之間的資料放置及抄寫。 |
4 | 監視 (Mon) Pod | Monitor Pod 會保留 OpenShift Data Foundation 儲存空間叢集的對映,並監視儲存空間叢集性能。 |
5 | 監視器 (Mon) 區塊儲存裝置 | 監視器儲存裝置是監視器 Pod 的基礎儲存裝置。 每一個監視裝置都是原始區塊儲存裝置,可以是工作者節點上的本端磁碟,或在部署 ODF 時動態佈建。 每一個裝置都提供儲存體給監視 Pod。 |
Multicloud Object Gateway 概觀
Multicloud Object Gateway 由開放程式碼工具 NooBaa 組成,是 OpenShift Data Foundation 的元件。 使用 Multicloud Object Gateway,您可以跨雲端提供者管理物件及儲存區。
號碼 | 多雲端物件閘道元件 | 說明 |
---|---|---|
1 | 後端儲存 | 後端儲存庫是 s3 相容物件儲存體儲存區。 在 Multicloud Object Gateway 中,您的後端儲存庫可以位於任何雲端環境中,不論提供者為何。 您可以將數個後端儲存庫連接至 Multicloud Object Gateway。 當您部署 ODF 時,預設後端儲存庫會使用您為 ODF 儲存體叢集指定的原始區塊儲存裝置。 不過,您可以選擇性地設定 IBM Cloud Object Storage 作為預設後端儲存庫。 |
2 | 儲存區類別 | 儲存區類別由一或多個後端儲存庫 (儲存區) 及放置原則組成。 您可以配置後端儲存庫及放置原則,以跨位置及雲端管理您的物件。 |
3 | 儲存空間類別 | Multicloud Object Gateway 中的儲存空間類別類似於任何其他 Kubernetes 儲存空間類別,因為它會定義儲存空間資源參數。 不過,在 Multicloud Object Gateway 中,當您建立儲存空間類別時,您可以指定要使用的儲存區類別。 透過從儲存區類別建立儲存空間類別,您可以讓 Multicloud Object Gateway 資源在名稱空間之間可用。 |
4 | 物件儲存區要求 (OBC) | 物件儲存區要求 (OBC) 類似於 Kubernetes 持續性磁區要求 (PVC),因為開發人員或儲存空間管理者可以建立 OBC 來要求儲存空間資源。 當您建立 OBC 時,您可以指定要使用的儲存類別,並選擇性地為動態建立的物件儲存區提供名稱。 |
5 | 密碼 | 當您建立「物件儲存區要求」時,也會在叢集裡建立 Kubernetes 密鑰。 |
6 | ConfigMap | 當您建立「物件儲存區要求」時,也會在叢集裡建立 ConfigMap。 |
7 | 物件儲存區 | 當您建立物件儲存區要求時,物件儲存區是動態佈建的。 物件儲存區會將一或多個後端儲存抽象化為單一資源。 |
8 | s3 應用程式 | 使用物件儲存空間的應用程式。 |
9 | 密鑰參照 | 密碼參照是叢集裡 Kubernetes 密碼的參照。 當您建立「物件儲存區要求」時,NooBaa 會建立對應的密鑰及配置對映。 然後,您可以在應用程式中參照密鑰及配置對映,而不需要直接在應用程式中包括認證。 |
10 | ConfigMap 參照 | 配置對映參照是叢集裡 Kubernetes 配置對映的參照。 當您建立「物件儲存區要求」時,NooBaa 會動態建立對應的密鑰及配置對映。 您可以在應用程式中參照密鑰及配置對映,而不需要在應用程式中包含這些認證。 |
11 | 名稱空間資源 | 名稱空間資源是 s3 相容儲存區。 將名稱空間資源 (儲存區) 新增至 Multicloud Object Gateway 之後,您可以透過建立「名稱空間」儲存區來參照這些儲存區,該名稱空間儲存區可用來讀取及寫入一個以上名稱空間資源。 |
12 | 名稱空間儲存區 | 名稱空間儲存區會將 NooBaa 名稱空間中的一或多個名稱空間資源抽象化。 當您建立名稱空間儲存區時,可以指定讀取或寫入原則至您在 Multicloud Object Gateway 中配置的名稱空間資源。 例如,您可以從不同雲端提供者之間的兩個儲存區讀取,並寫入另一個個別雲端環境中的第三個儲存區。 |
13 | 名稱空間儲存區存取金鑰 | 存取金鑰用來存取名稱空間儲存區。 名稱空間儲存區可以包含來自不同雲端提供者或內部部署儲存區的多個名稱空間資源。 在 s3 應用程式中使用名稱空間儲存區存取金鑰及秘密金鑰,以配置對名稱空間儲存區的存取權,然後將讀取及寫入原則定義至您配置的名稱空間資源。 |
14 | 名稱空間儲存區秘密金鑰 | 秘密金鑰用來存取名稱空間儲存區。 名稱空間儲存區可以包含來自不同雲端提供者或內部部署儲存區的多個名稱空間資源。 在 s3 應用程式中使用名稱空間儲存區存取金鑰及秘密金鑰,以配置對名稱空間儲存區的存取權,然後將讀取及寫入原則定義至您配置的名稱空間資源。 |
15 | 放置原則 | 當您建立儲存區類別時,必須指定放置原則。 放置原則定義如何將資料寫入後端儲存庫。 鏡映 放置原則會在儲存區類別中的後端儲存庫之間鏡映物件,而 展開 放置原則會在儲存區類別中的後端儲存庫之間配送物件。 |
依計費類型的特性支援
特性支援 | Essentials | 進階 |
---|---|---|
Block Storage | True | True |
檔案儲存體 | True | True |
Object Storage | True | True |
Node 和磁碟備援 | True | True |
操作員型自動化 | True | True |
壓縮 | True | True |
本端 Snapshot 及複製 | True | True |
基本叢集層面加密 | True | True |
使用 KMS 進行進階加密 | 否 | True |
區域災難回復與抄寫 | 否 | True |
延展叢集-Metro 高可用性和災難回復 | 否 | True |
多叢集-Metro 高可用性及災難回復 | 否 | True |
最佳作法
請檢閱下列各節,以取得安裝及管理 ODF 時的最佳作法。
計劃
- 規劃工作者節點配送
- 若要確保高可用性,請將 ODF 叢集分散在失敗網域中。 此分佈有助於將節點故障的影響降到最低,並維護叢集的整體穩定性。
- 符合工作者節點規格下限
- 使用 ODF 的工作者節點應該具有 16 個 vCPUs 及 64GB 以上的 RAM。 對於 IBM 標準叢集,建議的特性為
mb4c.32x384.3.8tb.ssd
或更高。 - 保留待命主機以取得高可用性
- 為了確保高可用性,並在主機發生故障時將停機時間降至最短,建議您經常保留一台備用主機。
- 符合每個節點的儲存裝置計數建議
- 計劃每個節點少於九個儲存裝置。 這有助於防止潛在瓶頸,並加強資料存取和擷取的效率。
- 使用建議的儲存裝置大小及計數
- 部署本端儲存體時,請使用 4 TiB 或更小的磁碟大小。 確保叢集內所有磁碟 (跨所有儲存節點) 的大小和類型都相同,以最佳使用儲存體,這一點很重要。 使用至少512Gi的 OSD。
- 使用預設抄寫因數和儲存節點配置來擴增
- 在 OpenShift Data Foundation (ODF) 中,依預設,抄寫因數設為 3。 當您新增容量時,請計劃以 3 的倍數新增儲存節點。
- 選擇適合您需求的正確設定: 遠端儲存體與本端儲存體
- 如果您具有較低的儲存體需求或正在使用「虛擬伺服器」實例,則遠端儲存體可以是方便且符合成本效益的選項。 但是,如果您有大量的儲存需求、裸金屬群集,或具有低網路延遲的高效能儲存,使用本機儲存會比較適合。
- 使用自動發現功能簡化您的部署
- 在經典叢集或具有本機儲存的環境中,利用自動發現功能自動識別和配置叢集中 ODF 的可用儲存磁碟。 此選項不需要手動選取磁碟。 除非 ODF 供應有特定的磁碟需求,否則使用自動探索功能可簡化部署程序,並減少發生配置錯誤的可能性。
- 對遠端儲存體上的 ODF 安裝使用遠程儲存類別
- 執行使用遠端儲存體的 ODF 安裝時,請確定您使用的儲存類別具有
VolumeBindingMode
WaitForFirstConsumer
,這會延遲建立 Block Storage,直到使用此儲存體的第一個 Pod 備妥可排程為止。 - 調整部署大小
- 如需儲存體需求的詳細分析,請使用 Sizing Tool 來判定所需的儲存體容量。 您也可以使用官方 Red Hat 調整大小工具
- 設定定期備份
- 為 ODF 集群進行定期備份對於確保資料保護以及在發生災難時促進資料復原非常重要。 如果沒有定期備份,從災難性事件回復資料會變得更具挑戰性,並可能導致永久資料流失。
部署
- 計劃使用專用儲存節點
- 在工作量繁重的情況下,請使用 ODF 專用儲存節點。 透過分隔儲存節點的作業,您可以為儲存體基礎架構實現更好的效能和可調整性。
- 設定定期監視 Red Hat 主控台
- Red Hat 主控台可讓您深入瞭解 ODF 環境的健康狀況和效能。 建議定期監視主控台,以持續收到任何潛在問題的通知。 每當偵測到 ODF 問題時,主控台即會觸發警示,讓您能夠採取主動措施。
- 立即解決容量警告
- 發出容量警告時,必須立即解決這些問題。 忽略或延遲對這些警告的動作可能會導致儲存體容量限制及潛在的工作負載中斷。 將容量警告視為評量儲存體需求的機會,並採取適當措施來緩解任何潛在問題。
容量擴充
- 瞭解容量擴充的選項
- ODF 中有兩個選項可用於容量擴充。 第一個選項涉及透過在叢集內現有節點上新增更多 OSD (Object Storage 常駐程式) 來增加容量。 這可讓您利用可用的資源來擴充儲存體容量。 第二個選項是透過將新節點新增至叢集來擴充容量。 一旦增加 OSD 數目,就會在新增的節點上自動佈建 OSD。
更新
- 執行性能檢查更換節點
- 如果 ODF 不是處於正常狀態,請避免更換儲存節點。 在繼續進行節點更換之前,請一律驗證 ODF 的性能狀態。 在更換不健全的節點之前,請先嘗試解決任何問題。
- 讓環境保持最新
- 將叢集版本保持更新為可用的預設或最新版本。 與叢集版本保持最新,可確保您可以利用最新功能,並維護與環境中其他元件的相容性。
- 在叢集升級之後執行 ODF 更新
- 一律先升級叢集主節點和工作者節點,然後再進行 ODF 升級。 完成叢集升級之後,也必須更新 ODF。 雖然 ODF 同時支援現行叢集版本 (n) 及下一個叢集版本 (n+1),但保持 ODF 版本與叢集版本相同。 此對齊方式可確保最佳相容性。
- 循序升級儲存節點
- 升級儲存節點時,最佳作法是逐一執行升級。 此循序方法可讓您在每一個節點升級之後驗證 ODF 的狀態,並確保儲存體基礎架構在整個處理程序中保持性能良好。 透過個別升級節點,您可以密切監視 ODF 上每一個升級的影響,並快速識別並解決可能產生的任何問題。
回復
- 取代性能不佳的主機
- 如果發生本機災難,建議以健康的群集主機取代不健康的群集主機。
- 遵循文件以回復 OSD
- 在 OpenShift Data Foundation (ODF) 中關閉 OSD (Object Storage 常駐程式) 時,請務必遵循建議的回復步驟。 IBM Cloud Platform 所提供的文件提供如何在這類情況下回復 OSD 的詳細指示。
解除安裝及移除
- 刪除 Pod 及持續性磁區 (PV)
- 刪除使用 ODF 儲存類別的資源時,請務必遵循建議的程序。 在繼續刪除其他資源之前,請一律先刪除使用 OF 儲存類別所建立的相關聯 Pod 及 PV。
- 遵循正確的清理順序
- 從叢集中解除任務或移除 ODF 時,請確保在清除資源時遵循文件。 首先,請刪除
ocscluster
資源,該資源負責管理 ODF。 移除ocscluster
資源之後,請繼續從 IBM 主控台移除 ODF 附加程式。 遵循此順序可確保順利且適當地從叢集中移除 ODF,從而防止任何潛在問題或衝突。
疑難排解
- 檢閱容量警示及臨界值
- 當叢集儲存體容量達到特定臨界值時,ODF 會產生容量警示。 這些臨界值設定為總容量的 75% (接近滿載) 和 85% (滿載)。 這些警示指出儲存體容量已接近其限制,需要注意。
- 檢閱一般問題
- 當遇到 OpenShift Data Foundation (ODF) 的問題時,請參閱提供一般問題疑難排解指引的可用 Runbook。 Runbook 包含已知問題及其 ODF 對應解決方案的完整清單。
部署 OpenShift Data Foundation
檢閱基礎架構提供者的部署選項。
- 虛擬私有雲 (VPC) 集群
- 您可以透過 Block Storage for VPC 使用動態佈建,或在裸機員工身上使用本機磁碟來部署 ODF。 如需相關資訊,請參閱 在 VPC 叢集上部署 OpenShift Data Foundation。
- Satellite 叢集
- 如果您要將 ODF 部署至 Satellite 叢集,則可以使用 Satellite 儲存體範本。 如需相關資訊,請參閱下列鏈結。
- 為遠端動態佈建磁碟部署 OpenShift Data Foundation 範本。
- 部署本端磁碟的 OpenShift Data Foundation 範本。
- 標準叢集
- 您可以使用裸機工作者節點上的本端磁碟來部署 ODF。 如需相關資訊,請參閱 部署 OpenShift Data Foundation on Classic 叢集。