孫振正,龔 靖,段 勇,雷俊智
(中國電信股份有限公司上海研究院 上海 200122)
在存儲業界,由于存儲系統的軟硬件緊耦合、管理接口不統一等限制因素,不同存儲廠商間的存儲設備和解決方案長期存在技術壁壘,多數現有的存儲系統是單一、集成的系統,只支持特定的硬件和軟件組合,存儲系統缺乏靈活性,無法充分利用不斷涌現的新硬件產品的能力和新平臺,并且只能進行有限度的擴展,無法滿足用戶快速增長的數據存儲的需要;同時,不同存儲系統之間只能實現有限程度的統一管理,由于底層不同廠商的存儲設備無法形成統一、可調度的存儲資源池,存儲系統的管理成本開銷會日益龐大。
隨著互聯網技術的快速發展、云計算應用模式的快速普及以及大數據時代下數據的爆炸式增長,傳統的存儲系統越來越難以滿足企業IT系統在靈活性、擴展性以及統一管理等方面的需求。為了打破傳統存儲系統軟硬件緊耦合所造成的割裂狀況,軟件定義存儲 (software defined storage,SDS)應運而生。
SDS的概念最早由VMware在2012年的VMworld上提出,作為VMware軟件定義數據中心五大組成部分 (計算、存儲、網絡、管理和安全)中的一項,逐漸進入人們的視野。隨后,EMC公司在當年的EMCworld發布大會上發布了SDS戰略,引發了業界對EMC這一策略以及SDS的大討論,SDS迅速成為存儲業界的研究熱點。
SDS與軟件定義網絡 (software defined network,SDN)以及軟件定義數據中心 (software defined data center,SDDC)的概念頗為相似,但由于SDS的發展時間較短,目前業界對SDS并沒有形成統一的定義。
IDC通過對SDS市場的深入了解和研究,對SDS定義如下:SDS將數據中心或者跨數據中心的各種存儲資源抽象化、池化,以服務的形式提供給應用,滿足應用按需(如容量、性能、QoS、SLA等)自動化使用存儲的需求。
DMTF(desktop management task force)則認為 SDS 是由智能軟件,而不是由存儲硬件直接提供存儲管理和自動化的基礎設施。存儲池的基礎設施資源,在一個軟件定義的存儲環境中可以自動有效地分配,以符合企業的應用需求。
雖然兩者的定義有所不同,但從本質上看,SDS應如同一個生態系統,它將存儲的功能從傳統存儲系統中抽象出來,通過軟件實現,從存儲系統中抽離出來單獨部署,不再是硬件設備上的固件,通過軟件定義,可管理來自不同廠商的所有的物理和虛擬存儲資源,并按需進行自動配置。
軟件定義存儲應具有以下特征。
通過定義標準的應用編程接口(API),進行存儲的配置,可以滿足應用程序和客戶所需要的存儲資源,無需人工干預。雖然這種形式的配置在公共云存儲環境中(如Amazon S3和新興的云計算平臺OpenStack)已經十分常見,但在企業的IT環境中還未實現。一些存儲廠商,包括EMC公司、惠普和NetApp,正逐漸提供基于 API的配置,這種自服務特征將極大地方便應用系統管理員的配置和應用的集成,并有效地降低管理成本。
存儲虛擬化可以聚合異構存儲資源到一個共享的存儲池,打破傳統存儲系統煙囪式的現狀,使所有存儲設備中的存儲容量得以充分利用,存儲虛擬化可以實現數據跨異構孤島,在因硬件故障進行數據遷移時,實現數據的無縫遷移,并方便管理。
SDS可以對外提供豐富的數據接口,如文件系統接口(NFS、CIFS 等 )、塊 接 口 (iSCSI、FC 等 )、對 象 接 口 (S3、SWIFT等)以及可以供大數據分析的HDFS接口。豐富的數據接口可以為應用在存儲的接口和協議方面提供更多的選擇。
SDS的一個優勢在于對異構存儲設備的整合,不同類型的存儲系統(如NAS、SAN、對象存儲等)以及不同廠商的存儲設備可以實現快速的接入和統一管理,這為存儲虛擬化提供了豐富的存儲資源,也為建立全局的管理視圖創造了條件。
“基于軟件的平臺會繼續比基于文件或者基于對象的其他存儲市場部分發展得更快,這種成長主要被跨行業和地域、豐富多樣、密集的數據所驅動。”IDC研究主任Nadkarni A在一篇聲明中提到。而事實上,目前僅是軟件定義存儲的開端,由于傳統異構存儲設備之間的實現機制迥異,大存儲廠商并未真正實現異構兼容,軟件定義存儲的研究正處于起步階段。
作為對傳統存儲行業的顛覆性技術,SDS在定義、體系架構和管理接口等方面亟需一系列的標準進行規范,標準化工作對推動SDS的發展起著至關重要的作用,但目前,國內研究機構對SDS的標準化工作還沒有提上日程,國際研究機構對SDS的標準化工作還在研究過程中,相關研究狀況如下。
·IDC在 2013年 4月對外正式發布文檔“IDC’s Worldwide Software-Based (Software-Defined)Storage Taxonomy”,其中對SDS的定義進行闡述,并提出了SDS的評估方法以及在通用硬件上利用軟件構建一個高可擴展性存儲平臺的解決方案。
·DMTF在2013年5月成立了一個孵化項目SDDC Incubator,SDS作為其中一部分,目前正在研究過程中。
·Open Storage開源社區在2013年10月舉辦了“Open Storage Summit 2013”大會上,組織各企業一起討論SDS的定義,但還沒有實質性東西輸出。
除學術研究團體對SDS技術展開廣泛研究外,商業公司對SDS技術跟進和產品研發均產生了濃厚興趣,并進行了積極實踐,但由于各家對SDS的理解不同,其SDS的系統架構設計也有所不同。目前,對SDS進行深入研究的公司可以分為以下3類。
(1)傳統的存儲設備廠商(如EMC公司、華為技術和NetApp)
·EMC公司的SDS通過存儲虛擬化平臺將物理陣列中的存儲(無論是基于文件、塊還是對象)抽象為虛擬共享存儲資源池,從而跨物理陣列實現靈活的存儲使用模型,并提供應用程序和創新型數據服務。存儲虛擬化平臺從底層硬件陣列抽象出存儲控制路徑,以便可以在軟件中集中執行多供應商存儲基礎架構的訪問和管理。EMC公司的軟件定義存儲系統具有控制路徑和數據路徑、控制路徑設置和管理存儲設備的策略,而數據路徑執行實際讀取、寫入和數據服務。
·華為技術從業務驅動存儲(service-driven storage)角度理解和研究SDS,即系統根據業務的定制化要求(主要指性能、可靠性及數據的一致性方面),將相關的控制策略下發給控制平面和數據平面,聯動實現用戶存儲的定制化。與EMC公司不同的是,其將軟件定義存儲系統分為3個平面:管理平面、控制平面和數據平面。異構陣列則通過接入層統一接入數據平面,業務側的請求統一由控制平面根據存儲策略進行自動分配。
·NetApp的SDS主要通過其集群操作系統Data ONTAP對底層的異構存儲進行統一管理,并實現存儲資源的策略配置以及提供可編程API,實現應用程序自定義和工作流自動化,所有的異構存儲設備通過NetApp設備接入。目前,NetApp的ONTAP產品主要支持塊和文件存儲接口,對對象存儲支持較弱;兼容硬件支持列表中,主要是NetApp認證的存儲設備。
(2)虛擬化解決方案廠商(如VMware)
作為虛擬化操作系統的龍頭老大,VMware在 SDS相關產品中,更多地關注異構存儲如何為虛擬機使用,以應用為中心的策略,可實現存儲使用自動化,對異構存儲池中的所有資源制定一致的策略,使存儲的使用像為每個應用或虛擬機指定容量、性能和可用性要求那樣簡單。這種基于策略的自動化最大限度地利用了底層存儲資源,同時將管理開銷降至最低。數據服務(如快照、克隆和復制)作為虛擬數據服務在軟件中交付,并按虛擬機進行調配和管理,獨立于底層存儲硬件使得這些服務的分配極其敏捷和靈活。
(3)初創的存儲軟件公司(如先智)
存儲功能軟件化在打破傳統存儲設備廠商既有利益格局的過程中將發揮十分重要的作用,這也為許多初創的存儲軟件公司提供了參與存儲產業鏈的機會。先智的SDS主要基于OpenStack的塊存儲組件Cinder,將SDS架構設計為3個層次:接口層、管理層和存儲聯邦層。其中,接口層對應用提供存儲管理接口及塊存儲接口,管理層提供資源管理、認證、統計及監控等管理功能,而存儲聯邦層提供異構存儲設備的接入和管理。
(1)實現面向應用的專業化管理策略
傳統存儲系統存儲資源與應用獨立,存儲資源利用效率低,在新的存儲系統設計中要做到資源整合并且針對應用進行專業化的策略管理,根據應用的變化進行彈性配額;同時,存儲系統必須提供基于容器的多層次租戶/應用隔離技術,通過物理隔離與權限控制相結合,實現以用戶為單位、以業務為單位以及以存儲容器為單位的數據隔離。
(2)系統全局自動負載均衡和智能調度
大數據時代下,新的存儲系統中的物理存儲主機節點規模從幾萬個到幾十萬個,多為數據密集型應用,面對超大規模的數據請求和節點數量,應高效進行節點負載均衡,充分發揮空閑節點的作用,保障高水平服務質量,提高系統運行效能。
存儲系統應按照存儲設備的相關特性 (如存儲容量、設備類型、性能指標等)為業務選擇最合適的存儲資源,并按照存儲設備的I/O空閑程度等信息對應用進行基于服務質量的多層次自動負載均衡與調度功能。
(3)存儲設備在線擴展和收縮
在存儲設備的使用過程中,會遇到調整存儲資源池的需求,要求存儲資源池根據業務的需求增加或者減少存儲設備。在調整的過程中,盡量減少對業務的影響,即業務不能被中斷。
(4)跨數據中心的存儲資源統一管理
大規模級別存儲系統的構建隨著數據的爆炸性增長,存儲的規模越來越大。傳統存儲通常是在一個設備、一個機架或一個數據中心內完成資源組織管理,而當存儲容量上升到EB級或 ZB級后存儲很難在一個數據中心內完成。大規模的存儲需要跨數據中心,跨城市、省甚至國家進行存儲設備、存儲數據、存儲服務的組織和管理,并支持跨域的訪問、備份、容災等功能。
基于以上需求分析,結合軟件定義存儲的特征,筆者認為在設計軟件定義存儲的系統時,需要著重考慮軟硬件的解耦、靈活的存儲配置策略、多樣化的存儲能力供給以及存儲資源的彈性擴展等因素,軟件定義存儲的參考架構如圖1所示。

