Red Hat OpenShift on IBM Cloud 儲存體概觀

虛擬專用雲端 經典基礎設施 Satellite

請檢閱下列各節,以取得叢集可用的儲存空間選項概觀。

在決定哪種儲存類型最適合您的 Red Hat® OpenShift® on IBM Cloud® 叢集之前,您必須先了解 IBM Cloud 基礎架構供應商、您的應用程式需求、您要儲存的資料類型,以及您打算以何種頻率存取這些資料。

決定是否必須永久儲存您的資料。

持續性儲存空間: 即使移除容器、工作者節點或叢集,儲存在持續性儲存空間上的資料也會持續保存。 在具有狀態的應用程式中,或針對核心業務資料,以及因法律要求(例如規定之保存期限)而必須可用的資料,應使用持久性儲存。 持續性儲存體也是適合審核的選項。

**非持續性儲存空間:**移除容器、工作者節點或叢集時,即可移除您的資料。 非持續性儲存空間通常用於記載資訊(例如系統日誌或容器日誌)、開發測試,或您要從主機的檔案系統存取資料時。

如果您必須持續保存資料,則請分析應用程式是否需要特定類型的儲存空間。 當您使用現有應用程式時,該應用程式可能會採用以下其中一種方式來儲存資料。

**在檔案系統中:**資料可以儲存為目錄中的檔案。 例如,您可以將此檔案儲存至本端硬碟。 部分應用程式需要將資料儲存至特定檔案系統(例如 nfsext4),以最佳化資料儲存庫並達到效能目標。

**在資料庫中:**資料必須儲存至遵循特定綱目的資料庫。 部分應用程式附有資料庫介面,供您用來儲存資料。 例如,已最佳化 WordPress,以將資料儲存至 MySQL 資料庫。 在這些情況下,會為您選取儲存空間類型。

決定您要儲存的資料類型。

**結構化資料:**資料可以儲存在具有直欄及列之表格的關聯式資料庫。 表格中的資料可以使用索引鍵連接,而且通常基於預先定義的資料模型而容易存取。 範例為電話號碼、帳號、社會保險號碼或郵遞區號。

**半結構化資料:**資料無法放入關聯式資料庫,但附有一些可用來更輕鬆地讀取及分析此資料的組織內容。 範例為標記語言檔案(例如 CSV、XML 或 JSON)。

非結構化資料: 指不遵循特定組織模式,且複雜程度高到無法儲存於具有預先定義資料模型的關係型資料庫中的資料。 若要存取此資料,您需要進階工具及軟體。 例如電子郵件、影片、照片、音訊檔案、簡報、社群媒體資料或網頁。

如果您有結構化及非結構化資料,請嘗試將每種資料類型個別地儲存至針對此資料類型所設計的儲存空間解決方案。 使用適合您資料類型的儲存空間解決方案,可以輕鬆地存取您的資料,並提供效能、可調整性、延續性及一致性的好處。

分析您要如何存取資料。 通常會設計及最佳化儲存空間解決方案,以支援讀取或寫入作業。
唯讀: 您不希望寫入或修改資料。 資料為唯讀。
**讀取及寫入:**您要讀取、寫入及變更資料。 針對已讀取及寫入的資料,請務必瞭解作業是大量讀取、大量寫入還是兩者平衡。
決定您資料的存取頻率。
**熱資料:**經常存取的資料。 常見使用案例是 Web 或行動應用程式。
**冷或暖資料:**不常存取的資料(例如一個月一次或更少) 常見使用案例是保存檔、短期資料保留或災難回復。
**冷資料:**很少存取(或根本未存取)的資料。 常見使用案例是保存檔、長期備份、歷程資料。
**凍結資料:**未存取且基於法律原因而需要保留的資料。

如果您無法預測頻率,或者該頻率沒有遵循嚴格的模式,請判斷您的工作負載屬於讀取密集型、寫入密集型,還是兩者平衡。 然後,查看適合您工作負載的儲存空間選項,並調查哪個儲存空間層級可為您提供所需的彈性。 例如,IBM Cloud Object Storage 提供了 flex 儲存空間類別,該儲存空間類別會考慮在一個月內存取資料的頻率,並基於對此度量的考量來最佳化依月計費。

調查您的資料是否必須跨多個應用程式實例、區域或地區共用。
**跨 Pod 存取:**當您使用 Kubernetes 持續性磁區來存取儲存空間時,可以決定可同時裝載磁區的 Pod 數目。 某些儲存解決方案每次僅能由一個 Pod 存取。 使用其他儲存空間解決方案,可以在多個 Pod 中共用磁區。
**跨區域及地區存取:**您可能需要跨區域或地區域存取資料。 某些儲存解決方案(例如檔案儲存和區塊儲存)專為資料中心設計,因此無法在多區域叢集架構中跨區域共用。

