軟件定義存儲(Software Defined Storage,SDS)是一種透過軟體層面的控制與管理來處理存儲資源的技術方法論,讓存儲系統更靈活、可擴展且易於管理。這篇文章會帶你認識 SDS 的主要特色、工作原理、它在 Kubernetes 持久化存儲中扮演的角色,以及用 SDS 蒐集機器學習資料的優勢。
什麼是 SDS?為什麼它比傳統存儲更靈活?
傳統的存儲系統通常使用專用的硬體設備和控制器來管理數據存儲,而軟件定義存儲採用軟件定義的方法,將存儲處理功能抽象出來,使得存儲資源可以根據需要進行分配和管理——不必被特定硬體或供應商綁住。
SDS 的五大主要特色
- 抽象化:SDS 將存儲資源的物理特性與控制功能解耦,存儲資源的管理和配置可以在軟件層面完成,而不依賴於特定的硬體設備。
- 集中管理:透過集中式的管理界面控制和監控存儲系統,管理人員可以更方便地進行配置、擴展和故障排除。
- 彈性擴展:由於可以根據需要動態配置和管理,SDS 能輕鬆擴展存儲容量和性能,以適應不斷增長的數據需求。
- 自動優化:SDS 通常具有自我優化功能,可以根據數據使用情況和需求自動調整存儲策略,提供最佳的性能和效率。
- 開放性:SDS 通常基於開放標準和 API,可以與多種硬體設備和存儲平台兼容,並支援多種存儲協議。
SDS 的工作原理是什麼?
借助軟件定義的存儲,應用程序可以動態配置所需的容量、性能和保護的精確組合——不多也不少。SDS 為存儲帶來了服務器虛擬化為計算帶來的簡單性、效率和成本節約。它允許你消除低效的專用硬件,並使用更靈活、透明和自動化的系統。此外,這種存儲解決方案可與現有存儲解決方案和雲端環境配合使用。