圖1 軟件定義存儲參考架構
軟件定義存儲系統主要由以下4層組成:訪問接口層、軟件定義存儲層、存儲適配層以及存儲資源池,每一層扮演著不同的角色,功能也有所不同。
(1)訪問接口層
此層包括管理接口和數據接口,管理接口主要提供與自服務門戶、管理門戶以及外部計費系統的管理接口;而數據接口則通過協議轉換的方式,為外部應用提供豐富的數據接口,如對象接口、文件接口、HDFS接口以及塊接口等。
(2)軟件定義存儲層
此層是軟件定義存儲系統中十分重要的一層,通過軟件對底層存儲資源進行池化和統一管理,并基于存儲設備的性能、可靠性等指標進行相關策略配置,為不同的應用選擇合適的存儲資源;同時,此層通過軟件定義可以實現或者提升傳統存儲設備的相關功能,如去重、快照、數據復制以及壓縮加密等。
(3)存儲適配層
存儲適配層主要通過多種訪問接口實現對底層異構存儲設備之間的訪問。目前,可以通過全球網絡存儲工業協會(Storage Networking Industry Association,SNIA)定義的SMI-S協議和CDMI實現對存儲設備的訪問,但異構存儲設備之間的互通性需要標準化組織的進一步推進;同時,存儲適配層也支持第三方專有的訪問接口,通過專有的訪問接口,存儲設備的相關高級功能特性能夠被充分地發揮。
(4)存儲資源池
存儲資源池中涵蓋了業界主流的存儲類型:高性能的SAN存儲、高擴展性的NAS存儲以及兼具二者特性的對象存儲,這些存儲設備都作為軟件定義存儲資源池中的組成部分,由上層的軟件定義存儲層進行統一管理和統一調度,通過訪問接口層中的數據接口,為外部的應用提供存儲服務。
SDS的實現并非一步到位,需要分以下3個階段。
階段一:存儲資源虛擬化,簡化存儲配置,降低管理成本。
此階段需要結合應用系統對存儲的需求,分析目前存儲資源的使用狀況,調整未來的購置計劃,進行存儲資源的合理配置,對企業內部的存儲資源按照性能、可靠性等進行分級,通過存儲虛擬化手段,將企業內部已有的跨越多個廠商的異構存儲、DAS資源、SSD資源整合為統一的存儲資源池,以便于應用調用;同時,通過定義相關API,簡化存儲配置,實現應用系統直接訪問存儲資源。
存儲資源全局管理視圖的建立將存儲管理員從繁瑣的存儲配置瑣事中解脫出來,可以集中管理后端基礎設施,通過在容量、性能、可靠性等方面對存儲資源的組織,可以更加有效地滿足應用系統對存儲資源的需求。
階段二:存儲功能軟件化,實現軟硬件解耦合,降低設備采購成本。
此階段主要在統一的存儲資源池上,構建完善的存儲軟件層,將傳統存儲的功能特性(如快照、精簡配置以及去重等)提升到軟件層次,存儲功能的實現將不依賴于廠商自身的存儲設備,以實現存儲特性與存儲硬件的解耦;同時,存儲功能軟件化將支持第三方軟件的無縫接入,支持用戶的自定義開發,更多的存儲功能創新通過軟件定義的方式出現。
階段三:基于通用硬件,提升軟件定義存儲的普適性。
在通用硬件的基礎上,存儲功能完全軟件化,文件、塊和對象存儲設備將在通用的CPU、內存、硬盤驅動器上按需創建、靈活擴展。軟件定義存儲功能的不斷完善和成熟,使通用硬件構建底層存儲資源池成為可能,基于通用的硬件,搭載純軟件的產品將提供更大的靈活性。
2011年8月網景瀏覽器的創始人Andreessen M在華爾街日報上發表了題為 “為什么軟件正吞噬整個世界”的文章,拉開了“軟件主世”的序幕,SDN等新概念橫空出世和日漸成熟,讓大家看到了下一代數據中心的雛形,也讓業界對SDS未來的發展充滿了信心。然而,SDS的起步稍晚,標準化的研究以及產品的研發尚處在起步階段,再加上傳統存儲廠商由于各自利益,對SDS的發展戰略尚不明晰,SDS的發展仍然需要一定的時間。但隨著移動互聯網和大數據時代的來臨,作為下一代數據中心的關鍵能力——軟件定義存儲會更加靈活、高效,也將會不斷向成熟、標準化和可實現的方向發展。
1 Nadkarni A,DuBois L,Sheppard E.IDC’s worldwide soft ware based (software-defined)storage taxonomy.http://www.idc.com/getdoc.jsp containerId=240500,2013
2 Baltazar H.Software-defined storage will sound the death knell for traditional storage provisioning.http://www.netapp.com/us/system/pdf-reader.aspx pdfuri =tcm:10-115115-16&m =wp-soft ware defined-storage-forrester.pdf,2013
3 Fichera R,Washburn D.The software-defined data center is the future of infrastructure architecture.http://www.forrester.com/The+SoftwareDefined+Data+Center+Is+The+Future+Of+Infrastructure+Architecture/fulltext/-/E-RES81941,2012
4 IDC bringsclarity to software-based/software-defined storage markets.http://www.idc.com/getdoc.jsp?containerId=prUS24068713,2012
5 Lecat J.Is “software-defined” just a new way to whitewash old productshttp://www.scality.com/is-software-defined-just-a-new-wayto-whitewash-old-products/,2012
6 Forrsights hardware survey Q32012.http://www.forrester.com/Forrsights+Hardware+Survey+Q3+2012/-/E-SUS1631,2012
7 Fichera R,KindnessA,BartolettiD,etal.Optimize IT infrastructure around key workloads.http://www.forrester.com/Optimize+IT+Infrastructure+Around+Key+Workloads/fulltext/-/E-RES61565,2012
8 Schreck G,Cullen A,Cahill M.Planning for Cloud 2.0.http://www.forrester.com/Planning+For+Cloud+20/fulltext/-/E-RES59855,2011
9 And rewsC,RossCF,GrannanM.Self-provisioning change straditional sourcing practices.http://www.forrester.com/SelfProvisioning+Changes+Traditional+Sourcing+Practices/fulltext/-/E-RES58084?docid=58084&src=RSS_2&cm_mmc=Forrester-_-RSS-_-Document-_-12,2011
10 軟件定義新一代數據中心——VMworld 2012大會側記.http://www.zcom.com/article/83373/,2012
11 VMware推新VMware VSAN對軟件定義存儲進行了擴展.http://www.d1net.com/storage/solution/233736.html,2013
12 EMC發布全新軟件定義存儲平臺ViPR.http://storage.chinabyte.com/146/12608146.shtml,2013
13 陳杰.大數據場景下的云存儲技術與應用.中興通訊技術,2012(6)
14 Andreessen M.Why software is eating the world.http://online.wsj.com/news/articles/SB10001424053111903480904576512250915629460,2011