軟體定義存儲
軟體定義存儲
軟體定義存儲(SDS)是一種數據存儲方式,所有存儲相關的控制工作都僅在相對於物理存儲硬體的外部軟體中。這個軟體不是作為存儲設備中的固件,而是在一個伺服器上或者作為操作系統(OS)或hypervisor的一部分。
軟體定義存儲中的軟體一般由各個廠商或者高校的研究人員使用C語言或者其他編程語言編寫的一套軟體,主要實現的功能就是整合散落的硬碟或者磁碟陣列,提高存儲服務
軟體定義存儲是一個較大的行業發展趨勢,這個行業還包括軟體定義網路(SDN)和軟體定義數據中心(SDDC)。和SDN情況類似,軟體定義存儲可以保證系統的存儲訪問能在一個精準的水平上更靈活地管理。軟體定義存儲是從硬體存儲中抽象出來的,這也意味著它可以變成一個不受物理系統限制的共享池,以便於最有效地利用資源。它還可以通過軟體和管理進行部署和供應,也可以通過基於策略的自動化管理來進一步簡化。
使用軟體定義存儲進行長期存儲充滿了諸多風險,例如數據位錯誤、硬碟故障、網路攻擊、人為失誤以及自然災害等等。然而對數據進行長期存儲除了要面對以上風險,還要考慮到其他問題,例如硬體架構、軟體平台、應用以及數據格式的變化等等。
與此同時,對於數據可訪問性、協同性以及大數據分析與日俱增的需求也使得問題不僅僅停留在儲存時限層面,還要考慮到其可用性。
當今很多企業的數據中心都正在經歷從傳統架構向雲架構的轉型。在轉型過程中,存儲往往是最重要、又是最艱難的一環。用戶需要利用軟體定義,來解除供應商鎖定,消除專有平台孤,降低日益增長的複雜性,從而將物理的存儲設備,轉化為服務雲計算的存儲資源。同時,如何在企業自建的數據中心、外包數據中心和不同的雲服務商之間,實現存儲的統一管理和數據的自由流動,也是雲計算落地過程中的重大挑戰。
軟體定義存儲允許客戶將存儲服務集成到伺服器的軟體層。軟體定義存儲將軟體從原有的存儲控制器中抽離出來,使得它們的功能得以進一步的發揮而不僅僅局限在單一的設備中。軟體定義存儲將數據去重功能或者是精簡配置局限在單一的硬碟上與把其擴展到全部存儲平台層面相比,前者實在是沒有什麼太大意義。在這一點上,軟體定義存儲的從業者們並沒有拖大家的後腿。
軟體定義存儲的一大好處,那就是將軟體功能從陣列控制器中剝離出來,這樣它可以用於管理數據中心中的所有存儲。
但是獲取軟體定義存儲的方式仍然有很多。其中獲得廣泛關注的就是最近曝光頻繁的軟體定義存儲裝置模型
軟體定義存儲裝置的另外一個好處是,遷移更加容易。與其他的軟體定義存儲配置不同,軟體定義存儲裝置並不要求數據必須被拷貝一份到各個節點,也就是說,不會要求額外的存儲空間。數據僅存儲在一個位置,將應用從一個位置遷移到另外一個位置無需複製。
但是軟體定義裝置通常也是專有的,這也是很多IT專家希望在存儲技術採用中所規避的。
然而,業內卻鮮少提及SDS相關的潛在隱性成本。SDS可能帶來的硬體混合以及匹配將反轉集成軟硬體到終端用戶的成本或風險。
在選擇SDS產品時,評估廠商是否能夠提供SDS的利好十分關鍵。
時代和技術都發生了某種程度的改變,有些人說驅動器的標準已經改進。但我認為,新的硬體技術,像是固態存儲每一天都在演進。如果我們延伸存儲軟體抽象化的能力到最大,它應該能夠協調任何硬體。如果這將作為SDS部署的理想狀態,那麼一個系統中可能的技術組合將是無限的。在這種設想之下,驗證和集成新硬體技術的職責和成本都將歸於IT。
軟體定義存儲的第一種選擇就是與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這一層,比較著名的有:
軟體定義存儲
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等等。
軟體定義存儲(SDS)技術可能提供使存儲更靈活和更敏捷的手段,因此虛擬存儲卷可以在運行中被創建、輕而易舉地與工作負載關聯並在伺服器之間與虛擬機一起被移動或者被轉換。此外,SDS使你能夠把增值服務與虛擬存儲卷互相關聯(僅舉幾例,這些服務可能包括鏡像、複製、精簡配置和重複數據刪除/壓縮),從而使存儲應用程序如量身定做一樣符合工作負載的需求。另外,好的SDS技術應該提供路徑管理和互連負載均衡,以更好地利用要麼託管了物理工作負載、要麼託管了虛擬化的客戶機(或者兩者皆有之)的物理存儲設備和伺服器之間的網路和結構連接。
軟體定義存儲(SDS)的目標是把存儲應用程序與物理的數據存儲基礎設施分離。理論上,這將實現存儲資源的“靈活”分配、重新分配和不分配。換言之,SDS提供一種把存儲服務從存儲包中分離出來的方法,即使基本的硬體和互連被變更,仍然能提供卷的持續性。
這項能力尤其適用於從伺服器硬體被提取出來的或者“被虛擬化”並能夠在伺服器、網路或者存儲堆棧之間移動的應用程序。
通過使用SDS,對於物理資源而言,呈現給一個虛擬化的工作負載或者一台客戶機的存儲卷本身就是一個抽象層,而非一個物理連接。這個SDS卷可以與工作負載一起在主機之間移動,通過SDS服務提供與相同的聯機存儲資源的新路徑。因此,不必複製每台可能的主機的數據。