如果您要讓資料可跨區域或地區進行存取,請確定洽詢您的法律部門,以驗證您的資料可以儲存在多個區域或不同的國家/地區中。

瞭解影響您選擇的其他儲存空間性質。
**一致性:**保證讀取作業傳回檔案的最新版本。 當您保證一律會收到檔案的最新版本時,儲存空間解決方案可以提供strong consistency,或者,當讀取作業可能未傳回最新版本時,可以提供eventual consistency。 在必須先將寫入作業抄寫到所有實例的地理分散式系統中,您通常會發現最終一致性。
**效能:**完成讀取或寫入作業所需的時間。
**延續性:**保證確定到儲存空間的寫入作業會永久地存活,而且不會毀損或遺失,即使同時將數 GB 或 TB 的資料寫入至儲存空間也是一樣。
**備援:**可以從中斷回復並繼續作業,即使硬體或軟體元件失敗也是一樣。 例如,您的實體儲存空間停電、網路中斷,或在天然災害期間毀損。
**可用性:**可以存取資料,即使資料中心或地區無法使用也是一樣。 透過新增備援以及設定失效接手機制,通常可以達到資料的可用性。
**可調整性:**可以根據您的需要來擴充容量以及自訂效能。
**加密:**未獲授權的使用者存取資料時,遮罩資料以防止可見性。

次要本機儲存必須在建立工作人員池時加入。 不支援在建立工作人員池後,從基礎結構層級手動新增儲存,且不會在群集中產生額外的暫存儲存。

非持續性儲存體選項

如果您的資料不需要持續儲存,或要對應用程式元件執行單元測試,您可以使用非持續性儲存空間選項。 下圖顯示 Red Hat OpenShift on IBM Cloud 中可用的非持續性資料儲存空間選項。

非持久性儲存選項
特徵 在容器內 在工作者節點的主要或次要磁碟上
具多區域功能
資料類型 全部 全部
容量 限制為工作者節點的可用次要磁碟。 若要限制您的 Pod 所佔用的次級儲存空間,請針對 暫存儲存設定資源請求與限制。 限制為主要 (hostPath) 或次要磁碟 (emptyDir) 上工作者節點的可用空間。若要限制 Pod 所耗用的次要儲存空間量,請使用 暫時儲存空間的資源要求及限制。
資料存取模式 任何頻率的讀取及寫入作業 任何頻率的讀取及寫入作業
存取 透過容器的本端檔案系統 透過 Kubernetes hostPath 以存取工作節點的主儲存裝置。 透過 Kubernetes emptyDir 設定,以存取工作節點的次要儲存空間。
效能 使用 SSD 時,為具有低延遲的高效能
備援
可用性 容器特有 工作者節點特有
可調整性 受限於工作者節點的次要磁碟容量,因此很難擴充 受限於工作者節點的主要及次要磁碟容量,因此很難擴充
延續性 容器損毀或遭移除時,會遺失資料。 當刪除工作者節點、重新載入或更新工作者節點、刪除叢集、IBM Cloud 帳戶達到已暫停狀態時,hostPathemptyDir 磁區中的資料會遺失。 此外,當從工作者節點永久刪除指派的 Pod 時,會移除 emptyDir 磁區中的資料,指派的 Pod 會排定在另一個工作者節點上。
常見使用案例 本端映像檔快取或容器日誌 設定高效能本端快取、從工作者節點檔案系統存取檔案,或執行單元測試。
非理想使用案例 持續資料儲存或在儲存器之間共用資料 持續資料儲存空間

單一區域叢集

如果您擁有單一區域的區域叢集,可在 Red Hat OpenShift on IBM Cloud 中選擇以下選項之一,以快速存取您的資料。 為了提高可用性,請選用專為地理分散式資料設計的儲存方案,並在您的需求允許的情況下,建立多區域叢集。

下圖顯示您在 Red Hat OpenShift on IBM Cloud 中具有的選項,以永久地將資料儲存在單一叢集裡。

單區域叢集的儲存選項
特徵 說明
部署手冊 設定 File Storage for Classic
理想資料類型 全部
支援的供應類型 動態和靜態
資料使用模式 隨機讀取/寫入作業、連續讀取/寫入作業或寫入密集型工作負載
存取 透過裝載磁區上的檔案系統
Kubernetes 支援的存取模式
  • 讀寫可執行 ( ReadWriteMany )
  • 讀寫可複製 ( ReadOnlyMany )
  • 讀寫可寫入 ( ReadWriteOnce )
