隨著數字環境的不斷發展,能夠同時適應廣泛的企業工作負載和新興應用程序開發平台的存儲解決方案變得越來越重要。 值得注意的是,Dell Technologies PowerStore 是一個主存儲陣列,旨在滿足傳統企業工作負載和在 Kubernetes (K8s) 上運行的現代容器化應用程序的需求。
容器極大地改變了現代數據中心工作負載的交付方式。 在某些方面,很難相信自不到十年前成立以來,他們已經在數據中心建立瞭如此強大且不斷增長的足跡。 但是,在此時間段內,容器仍然缺乏的一項功能是具有企業功能的持久存儲。 為了解決這一不足,Dell Technologies 為其 PowerStore 系列啟用了容器存儲接口 (CSI) 和容器存儲模塊 (CSM)。
集裝箱儲存
當容器首次發佈時,它們被設計為無狀態的並且沒有持久存儲。 然而,隨著公司發現容器的實用性及其用例的增加,很明顯他們需要持久存儲。 這種差異最終導致引入了兩種解決方案:卷插件,緊隨其後的是 CSI 提供的具有另一個存儲抽象級別的容器。
CSI 驅動程序是一個軟件組件,它允許像 K8s 這樣的容器編排系統與存儲系統進行通信。 它提供了用於創建、刪除和管理存儲捲和數據服務的標準 API,使存儲提供商能夠與各種容器編排系統進行互操作。
Dell PowerStore – 容器就緒存儲
戴爾為其 PowerFlex、PowerScale、Unity、PowerMax 和 PowerStore 系列存儲設備發布了一套 CSI 驅動程序。 下圖顯示了戴爾存儲系統如何使用 CSI 與 K8s 接口。
事實證明,戴爾的 CSI 非常受歡迎——例如,PowerScale CSI 驅動程序的下載量已超過 1.7 萬次,而 PowerStore 在短短兩年內的下載量已達 XNUMX 萬次。
Dell PowerStore 容器存儲模塊
雖然使用 CSI 非常強大,但企業用戶已經開始期望他們的存儲具有企業存儲功能。 隨著戴爾容器存儲模塊 (CSM) 的發布,管理容器存儲變得相當簡單。
以 Dell PowerStore 為例,Dell CSM 模塊使 K8s 應用程序能夠提供數據服務,例如組快照、精簡克隆、複製、加密等。 存儲對象支持這些功能,包括光纖通道上的塊和文件、iSCSI、NVMe/TCP 和 NFS 協議。
適用於 PowerStore 的 Dell CSM 遵循兩個基本原則。 首先,應用程序開發人員可以通過 K8s 控制平面管理常見的存儲任務,省去了 DevOps 團隊去找存儲管理員的麻煩。 其次,DevOps 團隊無需修改當前工作流程即可訪問 PowerStore 提供的性能和深度數據服務。 這確保了存儲管理員可以根據他們需要滿足 SLA 的要求準確地交付應用程序。
戴爾已將其所有 CSM 和 CSI 相關工作開源,不僅包括 PowerStore,還包括其在GitHub上的許多其他儲存系統。此外,戴爾還提供 Ansible 和 Terraform 提供者模組,幫助使用者處理各種任務,例如儲存配置、修改儲存配置以及本地/遠端複製設定。
為確保兼容性,戴爾的 CSM 已經過驗證,可與 Amazon EKS、Mirantis、VMware Tanzu、SUSE Rancher 以及其他 K8s 和容器編排平台配合使用。
CSM 包含多個模塊,可實現戴爾企業客戶所期望的功能。
Dell PowerStore 容器儲存模組會定期更新。若要查看所有目前支援的模組,請造訪該專案的GitHub 程式碼庫。
了解了背景後,讓我們研究其中一些模塊的細節。
用於復制和彈性的 Dell PowerStore 容器存儲模塊
CSM for Replication 將 Dell PowerStore 的複制和災難恢復功能引入組織的 K8s 集群。 它使用 PowerStore 陣列上可用的本機複製技術,提供一種在計劃內和計劃外遷移情況下重新啟動應用程序的方法。 拉伸和副本 K8s 集群支持複製,並且在安裝 CSM 時在 helm chart 中啟用了彈性功能。
彈性功能使用 pod 監視器來保護有狀態的應用程序免受各種故障的影響。 它旨在檢測以下類型的故障:Kubernetes 節點故障、控制平面故障和 IO 網絡故障。 當某個事件(例如電源故障)關閉整個節點時,就會發生節點故障。 IO 網絡故障是通過輪詢陣列以查看它是否與節點建立健康連接來檢測的。
目前,PowerStore Replication 支持以下內容:
- 使用基於本機存儲陣列的複制來複製數據
- 複製異步塊卷
- 在代表複製卷的集群中創建 PersistentVolume 對象
- 在集群中創建 DellCSIReplicationGroup 對象
- 通過命令行實用程序 repctl 在集群中創建 DellCSIReplicationGroup 對象,該實用程序用於配置和管理跨多個集群的複制相關資源
repctl 命令是一個 CLI 工具,可幫助跨多個 K8s 集群執行與復制相關的過程。
為了演示其工作原理,我們在 StorageReview 實驗室中設置了兩個存儲陣列:RT-D0355 和 RT-D0338。 然後我們在控制台上運行 repctl cluster list 和 repctl list rg 命令,輸出列出集群和復制組。
請注意,集群中沒有顯示任何對象。
部署 K8s 應用程序時,其後端存儲將部署在兩個陣列上。 這可以使用命令行看到。
請注意,集群的每個節點中都有一個對象。
這也可以在 PowerStore 門戶網站中查看。
如果發起故障轉移,這將被指示為正在進行中。
這也可以在門戶中看到。
repctl 命令也用於重新保護對象。
repctl 命令允許使用者透過命令列以程式設計方式與儲存設備進行互動。戴爾有一份文件詳細介紹了複製功能在災難復原工作流程中的各種應用方式。
用於可觀察性的 Dell PowerStore 容器存儲模塊
戴爾的開源 K8s 存儲可見性和報告工具套件稱為 CSM for Observability,它使用 K8s 部署中常見的通用開源組件。 它有一個 OpenTelemetry 代理,可以為 Dell PowerStore 收集陣列級指標並將它們放入 Prometheus 數據庫中。 這允許 K8s 管理員收集陣列級指標以直接從 Prometheus/Grafana 工具檢查整體容量和性能,而不是直接與存儲系統本身接口。
CSM for Observability 允許查看 PowerStore 上使用 Dell CSM CSI 驅動程序管理的捲和文件共享的容量和性能。 該模塊還包括預打包的 Grafana 儀表板,用於分析歷史指標並查看 K8s PV 及其轉換為後端陣列中的 LUN 或文件共享之間的拓撲。
部署
可以使用 Helm 或使用 CSI 和 CSM 操作符(CSM 的技術預覽)部署 CSI 和 CSM 模塊。
最後的思考
戴爾認識到容器和 K8s 在當今現代數據中心中的地位和持續重要性。 因此,戴爾為值得信賴的 PowerStore 存儲設備系列添加了新功能以滿足這些需求。 這些功能使現代工作負載具有許多與傳統工作負載相同的存儲功能。 但戴爾並不滿足於固步自封。 它繼續支持其 CSI/CSM 集成,並將很快將應用程序移動性(目前處於技術預覽階段)、加密和卷放置模塊添加到其產品中。
其中,我們認為應用程式遷移功能最引人注目,因為它允許 Kubernetes 管理員將有狀態應用程式工作負載和應用程式資料克隆到其他集群,無論是在本地還是在雲端。應用程式遷移功能利用 Velero 及其與 Restic 的集成,將應用程式元資料和資料複製到物件儲存。
戴爾的工作使應用程序開發人員和 DevOps 團隊能夠處理更多的配置和維護,從而節省 IT 資源。 IT 團隊知道他們正在提供團隊需要的數據服務和性能應用程序。 將企業級工具引入 K8s 存儲的一個典型例子是它的複制模型,它允許像其他 K8s 服務一樣自動保護數據免受存儲對象和命令行的影響。
戴爾繼續成為 K8s 社區的領導者,並通過將其存儲與 Grafana 和 Prometheus 等常用工具集成,建立了相當大的信譽。 此外,戴爾正在與所有最流行的 K8s 平台(VMware Tanzu、EKS 等)合作,這在當今的多雲世界中至關重要。
本報告由 Dell Technologies 贊助。 本報告中表達的所有觀點和意見均基於我們對所考慮產品的公正看法。





Amazon