複製鏈接
請複製以下鏈接發送給好友

軟件定義存儲

鎖定
軟件定義存儲(SDS)是一種數據存儲方式,所有存儲相關的控制工作都僅在相對於物理存儲硬件的外部軟件中。
軟件定義存儲中的軟件一般由各個廠商或者高校的研究人員使用C語言或者其他編程語言編寫的一套軟件,主要實現的功能就是整合散落的硬盤或者磁盤陣列,提高存儲服務
中文名
軟件定義存儲
外文名
SDS
性    質
一種數據存儲方式
學    科
計算機

軟件定義存儲簡介

軟件定義存儲(SDS)是一種數據存儲方式,所有存儲相關的控制工作都僅在相對於物理存儲硬件的外部軟件中。這個軟件不是作為存儲設備中的固件,而是在一個服務器上或者作為操作系統(OS)或hypervisor的一部分。
軟件定義存儲是一個較大的行業發展趨勢,這個行業還包括軟件定義網絡(SDN)和軟件定義數據中心(SDDC)。和SDN情況類似,軟件定義存儲可以保證系統的存儲訪問能在一個精準的水平上更靈活地管理。軟件定義存儲是從硬件存儲中抽象出來的,這也意味着它可以變成一個不受物理系統限制的共享池,以便於最有效地利用資源。它還可以通過軟件和管理進行部署和供應,也可以通過基於策略的自動化管理來進一步簡化。 [1] 

軟件定義存儲困難

使用軟件定義存儲進行長期存儲充滿了諸多風險,例如數據位錯誤、硬盤故障、網絡攻擊、人為失誤以及自然災害等等。然而對數據進行長期存儲除了要面對以上風險,還要考慮到其他問題,例如硬件架構、軟件平台、應用以及數據格式的變化等等。
與此同時,對於數據可訪問性、協同性以及大數據分析與日俱增的需求也使得問題不僅僅停留在儲存時限層面,還要考慮到其可用性。
當今很多企業的數據中心都正在經歷從傳統架構向雲架構的轉型。在轉型過程中,存儲往往是最重要、又是最艱難的一環。用户需要利用軟件定義,來解除供應商鎖定,消除專有平台孤,降低日益增長的複雜性,從而將物理的存儲設備,轉化為服務雲計算的存儲資源。同時,如何在企業自建的數據中心、外包數據中心和不同的雲服務商之間,實現存儲的統一管理和數據的自由流動,也是雲計算落地過程中的重大挑戰。

軟件定義存儲優勢

軟件定義存儲允許客户將存儲服務集成到服務器的軟件層。軟件定義存儲將軟件從原有的存儲控制器中抽離出來,使得它們的功能得以進一步的發揮而不僅僅侷限在單一的設備中。軟件定義存儲將數據去重功能或者是精簡配置侷限在單一的硬盤上與把其擴展到全部存儲平台層面相比,前者實在是沒有什麼太大意義。在這一點上,軟件定義存儲的從業者們並沒有拖大家的後腿。
軟件定義存儲的一大好處,那就是將軟件功能從陣列控制器中剝離出來,這樣它可以用於管理數據中心中的所有存儲。
但是獲取軟件定義存儲的方式仍然有很多。其中獲得廣泛關注的就是最近曝光頻繁的軟件定義存儲裝置模型
軟件定義存儲裝置的另外一個好處是,遷移更加容易。與其他的軟件定義存儲配置不同,軟件定義存儲裝置並不要求數據必須被拷貝一份到各個節點,也就是説,不會要求額外的存儲空間。數據僅存儲在一個位置,將應用從一個位置遷移到另外一個位置無需複製。
但是軟件定義裝置通常也是專有的,這也是很多IT專家希望在存儲技術採用中所規避的。 [2] 

軟件定義存儲隱形成本

然而,業內卻鮮少提及SDS相關的潛在隱性成本。SDS可能帶來的硬件混合以及匹配將反轉集成軟硬件到終端用户的成本或風險。
在選擇SDS產品時,評估廠商是否能夠提供SDS的利好十分關鍵。
時代和技術都發生了某種程度的改變,有些人説驅動器的標準已經改進。但我認為,新的硬件技術,像是固態存儲每一天都在演進。如果我們延伸存儲軟件抽象化的能力到最大,它應該能夠協調任何硬件。如果這將作為SDS部署的理想狀態,那麼一個系統中可能的技術組合將是無限的。在這種設想之下,驗證和集成新硬件技術的職責和成本都將歸於IT。 [1] 

軟件定義存儲三種選擇