效能 由於已指派的 IOPS 及大小而可預測。 在存取磁區的 Pod 之間共用 IOPS。
一致性
延續性
備援 中,資料中心特有的。 IBM 利用備援網路來叢集處理檔案儲存空間伺服器。
可用性 中,資料中心特有的。
可調整性 很難擴充到資料中心外部。 您無法變更現有的儲存層級。
加密 靜止
備份及回復 設定定期 Snapshot、抄寫 Snapshot、複製儲存體、將資料備份至 IBM Cloud Object Storage,或在 Pod 和儲存器之間來回複製資料。
常見使用案例 跨單一區域叢集的大量或單一檔案儲存體或檔案共用。
非理想使用案例 多區域叢集或地理分散式資料。
單區域叢集的儲存選項
特徵 說明
部署手冊 設定 Block Storage for Classic
理想資料類型 全部
支援的供應類型 動態和靜態
資料使用模式 隨機讀取/寫入作業、連續讀取/寫入作業或寫入密集型工作負載
存取 透過已掛載磁區上的檔案系統。
Kubernetes 支援的存取模式 ReadWriteOnce (RWO)
效能 由於已指派的 IOPS 及大小而可預測。 在 Pod 之間不共用 IOPS。
一致性
延續性
備援 中,資料中心特有的。 IBM 利用備援網路來叢集處理區塊儲存空間伺服器。
可用性 中,資料中心特有的。
可調整性 很難擴充到資料中心外部。 您無法變更現有的儲存層級。
加密 休息
備份及回復 設定定期 Snapshot、抄寫 Snapshot、複製儲存體、將資料備份至 IBM Cloud Object Storage,或在 Pod 和儲存器之間來回複製資料。
常見使用案例 有狀態集、執行您自己的資料庫時的後端儲存空間,或單一 Pod 的高效能存取。
非理想使用案例 多區域叢集、地理分散式資料,或跨多個應用程式實例共用資料。
單區域叢集的儲存選項
性質 說明
部署手冊 設定 File Storage for VPC
理想資料類型 全部
支援的供應類型 動態和靜態
資料使用模式 隨機讀取/寫入作業、連續讀取/寫入作業或寫入密集型工作負載
存取 透過裝載磁區上的檔案系統
Kubernetes 支援的存取模式
  • ReadWriteMany (RWX)
  • ReadOnlyMany (ROX)
  • ReadWriteOnce (RWO)版本 1.2 及後續版本。
效能 由於已指派的 IOPS 及大小而可預測。 在 Pod 之間不共用 IOPS。
一致性
延續性
備援 中,資料中心特有的。 IBM 利用備援網路來叢集處理檔案儲存空間伺服器。
可用性 中,資料中心特有的。
可調整性 很難擴充到資料中心外部。 您無法變更現有的儲存層級。
加密
備份及回復 執行 kubectl cp,或在 Pod 及容器中來回複製資料。
常見使用案例 跨單一區域叢集的大量或單一檔案儲存體或檔案共用。
非理想使用案例 多區域叢集、地理分散式資料,或跨多個應用程式實例共用資料。
單區域叢集的儲存選項
特徵 說明
部署手冊 設定 Block Storage for VPC
具多區域功能 否,資料中心特有的。 除非您自行實作資料複製機制,否則資料無法在不同區域之間共享。
理想資料類型 全部
資料使用模式 隨機讀取/寫入作業、連續讀取/寫入作業或寫入密集型工作負載
存取 透過裝載磁區上的檔案系統
支援的 Kubernetes 存取寫入 ReadWriteOnce (RWO)
效能 由於已指派的 IOPS 及大小而可預測。 在 Pod 之間不共用 IOPS。
一致性
延續性
備援 中,資料中心特有的。 IBM 利用備援網路來叢集處理區塊儲存空間伺服器。
可用性 中,資料中心特有的。
可調整性 很難擴充到資料中心外部。 您無法變更現有的儲存層級。
加密 使用 Key Protect 進行傳輸中加密
備份及回復 設定定期 Snapshot、抄寫 Snapshot、複製儲存體、將資料備份至 IBM Cloud Object Storage,或在 Pod 和儲存器之間來回複製資料。
常見使用案例 有狀態集、執行您自己的資料庫時的後端儲存空間,或單一 Pod 的高效能存取。
非理想使用案例 多區域叢集、地理分散式資料,或跨多個應用程式實例共用資料。

多區域叢集

以下各節將介紹您在 Red Hat OpenShift on IBM Cloud 中可用的選項,用以將資料永久儲存於多區域叢集,並確保資料具備高可用性。 您可以在單一區域叢集裡使用這些選項,但可能無法獲得應用程式所需的高可用性優點。