SDS 軟件通過虛擬數據平面對底層存儲進行抽象;這使得虛擬機(和應用程序)成為存儲配置和管理的基本單元。透過在應用程序和可用資源之間創建靈活的分離,普及的虛擬機管理程序可以平衡應用程序所需的所有 IT 資源(計算、內存、存儲和網絡)。
SDS 與 Kubernetes Persistent Volumes 有什麼關係?
SDS 和 Kubernetes 中的 Persistent Volumes(持久化存儲卷)是相關的概念,它們都涉及在容器化環境中對存儲資源的管理。
Kubernetes 是一個用於容器化應用程序管理和部署的開源平台,而 Persistent Volumes(PV)是 Kubernetes 中用於持久化存儲的抽象層。PV 允許將持久化存儲資源(例如 Amazon EBS、Google Persistent Disk、NFS、Ceph 等)與 Kubernetes 集群中的 Pod 相關聯,從而實現容器應用程序的持久化數據存儲。
Kubernetes 的 Persistent Volumes 提供了對多種存儲技術的抽象,常見的 PV 實現技術包括:
- 主機路徑(HostPath):將宿主機上的目錄掛載為 PV。這種方式只適合單節點集群,而且缺乏高可用性和故障恢復機制。
- NFS(Network File System):NFS 是一種分佈式文件系統,可以在多個節點之間共享文件。可以使用 NFS 伺服器提供持久化存儲,並將其掛載為 Kubernetes 中的 PV。
- iSCSI:iSCSI 是一種塊存儲協議,可以通過網絡將存儲設備映射為本地塊設備,作為 PV 掛載到 Kubernetes 中的 Pod。
- Ceph:Ceph 是一種分佈式存儲解決方案,提供對象存儲、塊存儲和文件系統的支持。使用 Ceph 作為 PV 可以實現高可用性和可擴展性。
- GlusterFS:GlusterFS 是一種分佈式文件系統,可以提供高可用性和可擴展性的存儲,讓 Kubernetes 中的 Pod 使用這種分佈式文件系統。
- 雲端提供商的持久化存儲服務:在公有雲上運行 Kubernetes 時,大多數雲提供商都提供專門的持久化存儲服務,例如 Amazon EBS(Elastic Block Store)或 Google Persistent Disk。
SDS 則是一種更廣泛的存儲技術,它可以用來管理和處理各種存儲資源,並提供更高級別的抽象和自動化。在 Kubernetes 中,PV 可以使用 SDS 技術來實現,例如使用 Ceph、GlusterFS 等 SDS 解決方案作為 Persistent Volumes 的後端存儲。
值得注意的是,SDS 不一定要是物件存儲服務才算。SDS 可以涵蓋多種存儲技術,包括塊存儲、文件存儲和物件存儲等。重要的是,SDS 是通過軟件進行存儲管理和控制,而不依賴於特定硬體或供應商。
為什麼說 SDS 是一種以軟件為基礎的存儲管理方法?
SDS 是一種存儲技術的方法論,它通過軟件層面的控制和管理來處理存儲資源,而不是依賴於特定的硬體設備或供應商。這意味著 SDS 可以在不同的硬體平台上運行,並且支援多種存儲技術,如塊存儲、文件存儲和物件存儲等。SDS 的目標是提供一個統一的、抽象的存儲管理接口,使存儲資源的配置、管理和控制可以在軟件層面進行,而不需要直接依賴於特定硬體或供應商的 API。
談到儲存圖片和影片等數據時,這些數據最終還是需要存儲在硬碟上,而硬碟是物理媒體。SDS 並不是指數據直接存在於軟件中,而是指存儲管理和控制的功能在軟件層面進行。
SDS 可以使用不同的硬體設備來實現存儲,比如傳統硬碟(HDD)、固態硬碟(SSD)、雲端存儲、存儲區域網絡(SAN)等。這些硬體設備提供實際的數據存儲介質,而 SDS 則通過軟件抽象出這些硬體設備的管理和控制功能。
總結來說,SDS 是一種以軟件為基礎的存儲管理方法,可以在不同的硬體平台上運行,並支援多種存儲技術,但最終數據仍然需要存儲在實際的硬碟或媒體上。
使用 SDS 蒐集機器學習資料有哪些優勢?
使用 SDS 可以幫助蒐集機器學習(Machine Learning,ML)所需的資料。相對於傳統的數據存儲方式,SDS 更有利於處理大量數據,並提供更好的可擴展性和彈性。以下是幾個關鍵優勢:
- 彈性和可擴展性:SDS 基於軟件進行存儲管理和控制,可以方便地擴展存儲容量,並根據需要增加或減少資料存儲的規模。這對於處理大量數據和快速增長的需求非常有利。
- 多種存儲技術支援:SDS 支援物件存儲、塊存儲和文件存儲等多種存儲技術,可以根據不同的數據類型和用途選擇最合適的存儲方式,而不必局限於單一方案。
- 數據複製和冗余:SDS 通常提供數據複製和冗余功能,確保數據的高可用性和持久性。這對於在 ML 訓練過程中保證數據完整性和可靠性非常重要。SDS 或存儲系統通常會提供配置選項來控制數據的冗余程度(如副本數量或冗余策略),可以根據應用需求選擇適當的冗余程度,以平衡數據可用性和資源消耗。
- 異地備份:SDS 還支援異地備份,將數據備份到不同的地理位置。即使出現故障或災害,數據仍然可以安全地恢復。
- 快速數據存取:某些 SDS 解決方案可以提供高速的數據讀取和寫入性能,這對於需要快速存取大量數據的機器學習訓練非常重要。
延伸閱讀
常見問題
什麼是軟件定義存儲(SDS)?
SDS 是一種透過軟體層面的控制和管理來處理存儲資源的技術方法論。它將存儲處理功能從特定硬體中抽象出來,使存儲系統更靈活、可擴展且易於管理。
SDS 一定要是物件存儲嗎?
不一定。SDS 可以涵蓋塊存儲、文件存儲和物件存儲等多種存儲技術。重點在於 SDS 是通過軟件進行存儲管理和控制,而不依賴於特定硬體或供應商。
SDS 與 Kubernetes Persistent Volumes 的關係是什麼?
Persistent Volumes 是 Kubernetes 中持久化存儲的抽象層,而 Ceph、GlusterFS 等 SDS 解決方案可以作為 PV 的後端存儲。也就是說,PV 可以用 SDS 技術來實現,獲得更高的抽象程度和自動化管理能力。
SDS 可以取代硬體嗎?
不能。SDS 指的是存儲管理和控制功能在軟件層面進行,數據最終仍需存儲在實體硬碟或媒體上,例如 HDD、SSD、雲端存儲或 SAN。SDS 是抽象出硬體的管理層,而非取代硬體本身。
為什麼機器學習適合使用 SDS?
機器學習需要處理大量訓練資料,SDS 的彈性擴展、數據複製冗余、異地備份和高速存取能力,正好滿足 ML 對海量數據的擴展性、可靠性和存取性能需求。
參考資料
最後更新
2026-08-28(原文發布於 2023-08-02,本文保留原始筆記內容並補上 GEO 結構。)
關於作者 {#author}
Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。
首次發布:2023-08-02