軟件定義存儲的第一種選擇就是與Hypervisor集成或作為其堆棧的一部分存在。VMware目前開發了Virtual SAN,該公司所謂的軟件定義存儲層正是作其軟件堆棧的一部分存在。Hyper-V則擁有所謂的集羣存儲空間並且直接集成進微軟的Hyper-V堆棧。
第二種軟件定義存儲架構就包含了第三方,hypervisor無關的產品,它們能夠與VMware、Hyper-V、KVM或是思傑的產品協同,有一些軟件產品功能完備,甚至在某些方面超越領先廠商,像是Maxta、Starwind Software 、 StoreMagic。它們提供同樣的功能,但並非致力於某一特定Hypervisor。它們創建的存儲倉庫能夠在多個不同的hypervisor間共享。
第三種是虛擬存儲,已經出現相當長的時間。這一類型包含IBM Spectrum Virtualize、DataCore SANsymphony產品,它們將虛擬所有的硬件資源,將其抽象為軟件層以更高效的分配資源。當某個應用負載需要配置具有特定數據保護機制的存儲,你只需要從管理界面選擇配置,它將隨存儲自動分配。
軟件定義存儲的概念很大。目前存儲領域內的諸多形態的存儲產品,如:存儲虛擬化、Server SAN、超融合架構(HCI)都是SDS的一部分。
1. Control Plane(控制平面)
在SDS Control Plane這一層,比較著名的有:
1)VMware SPBM (Storage Policy Base Management, 基於存儲策略的管理);2)OpenStack Cinder ,Cinder是OpenStack雲平台的一個組件,用來提供塊存儲服務;Cinder通過統一的存儲軟件接口,可以訪問業界的大多數SAN存儲產品。3)EMC ViPR為代表的一類存儲管理軟件,目標是實現對單一存儲品牌或多個存儲品牌的存儲產品的統一管理、存儲空間異構等存儲資源池化、整合。
2. Data Plane (數據平面)
在SDS Data Plane這一層,涉及到多種存儲形態。
1) Based on Commodity Hardware (基於商用的硬件),這一部分又包含兩個大類:
超融合架構(HCI),它應該是Server SAN的一個子集,比較著名的有: VMware VSAN或EVO:RAIL、EMC ScaleIO、Nutanix、Maxta等等。
非超融合架構,即獨立的分佈式存儲系統,比較著名的有DELL Fluid Cache、HP StorVirtual、RedHat Inktank Ceph、浪潮AS13000等。
Traditional SAN/NAS(External Storage),包括SAN存儲或者NAS存儲
通過收購或自己研發,逐步實現SDS抽象(解耦)、池化、自動化的階段,典型的有HP將LeftHand與原有硬件解耦,形成VSA版StorVirtual;NetApp推出Data ONTAP的VSA版ONTAP Edge VSA;IBM推出XIV的軟件版Spectrum Accelerate;DataCore SANsymphony;EMC推出VNX的虛擬化版本 vVNX等。
Cloud/Object Storage
通過RESTful API等接口與對象存儲進行數據的輸入輸出,目前有三種RESTful API:亞馬遜S3、SNIA CDMI和OpenStack SWIFT。比較著名的有:EMC Atmos、浪潮AS13000等等。 [2] 

軟件定義存儲搭建原則

軟件定義存儲(SDS)技術可能提供使存儲更靈活和更敏捷的手段,因此虛擬存儲卷可以在運行中被創建、輕而易舉地與工作負載關聯並在服務器之間與虛擬機一起被移動或者被轉換。此外,SDS使你能夠把增值服務與虛擬存儲卷互相關聯(僅舉幾例,這些服務可能包括鏡像、複製、精簡配置和重複數據刪除/壓縮),從而使存儲應用程序如量身定做一樣符合工作負載的需求。另外,好的SDS技術應該提供路徑管理和互連負載均衡,以更好地利用要麼託管了物理工作負載、要麼託管了虛擬化的客户機(或者兩者皆有之)的物理存儲設備和服務器之間的網絡和結構連接。 [1] 

軟件定義存儲目標

軟件定義存儲(SDS)的目標是把存儲應用程序與物理的數據存儲基礎設施分離。理論上,這將實現存儲資源的“靈活”分配、重新分配和不分配。換言之,SDS提供一種把存儲服務從存儲包中分離出來的方法,即使基本的硬件和互連被變更,仍然能提供卷的持續性。
這項能力尤其適用於從服務器硬件被提取出來的或者“被虛擬化”並能夠在服務器、網絡或者存儲堆棧之間移動的應用程序。
通過使用SDS,對於物理資源而言,呈現給一個虛擬化的工作負載或者一台客户機的存儲卷本身就是一個抽象層,而非一個物理連接。這個SDS卷可以與工作負載一起在主機之間移動,通過SDS服務提供與相同的聯機存儲資源的新路徑。因此,不必複製每台可能的主機的數據。 [2] 
參考資料
  • 1.    Varghese, George, Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices, Morgan Kaufmann, 2005
  • 2.    TRW Computer Division Archived August 5, 2011, at the Wayback Machine., 1963, p. 17.