多區域叢集的儲存選項
性質 說明
部署手冊 設定 IBM Cloud Object Storage
支援的基礎架構提供者 標準、VPC、Satellite
理想資料類型 半結構化及非結構化資料
資料使用模式 讀取密集工作負載。 寫入操作極少或根本沒有。
存取 透過裝載磁區上的檔案系統(外掛程式)或透過應用程式中的 REST API
Kubernetes 支援的存取模式 ReadWriteMany (RWX)
效能 針對讀取作業為高。 使用非 SDS 機器時,由於已指派的 IOPS 和大小而可預測。
一致性 最終
延續性 資料截塊分散到儲存空間節點叢集時為極高。 每個節點只會儲存一部分資料。
備援 資料截塊分散在三個區域或地區時為高。 「中」級,僅適用於單一區域。
可用性 由於分散到區域或地區而為高。
可調整性 自動調整
加密 傳輸中及靜止
備份及回復 資料會在多個節點之間自動抄寫,以實現高延續性。 如需相關資訊,請參閱 IBM Cloud Object Storage 服務條款中的 SLA。
常見使用案例 地理分散式資料、靜態海量資料、靜態多媒體內容、Web 應用程式、備份、保存檔、有狀態集。
非理想使用案例 寫入密集工作量、隨機寫入作業、漸進式資料更新或交易資料庫。
多區域叢集的儲存選項
特徵 說明
部署手冊 設定 Portworx
支援的基礎架構提供者 標準、VPC、Satellite
理想資料類型 全部
資料使用模式 讀寫密集型工作負載。
存取 透過裝載磁區上的檔案系統(外掛程式)或透過應用程式中的 REST API
Kubernetes 支援的存取模式
  • 讀寫可執行 ( ReadWriteMany )
  • 讀寫可複製 ( ReadOnlyMany )
  • 讀寫可寫入 ( ReadWriteOnce )
效能 針對讀取作業為高。 使用非 SDS 機器時,由於已指派的 IOPS 和大小而可預測。
一致性
延續性 資料截塊分散到儲存空間節點叢集時為極高。 每個節點只會儲存一部分資料。
備援 資料截塊分散在三個區域或地區時為高。 「中」級,僅適用於單一區域。
可用性 由於分散到區域或地區而為高。
可調整性 自動調整
加密 自帶金鑰,以使用 IBM Key Protect 保護傳輸中及靜止資料。
備份及回復 資料會在多個節點之間自動抄寫,以實現高延續性。 如需相關資訊,請參閱 IBM Cloud Object Storage 服務條款中的 SLA。 使用本端 Snapshot 或雲端 Snapshot 來儲存磁區的現行狀態。 如需更多資訊,請參閱「 建立和使用本機快照」。
常見使用案例 多區域叢集。 地理分散式資料。 靜態海量資料。 靜態多媒體內容
非理想使用案例 寫入密集工作量、隨機寫入作業、漸進式資料更新或交易資料庫。
多區域叢集的儲存選項
性質 說明
部署手冊 部署 OpenShift 資料基礎
支援的基礎架構提供者 標準、VPC、Satellite
理想資料類型 全部
資料使用模式 寫入密集工作負載。 隨機讀寫操作。 順序讀寫操作。
存取 全部
效能 使用 SDS 機器時,針對循序讀取及寫入作業具有接近裸機的效能。 根據您需要的儲存類別效能 (IOP) 來建立儲存層。
一致性
延續性 非常高,因為一律會維護三個資料副本。
備援 設定跨三個區域的抄寫時為高。 只在單一區域中儲存資料時為中等。
可用性 在跨不同區域的三個工作者節點中抄寫資料時,可用性高。
可調整性 重新調整磁區的大小,以增加磁區容量。 若要增加整體儲存空間層容量,您必須新增工作者節點或遠端區塊儲存空間。 兩個情境都需要使用者監視容量。
加密 使用 IBM Key Protect 或 HPCS 來攜帶您自己的金鑰。 途中和休息。
備份及回復 使用本端 Snapshot 或雲端 Snapshot 來儲存磁區的現行狀態。
多區域叢集的儲存選項
特徵 說明
部署手冊 連接一個Cloud Databases部署到IBM Cloud Kubernetes Service應用
支援的基礎架構提供者 標準、VPC、Satellite
理想資料類型 與 DBaaS 相依
資料使用模式 讀寫密集型工作負載
存取 透過您的應用程式呼叫 REST API。
支援的 Kubernetes 存取寫入 不適用,因是直接透過應用程式存取的。
效能 如果已部署到與應用程式相同的資料中心,則為高。
一致性 與 DBaaS 相依
延續性
備援 與 DBaaS 及您的設定相依。
可用性 如果您設定多個實例,則為高。
可調整性 自動調整
加密 靜止
備份及回復 與 DBaaS 相依
常見使用案例 多區域叢集、關聯式及非關聯式資料庫,或地理分佈資料。
非理想使用案例 一款專為寫入檔案系統而設計的應用程式。

下一步

為了繼續規劃過程,記錄您的環境架構