在云的大趨勢下,軟件定義存儲必將在3年內普及
“軟件定義”是IT世界最熱的詞之一,從軟件定義網絡(SDN)、軟件定義存儲(SDS)、軟件定義數據中心(SDDC),再到軟件定義一切(SDE)。SDS是軟件定義中相對比較具體,比較容易落地的概念,但是業界對SDS解讀和定義非常多,讓人無所適從。SDS到底是什么?我們該如何理解其本質?技術發展到什么階段,行業對SDS的態度和看法?我們存在哪些問題和挑戰,要不要向SDS轉型?如果轉型,我們準備好了么,該怎么擁抱SDS,讓IT平滑過渡?
面對一系列問題,試著從What、Where、Why、How四個方面,梳理SDS的脈絡,找出其內涵和本質,借助第三方數據判斷其發展階段,分析自身存儲的問題和面臨的挑戰。最后結合云的大趨勢,介紹統一管理面雙模數據面的雙模存儲架構如何將SDS落地實現,傳統企業存儲和SDS在數據中心應用場景,存儲服務該怎么設計,業務需求如何轉換為存儲需求。
What
SDS是什么?
IDC、Gartner、SNIA等第三方機構都對SDS進行了定義和說明,還有很多出版發行的書籍也對SDS有一些理解,各方的視角不同、方法不同、觀點不同,但相同的是SDS核心概念和分類。
提到SDS不得不說軟件定義其它概念SDE (Software Defined Everything)、SDI(Software Defined Infrastructure)、SDDC(Software Defined Datacenter)、SDN(Software Defined Network)等,軟件定義的本質對現實世界的抽象建模和算法,以SDDC為例,其主要特點有虛擬化(標準化、易擴展的共享資源池)、可編程(API可編程設備、計算存儲網絡軟件控制器)、抽象化(分層抽象建模,應用與基礎專業之間,基礎專業相互之間并行解耦運維)、服務化(服務化封裝交付,動態分配綁定、自動化編排調度)、分布式(大規模分布式計算、存儲、網絡集群擁有獨立分離的管理控制軟件)。SDS是SDDC的組成部分,包含了幾乎所有SDDC特性,比如共享資源池、抽象建模、可編程、分布式和服務化。
SDS的核心概念比較多,IDC和Gartner對其進行分類。IDC將SDS分為SDSControllerSoftware和ServerBaseStorage,Gartner將SDS分為ManagementSDS和Infrastructure SDS,兩種分類方法通俗的講是管理面SDS和數據面SDS。OpenStack的Cinder屬于典型的管理面SDS,CEPH則屬于典型的數據面SDS。
Where
SDS當前處于什么發展階段?
大家都在熱談SDS,一大批產品出現,大批客戶或在研究或已經使用,那么SDS目前處于什么發展階段呢?從存儲技術的HypeCycle 2016和2017對比看,ManagementSDS還處于萌芽期,發展速度很慢,2017從High降低到Moderate,說明發展態勢并不太好。InfrastructureSDS即將渡過“熱情高漲”時期,說明已經有大量的技術前沿客戶部署,同時Open-SourceStorage與InfrastructureSDS趨勢趨同,略有延后。SDS熱度的“熱源”,就是來自InfrastructureSDS和Open-SourceStorage。
Why
驅動力
在云的大趨勢下,傳統數據中心遇到很多問題和挑戰,這些問題和挑戰是SDS重要的驅動力。
一、傳統數據中心往往是面向設備和技術,而不是面向服務,與云的服務化、自動化思路不符
- 用戶申請存儲資源的場景PK:
傳統數據中心DBA與存儲管理員的對話:
DBA:“我需要5塊VMAX的LUN,每塊100GB,用在AIX環境,性能越快越好,最好是雙活的,……”。
存儲管理員:“VMAX沒有資源了,VSP行不行”
DBA:“VSP怎么樣,比VMAX快不快”
存儲管理員:“兩個產品性能指標相差不大”
DBA:“以前都是VMAX,VSP到底行不行”
存儲管理員:“……”
軟件定義數據中心DBA與存儲管理員對話:
DBA:“我需要1TB SAN存儲用于聯機交易數據庫,響應時間要求<3ms,IOPS不低于5000”。
存儲管理員:“好嘞,”
存儲資源管理方式PK:
傳統數據中心:“我有2臺DS8800,2臺VMAX,1臺SVC”
軟件定義數據中心:“我有1個資源池,可用性:園區雙活99.999%,性能:<3ms,功能:Thin,分層,復制”
二、傳統數據中心運維存在效率低和風險大的問題
人工操作導致效率低下。存儲管理員從收到請求、準備變更、審批變更、實施變更,至少一周以上,無法滿足業務快速部署要求,與云的按需供應相去甚遠。
存儲的標準化程度低導致運維復雜。一個數據中心可能有N個品牌、N個型號、N個規格、N人N種操作方法。
復雜環境的人工操作是產生事故的主要原因。復雜環境下,人工操作很難執行標準化操作,變更失誤的可能性大幅提高。人執行操作,無論怎么控制都無法根本上杜絕誤操作。
三、傳統存儲的縱向擴容方式越來越不能適應云環境
在一個傳統數據中心,SAN存儲資源不夠,會考慮新購一臺或者在原有設備上擴容,兩種方式都存在一些弊端。新購一臺,意味著擴容步長就是一臺存儲的容量,對于大型數據中心尚可,對于中小型數據中心,一次擴容相當于1-2的需求,擴容的資源面臨長時間閑置。在原有設備上擴容,則意味著要接受比原有設備更高的價格,擴容還會收到容量上限約束。因此,縱向擴容的技術限制,導致容量規模受限,擴容方式成本高,擴容周期不靈活等等局限性。
四、SDS成為解除“廠商綁定”的重要技術
被廠商綁定是數據中心普遍存在的現象,這里說的綁定不完全代表“貶義”,是相對于自主可控而言的。如果技術實力足夠強,可以自主可控,減少廠商綁定,如果技術實力不夠強,或者重心不在存儲技術,也可以選擇“被綁定”。
自主可控的程度大致可以分為集中情況:SAN或NAS,軟件和硬件都需要依賴廠商;商用的分布式存儲軟件(比如VSAN、Nutanix),則只需要依賴軟件廠商,硬件采用標準、通用的X86服務器;開源的分布式存儲軟件(比如CEPH),則安全自主,不依賴軟件和硬件廠商。
SDS,特別是開源的SDS成為自主可控,不再被廠商綁定的一種可選的技術路線,逐漸成為一種趨勢。
五、云的大趨勢驅動SDS發展
公有云服務商AWS、阿里云、騰訊云等,互聯網公司Facebook、新浪等幾乎全部采用自主研發的分布式存儲,從SDS定義來看,公有云的分布式存儲也屬于SDS一種,公有云的SDS已經成為一種趨勢,勢不可擋。
開源SDS的興起,CEPH是InfrastructureSDS的代表,Openstack Cinder、Manila是ManagementSDS的代表。Openstack與CEPH已經成為一種標準組合,正在各個行業應用,需要密切關注。
How
順勢而為
一、 趨勢分析
正如HypeCycle報告中預測,ManagementSDS還處于萌芽期,InfrastructureSDS剛剛渡過高漲期,接下來還需要一定時間的冷靜期,預計5-10年大規模應用。
不過我認為Gartner有點保守,在云的大趨勢下,Infrastructure SDS在3年內估計就會普及,需要密切關注,提前使用或者儲備基礎。Server SAN是ManagementSDS的主要實例化形態,今后將逐漸取代傳統存儲,詳細內容可以參考Wikibon分析報告
ManagementSDS產品Openstack的Cinder、Swift、Manila發展最好,但是受Openstack整體影響較大,Openstack屬于另一個話題,不在本文討論。無論ManagementSDS今后怎么發展,其抽象建模、自動自助、可編程、服務化的核心本質不變,現在就需要加大投入。
SDS的應用場景很多,在企業環境,SDS主要應用在VM環境,數據庫場景應用還較少;互聯網公司SDS主要應用在VM、圖片、視頻、郵件等環境;商業軟件占主導地位,開源逐漸成熟。
二、 統一管理面雙模數據面策略
InfrastructureSDS是未來趨勢,但是傳統數據中心的關鍵應用仍然依賴IOE的E,預計未來一段時間將維持兩者共存的局面,即雙模數據面。面對雙模數據面,ManagementSDS可以對兩個平面統一抽象建模、統一編程、統一資源池管理、統一服務接口,形成統一的管理面。
技術視角:傳統企業存儲與分布式軟件定義存儲共存,標準化配置和參數
服務視角:統一的存儲服務設計,按需自助服務、敏捷彈性交付存儲服務
運維視角:統一的運維體系設計,存儲資源池化、標準化的分層模型
三、 統一管理面雙模數據面架構
虛擬機、數據庫和文件是三種主要的數據存儲形式,各有各的特點,對存儲的需求各不相同,在統一管理面雙模數據面架構中的關系如下圖所示。
虛擬機構建在虛擬化平臺之上(主流的KVM、VMware等),主要運行應用的Web和AP,當前階段大多數企業已經實現應用的集群化,具備橫向擴容能力和容錯能力。因此虛擬機環境更適合運行在SDS環境,利用SDS的分布式能力,更好的配合應用集群橫向擴展。虛擬化環境采用SDS已被很多企業采用,正成為一種趨勢。
SDS的出現,數據庫的存儲有了更多的選擇,隨著SDS在可用性、性能、成本的優勢不斷增強,非核心業務的數據庫會率先向SDS遷移。
SDS最初的應用場景是分布式文件系統和對象存儲,也是SDS最成熟的場景,AWS的S3,百度云盤、微盤等都是基于對象存儲實現。除了互聯網、公有云之外,企業中也在廣泛應用對象存儲,但是由于數據中心原有應用一般采用文件訪問接口,無法平滑移植到對象存儲,NAS存儲在一段時間內也會存在。
無論哪種應用、哪種存儲形式,都可以基于統一的管理平面進行抽象建模、編排調度、自動化和資源池管理。管理平面屬于云平臺的一部分,北向提供API接口,南向通過驅動調用各種形態的存儲,編排調度可以在管理平面實現,也可以現在放在云平臺統一調度。
四、 存儲服務和資源池化
服務化是ManagementSDS的基礎,將雙模數據面中的存儲進行抽象建模,形成標準的服務規格、SLA、計量和計費。存儲服務最核心的兩個緯度是可用性和性能,通過對可用性和性能數據統計分析建模,形成相應的級別。下圖是存儲服務級別的一個示例,可以根據自身情況進行調整。TierI、II、III是可用性的三個級別,分別代表99.999%、99.995%、99.99%可用性級別。Diamond、Platinum、Gold、Silver、Bronze是五個性能級別,每個級別表示不通的響應時間和IOPS指標。將可用性和性能級別的交叉矩陣就是可以提供的存儲服務全集,再根據自身需求和技術發展情況確定要提供的存儲服務。
五、 業務需求通過自動化編排映射到服務能力
存儲服務對外通過API暴露自身的能力,業務需求通過統一的編排調度,將業務需求“翻譯”成對應的能力,最終交付合適的存儲服務。