『壹』 軟體定義存儲(SDS)與軟體定義數據中心(SDDC)有什麼區別
軟體定義數據中心(SDDC)包括計算、存儲、網路、管理和安全五大部分,其中存儲的部分就是軟體定義存儲(SDS)。

『貳』 一般大家都會選擇哪款 SDS 一體機
建議客戶選擇SDS的時候,首先需要問一下自己兩個問題:1、主要應用場景是什麼?2、最關注的前三位的技術指標是什麼?而且還要清楚SDS發展在什麼階段(目前SDS還處在社會主義的初級階段),把預期和現實拉得近一些,有些過高的要求在這個階段SDS還不能提供。
關於SDS技術評價通常包括以下7個維度:可靠性、穩定性、擴展性、功能、性能、易用性、兼容性。
針對SDS塊存儲前三位技術指標維度為:
三大應用場景都把可靠性和穩定性排在了前兩位,之所以這樣排列因為存儲是IT系統的基石。所謂的可靠性就是局部故障不會導致數據丟失和業務中斷,這一點理所應當排在第一位;穩定性是指不會因為局部故障造成性能大幅抖動,給業務響應造成影響,比如說看個小電影中途老卡誰受得了。
說到這有人會問,這兩點對於傳統陣列是必須和默認的要求?我想說,傳統陣列都是昂貴、專用的硬體堆起來,發生硬體故障的概率很低,而SDS大都部署在廉價的標准x86伺服器上,x86伺服器發生硬體故障的概率要高很多;並且SDS都是分布式系統,要管理幾十台、乃至成千上萬台x86伺服器上,這樣發生硬體故障的概率會呈數量級的上升。如何保證大規模分布式系統的可靠性和穩定性也正是SDS首要解決的難點。
Amazon的S3系統由上百萬台伺服器組成,每分鍾都會有很多設備下線和上線,能保證這樣大規模集群的可靠性和穩定性,應該沒幾個廠家有這樣的技術吧?
另外還別忘了,SDS還處在「社會主義初級階段」並不是拿出來一個廠家就能保證幾千台伺服器的SDS系統可靠和穩定的。
VSI和VDI環境通常規模很大,而且規模增長的速度也較快,所以把擴展性放在了第三位。對於資料庫應用,性能是毋容置疑非常重要的一個指標,所以排在了第三位。
眼見未必為實,測試中的那些「貓膩」
終於想清楚我要的SDS長什麼樣了,忽然又想起一件大事「誰家的產品能達到我的要求呢?」
一個最直接的辦法就是拿測試來說吧(測試還是蠻麻煩的一件事,准備測試環境、編寫測試規范、查看測試結果……)。或許還有一個偷懶的辦法,就是「你們有和我的需求差不多的案例嗎?我去問問那家企業用的咋樣啊」,但耳聽為虛眼見為實,聽一面之詞總是不踏實。
相比之下測試是一個較為讓人放心的辦法,但如果你不熟悉SDS的水,同樣有些坑你也發現不了,嘿嘿。
好了,下面這一段就是從測試和技術構架角度幫助客戶判斷關鍵技術指標優劣。
1、B域、C域,1/3節點損壞和RTO為0
可靠性在SDS上主要體現在兩個方面,當集群中磁碟或節點發生故障時,數據會不會丟失?業務會不會中斷?中斷的時長是多少?
這里有兩個指標需要關註:1、容錯度,2、故障恢復時間。
先說一下容錯度這個指標。
因為主流的SDS都採用副本技術,以三副本為例,丟失1份數據,應該還有2份數據存在,數據不會丟,也就是容錯度為1/3個節點。但如果超過1/3的節點同時down機,集群還能工作嗎?這個不一定所有廠家都能做到。
很多SDS的容錯域都是提前配置好的。以3副本9個節點為例,通常會配置3個容錯域ABC、每個容錯域各3個節點,每個容錯域保存獨立的副本數據。例如當以一個容錯域A的3台機器都故障時,還有兩2個副本存在,數據不會丟失,業務照常運行,這就是通常所說的能容忍1/3節點宕機。這樣的要求大多數廠家都能做到,但如果同時B域或者C域也有機器down機呢?這時候多半會出現兩副本都丟失情況,系統異常了。
故障恢復時間這個指標也很關鍵。當系統中發生節點宕機,故障恢復的時間當然越快越好了,最高的要求是故障恢復時間等於0。要實現這個指標很不容易,因為當SDS系統中節點發生故障時,要恢復這個故障,需要做很多事:第一步,發現這個故障;第二步,選出一個節點接替故障節點,並進行數據重構;第三步,重新刷新定址空間,讓客戶機能獲取數據位置的變化。每一步都需要時間花費,特別對大規模集群來講,想把故障恢復時間控製得很小更是難上加難。宣稱故障恢復時間為零的SDS廠家並不多。
所以故障恢復時間的數量級是衡量一個SDS可靠性等級的一個非常重要的因子。用戶可以根據前端業務對故障恢復時間的敏感程度,設立相應的要求標准。
2、Ceph性能抖動的問題
對於SDS來講,它的穩定性主要關注點在:當系統發生磁碟/節點故障,恢復數據而產生數據遷移時,前端的性能表現是否穩定。
在前面可靠性段落中談到了,SDS故障恢復有三個步驟,每一步處理不好都會影響性能表現。特別是數據重構和重新定址這兩個環節,會對性能穩定性造成很大的影響。
例如著名的開源產品Ceph,不止一個客戶反映當系統中出現節點宕機的情況下,性能下降和波動很厲害,對業務影響很大。只所以出現這個問題首先是和它元數據管理和定址的方式(Crush演算法)有關,即在節點動盪時,元數據(其實是ceph內部保存的資源列表)發生變化,從而導致數據的地址發生變化,最終導致大量的沒有必要的數據遷移,規模越大,這個問題暴露的越明顯。其次是它數據遷移採用整盤拷貝的方式,會有無效遷移導致的網路帶寬的擁擠。
還有一個坑透露一下,有些SDS系統在拔盤或者宕節點時,可以不發生數據重構,當磁碟或者節點重新上線或歸位時才重構。因此,穩定性測試時最好觀察一下,磁碟或者節點歸位後的表現。甚至建議,用頻繁的節點上/下線來測試它的穩定性,因為節點抖動還是會時常發生的。
3、VSAN的局限
擴展性很難測試,因為你要准備幾百台、上千台的伺服器環境是不可能,除非你是土豪,那怎麼辦?沒辦法,看構架吧。市場上主流SDS分為有中央元數據管理節點的非對稱構架和無中央管理節點的全對稱構架兩大類,前者相比後者擴展性受限。簡單的理解就是「非對稱構架」中好比有個指揮官,一個指揮官能管的人比較有限的。「全對稱構架」中是沒有指揮官的,全憑自覺性,像是一大堆人在幹活,一個病了,無需向領導請假,會有另外一個人立馬自動接替他的工作。舉例證明:VSAN是有中央管理節點的,它官方宣稱的單集群支持最大節點數64個;鵬雲網路的ZettaStor是無中央節點的,能支持萬級的節點數量。因此從具體實例上也能看出,構架決定了其擴展能力。
4、SSD緩沖擊穿
目前快閃記憶體技術發展得很快,性能比傳統磁介質硬碟高了幾個數量級,正是因為快閃記憶體技術的發展也給SDS造就了可以在性能上PK傳統陣列的基礎。
如果你很有錢的話完全可以用SSD做主存。但目前SSD價格還較貴,性價比較高的方式是用SSD做緩存,通常一個存儲節點上配個幾百GB-1TB的SSD做緩存。SSD緩存對性能的貢獻在小數據量時會表現的非常好,一旦數據量足夠大,SSD被穿透,那就實打實地看落盤(寫到硬碟持久化層)的性能表現了。如果你的系統數據量很小,SSD緩存的容量足夠你支持業務峰值,那可以多些關注SDS緩存加速的性能表現。如果你的系統數據量很大,那SSD會長時間被穿透,那你就重點一下落盤的性能表現了。
目前SDS廠家在SSD緩存利用效率上,水平都差不太多,沒有太多很獨到的演算法出現。倒是落盤這個環節,因為選擇的技術路線不同,表現不一。有的就是差不多發揮原有磁碟的性能,甚至還低;有的利用一些IO演算法,把普通磁碟的性能表現提升幾倍,像鵬雲網路的ZettaStor在落盤時採用了「變隨機為半順序」的IO優化演算法,把隨機IO裸盤的速度提升了3-5倍。鵬雲網路之所以能做這樣的IO優化,因為ZettaStor是完全自主開發的。採用開源方案的廠家要實現起來估計會很難,這是要動到其核心文件系統層的。
有些廠家在性能測試時會用很小的卷、很小的數據去測試,看上去IOPS會很高,但真實環境不會是這么小的負載,所以一旦多創建些大卷,進行長時間大數據量的性能測試,SSD被寫穿透時,性能立馬一落千丈,鳳凰變烏雞了。
不記得那位大咖說過一句話,「不談延遲的性能測試都是耍流氓」。
看一個系統的延遲小不小,一個是實測,另外從構架上也能看出些端倪。就是看一下它的IO路徑是否夠短。例如,直接寫裸磁碟的總比經過文件系統層轉換再寫裸磁碟的IO路徑短很多吧,這就是為什麼Ceph想降低延遲很難的原因所在。眾所周知,Ceph的塊存儲不是直接訪問裸磁碟的,而是通過文件系統把裸磁碟轉換成塊設備給應用的。
『叄』 SDS是什麼國內有哪些公司在做
SDS 是 Software Defined Infrastructure 的簡稱,翻譯過來就是軟體定義存儲。
目前國內軟體定義存儲產品主要分兩類:
『肆』 軟體定義存儲(SDS)與軟體定義數據中心(SDDC)有什麼區別
2012年,VMware在其vForum大會上首次提出軟體定義數據中心(SDDC)的概念。而SDS的概念則是最近幾年隨著華為、杉岩數據等企業產品的逐漸成熟而興起的。SDS可以認為是SDDC的基礎,畢竟一個數據中心離不開存儲。