簡介
軟體定義存儲至今並沒有確切的定義,簡單來說在任何存儲上運行的套用都能夠在用戶定義的策略的驅動下自動工作,這種理念就叫軟體定義存儲。
區別
軟體定義存儲 vs.傳統存儲架構
雖然沒有官方的定義,但軟體定義存儲就是將存儲硬體中的典型的存儲控制器功能抽出來放到軟體上。這些功能包括卷管理、RAID、數據保護、快照和複製等。軟體定義存儲允許用戶不必從特定廠商採購存儲控制器硬體如硬碟、快閃記憶體等存儲介質。並且,如果存儲控制器功能被抽離出來,該功能就可以放在基礎架構的任何一部分。它可以運行在特定的硬體上,在hypervisor內部,或者與虛機並行,形成真正的融合架構。
那么,軟體定義存儲的哪些功能是我們不能從傳統存儲中獲得的?
運行
存儲控制器可運行在任何類型的伺服器硬體上
這意味著存儲系統可以使用標準硬碟創建於標準硬體之外。這使得存儲系統的採購和實施更像是成套購買,也意味著系統實施和管理需要更多的技能和時間。這些投入無疑也會大大減少採購的花銷。
放置
存儲控制器可以放置在任何位置
換句話說,它並不需要放置到特定的硬體中。當前的趨勢是將軟體的存儲控制器放置在虛擬伺服器架構中,借用架構中主機的計算能力。這樣做可以大幅削減費用,同時創建了一個更加簡單的可擴展架構。如果每次架構中增加一台主機就增加一個虛擬存儲控制器的話,存儲的處理能力和空間就會隨伺服器的增加獲得擴展。
相對傳統存儲來說,大幅降低成本並與現有的虛擬架構緊密結合是軟體定義存儲的最主要優勢。
常見問題
軟體定義存儲常見問題
軟體定義存儲(SDS)確實不太好理解,這個概念經常會與存儲管理程式(storage hypervior)混為一談,並且還有硬體方面需要考慮。軟體定義存儲這個概念已經進入了數據存儲的主流市場,為了便於用戶充分理解軟體定義存儲,在此解答一些軟體定義存儲的相關問題。
軟體定義存儲與存儲管理程式是一回事嗎?
軟體定義存儲(SDS)與數據中心中其他的軟體定義XX,如軟體定義網路(SDN)非常相似,涉及到IT用戶是如何思考和設計他們的數據中心。事實上,存儲已經被軟體定義多年,在特定的存儲最佳化操作環境中很多功能都是通過軟體部分實現的。
雖然軟體定義存儲(SDS)和存儲管理程式(storage hypervisor)這兩個概念還是有些區別的,但有時候軟體定義存儲也可以作為存儲管理程式。多數廠商還是在用這兩個概念代表存儲系統的不同方面。存儲應用程式是軟體定義存儲的一部分,可以說是整個存儲軟體包中的核心部分。但是,往往不同的廠商賦予了這些概念不同的含義。
企業實施軟體定義存儲通過那些方式實現?
可以從IT集成商處採購預配置的架構。能夠實現產品的定製化並提供支持是吸引集成商、企業用戶和IT人員的地方。對於技術經驗豐富的IT團隊來說,配置一個系統也是有可能的,但對內部系統的支持仍然是十分必要的。這就是很多廠商在預配置硬體上提供軟體定義存儲的原因,他們可以向最終用戶提供更多服務支持。
哪些廠商提供軟體定義存儲?
軟體定義存儲已經流行了很多年,NetApp、浪潮等廠商是較早提供軟體定義存儲的。很多主流廠商,甚至一些初創廠商,都能夠提供軟體定義存儲。ZFS軟體堆疊是比較流行的軟體定義存儲的選項,其他的還包括商業化軟體堆疊Nexenta等。一些專有的軟體定義存儲軟體也出現了,包括GreenBytes以及被VMware收購的Virsto。傳統的IT廠商也出售軟體定義存儲產品多年,包括IBM的SVC、NetApp的data ONTAP作業系統、惠普的Leftland系列,也就是現在StoreVirtual VSA,浪潮的AS13000。
弊端
軟體定義存儲的一些弊端
首先,我們知道軟體定義存儲這項技術本質上是為了提供原子技術單元,它將簡化SDS管理並靈活的推出必要的存儲。
選擇虛擬機管理程式的客戶,也能夠利用SDS架構來管理在共享硬體上的多作業系統,像有時將一些套用留在VMware上,而將另外一些轉移到另外的系統。
所以現在,處理的不是一個軟體堆疊以及存儲,我們處理的是多虛擬機控制程式軟體堆疊以及它們的存儲。
在多虛擬機控制程式和企業不會冒險虛擬化的關鍵任務套用之前,SDS管理很容易就會變得很複雜。
影響
SDS如何影響未來的雲構架
軟體定義存儲(SDS)在實現負載分離的同時,還能夠提供敏捷性和快速擴展等特性。
使用SDS雲服務——不論是私有雲還是混合雲——的租戶,都希望能夠沿用典型的SDS本地數據中心的控制機制。企業不想放棄SDS虛擬存儲區域網路(vSAN)、防火牆、訪問控制、管理方式、合規審查等所有這些和安全、控制相關的系統管理許可權。但是同時希望SDS增加靈活性、實現快速擴展以及提高成本效率,因為這些是吸引企業使用SDS雲環境的主要因素。
SDS似乎可以成為解決這種架構性問題的方案之一。從很多方面 來說,就是使用SDS的方案來解決SDS提供商的問題,因為SDS流程控制套件的作用就在於向租戶隱藏大部分網路管理工作。對於SDS可擴展性的需求 以及標準交換機硬體設備的高昂成本促使SDS提供商逐漸意識到應該為租戶提供更大程度上的靈活性,由此誕生了簡單SDS交換機架構這種全新理念 ,將SDS數據服務和管理功能從SDS交換機自身當中抽象出來,將SDS託管在伺服器集群的虛擬機實例當中。
可以將SDS比喻為搭建積木的過程。你可以使用普通木塊一點一點進行累積,直到最終完成,或者從開始時直接使用樂高。使用樂高的方式可以更快地完成搭建和修改,這就是傳統的固定結構交換機對比SDS樂高方式。
隨著SDS混合雲趨勢的逐漸流行,SDS也已經成為 一種主流技術,儘管SDS現在仍然處在發展的早期階段。一些現有的SDS解決方案已經能夠在混合雲的私有雲部分當中完成一些重要任務。SDS提供商正在對這種方式進行改進,希望其能夠適用於SDS雲環境當中的大部分任務,明年將會實現服務、軟體和硬體平台的廣泛可用性。
SDS網路功能虛擬化技術可以根據租戶需求靈活搭建網路環境。租戶選擇不同的SDS數據服務,之後將SDS聯繫在一起(使用策略和模板可以幫助簡化這個過程)。實際上SDS數據服務就是位於虛擬機上的SDS虛擬實例,可以隨意創建和銷毀,因此想要針對特定負載進行調整也相對容易一些。
正如構想的那樣,每一個層級的SDS數據服務都將產生充滿競爭力的解決方案。這意味著需要為不同種類的SDS模組制定等級化標準,像OpenFlow這樣的工具就是為了將模組粘合在一起的“膠水”。
儘管通常大家對於SDS的反饋結果都是十分積極的,但是除了SDS雲服務提供商之外,現在很少有其他企業能夠順利完成SDS類似項目。現在市場中存在著一些憂慮和顧忌,大家擔心像SDS公司可能在未來的幾年當中出現嚴重虧損,而其他公司使用的“軟體定義”項目又過於隨意,缺少靈活性。
一些存儲初創企業也借鑑了SDS服務抽象的概念,由此誕生了針對數據中心的軟體定義存儲SDS。SDS仍然是一種全新的概念,正在逐漸演化成為一種具體的架構方式。
另外,雖然這裡只提及了SDS數據抽象服務,但是SDS將對底層硬體產生更加複雜的影響,同時也反映出SDS存儲行業當中解決方案的多樣性。最終,這種模式很可能類似於Ceph開源通用存儲軟體的概念,SDS擁有結構簡單的SDS數據存儲結點,SDS包含磁碟和存儲設備,但是SDS依然能夠提供所有SDS服務——比如壓縮、複製、代碼生成和加密——所有這一切都運行在虛擬機當中。
這種SDS解決方案需要數年時間才能逐漸成熟,但是即便是當前的SDS解決方案也能夠極大降低存儲方面的開銷。然而,雖然這種方式能夠大幅度降低SDS存儲硬體方面的費用,但是最終可能會導致很多複雜問題和麻煩。另外一種已經成為主流的產品是Ceph自身。企業從中國的ODM廠商購買低價硬體,其中包含了所需的SDS磁碟設備,使用其構建OpenStack兼容可擴展存儲。估計這種ODM業務現在占據了總存儲利潤的10%,但是設備銷量卻占到了20%,由此反映出ODM設備的價格較低。
由於只有SDS存儲節點和交換機節點需要使用特定硬體,其他SDS所有功能全部運行在虛擬化伺服器實例上。現在企業還沒有深入了解分散式SDS系統當中存在的數據完整性和延遲問題,因此我們可以期待系統性能提升成為推動SDN和SDS發展的主要動力。
SDS 網路性能將會成為性能調整過程當中的主要因素。未來的SDS項目當中乙太網的性能表現將會有所提升,這些能夠 為SDS項目的成功實施起到幫助作用,但是在分散式SDS或者軟體定義存儲(SDS)架構當中,節點間SDS遷移的數量也是一個需要考慮的問題。
SDS數據流不同於伺服器虛擬化。SDS延遲是一種十分嚴重的問題。比如,只有當SDS新數據的多個複本被寫入到永久性存儲之後,SDS資料庫才會認為當前事務已經完成。僅僅擁有下一個節點就斷定SDS數據已經被存儲是不充分的,因為停電可能導致SDS數據丟失。這意味著某些特殊處理或者某種形式的短暫SDS存儲將不會在停電時丟失數據。
SDS都可以大幅度降低總成本並且提供高可用性。如果一切順利,SDS流程管理套件將會負責大部分系統管理工作,租戶能夠控制自己的SDS虛擬數據中心。在所有這一切背後,SDS服務提供商需要認識到並非所有的虛擬機實例都是相同的以及硬體限制的客觀存在,這些都將會影響SDS硬體解決方案和數據服務軟體。