2011年8月21日,Netscape創始人馬克·安德森(Marc Andreessen,硅谷著名投資人,投資了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在華爾街日報上發表《軟件正在吞噬整個世界》,認為當今的軟件應用無所不在,并且正在吞噬整個世界:“越來越多的大型企業及行業將離不開軟件,網絡服務將無所不在,從電影、農業到國防。許多贏家將是硅谷式的創新科技公司,它們侵入并推翻了已經建立起來的行業結構。未來十年,我預計將有更多的行業被軟件所瓦解。”安德森以亞馬遜顛覆圖書零售巨頭Borders(已于2011年2月破產)、Netflix顛覆視頻行業、蘋果顛覆音樂行業、Skype顛覆電信行業、LinkedIn顛覆招聘、PayPal顛覆支付等為例,并指出基于互聯網的服務,將讓新創建全球性軟件初創公司變得容易。
2013年10月,Gartner發布的2014年十大戰略技術中,重要組成部分就有:軟件定義一切。Gartner認為:軟件定義一切囊括了在基礎設施可編程性標準提升下不斷增長的市場勢頭、由
云計算內在自動化驅動的數據中心互通性、DevOps和快速的基礎設施提供等。軟件定義一切還包括各種舉措,如OpenStack、Open Flow、Open Compute Project和Open Rack,共享相同的愿景。開放性將成為供應商的目標,SDN(網絡)、SDDC(數據中心)、SDS(存儲)和SDI(基礎架構)技術的供應商都力圖成為所在領域的領導。
那么,什么是軟件定義? 難道以前沒有軟件定義? 都是硬件定義嗎?
我們先來看一下,什么是軟件?
軟件是用戶與硬件之間的接口界面。用戶主要是通過軟件與硬件進行交流。
早期,為了大規模生產,降低制造的復雜度和成本。許多功能都固化在硬件里,我們可以稱之為硬件定義。隨著人民日益增長的多樣化、個性化定制的需求,以及云計算所要求的,更加智能、更加靈活的自動化的需求,由軟件定義來操控硬件資源的需求將越來越多、越來越廣。
最早的空調里面也有軟件,但相對固化,不提供或者提供非常少的接口,缺乏靈活性。那時,我們只能選擇溫度,或者開關;后來出現了更多的選擇,如風速、風向等的設定。到了智能家居的時代,通過向應用軟件開放空調的編程接口,使得我們能在回家之前,就借助手機或者平板,開啟并設置空調了。
軟件定義,究其本質,就是將原來高度耦合的一體化硬件,通過標準化、抽象化(虛擬化),解耦成不同的部件。圍繞這些部件,建立起虛擬化軟件層,以API(應用編程接口)的方式,實現原來硬件才提供的功能。再由管理控制軟件,自動地進行硬件資源的部署、優化和管理,提供高度的靈活性,為應用提供服務。
簡而言之,就是更多地由軟件來驅動并控制硬件資源。
需要注意的是,軟件定義其實是一個過程,不是一蹴而就的目標,它分成不同階段。軟件定義逐漸將硬件與軟件進行解耦,將硬件的可操控成分按需求,分階段的,通過編程接口或者以服務的方式逐步暴露給應用,分階段地滿足應用對資源的不同程度、不同廣度的靈活調用。
什么是軟件定義存儲?
當我們討論軟件定義存儲的時候,避免不了要先回顧一下軟件定義這個詞匯出現的歷史。
在IT基礎架構領域,最早出現的軟件定義,是軟件定義網絡(Software Defined Network)。SDN起源于2006年斯坦福大學的C
LEAN Slate研究課題。2009年,Mckeown教授正式提出了SDN概念。通過將網絡設備的控制平面與數據平面分離開來,并實現可編程化控制,實現了網絡流量的靈活控制,為核心網絡及應用的創新提供了良好的平臺。
隨后,在2012年8月,VMware在其VMworld 2012大會上首次提出軟件定義數據中心(Software Defined Data Center,簡稱SDDC)的概念。
VMware認為,軟件定義的數據中心,是 IT 演變的下一個階段,是迄今為止最有效、恢復能力最強和最經濟高效的云計算基礎架構方法。SDDC方法論將對存儲、網絡連接、安全和可用性應用抽象、池化和自動化,整個數據中心由軟件自動控制。 基礎架構提供的服務將聚合起來,并與基于策略的智能調配、自動化和監控功能結合在一起使用。應用編程接口和其他連接器支持無縫延展到私有云、混合云和公有云平臺。
總結一下,SDDC概念的核心包括:
軟件定義的數據中心由軟件自動控制;
軟件定義包括三個階段:抽象、池化和自動化;
軟件定義的數據中心包括五大組成部分:計算、存儲、網絡、管理和安全。
作為VMware軟件定義數據中心五大組成部分之一,軟件定義存儲(Software Defined Storage,簡稱SDS)的概念也在全球范圍內,首次被提出。
VMware認為:軟件定義的存儲產品是一個將硬件抽象化的解決方案,它使你可以輕松地將所有資源池化并通過一個友好的用戶界面(UI)或API來提供給消費者。一個軟件定義的存儲的解決方案使得你可以在不增加任何工作量的情況下進行縱向擴展(Scale-Up)或橫向擴展(Scale-Out)。
實際上,SDS的定義出現至今已經三年多了,但仍沒有統一的標準,VMware的定義也只是一家之言。各家權威咨詢機構,各大廠商,都對這一概念有著不同的定義或描述。下面我們再來看看SNIA對SDS描述。SNIA是Storage Networking Industry Association的簡稱,也即全球網絡存儲工業協會,做為曾經制定過SAN,NAS,對象存儲,云存儲等標準的第三方協會,我們有理由相信,SNIA對SDS的看法比較權威。其內容也確實有助于大家更深刻地理解SDS。
SNIA在SDS的定義中提到,SDS允許異構的或者專有的平臺。必須滿足的是,這個平臺能夠提供部署和管理其虛擬存儲空間的自助服務接口。除此之外,SDS應該包括:
自動化:簡化管理,降低維護存儲架構的成本;
標準接口:提供應用編程接口,用于管理、部署和維護存儲設備和存儲服務;
虛擬數據路徑:提供塊、文件和對象的接口,支持應用通過這些接口寫入數據;
擴展性:無需中斷應用,也能提供可靠性和性能的無縫擴展;
透明性:提供存儲消費者對存儲使用狀況及成本的監控和管理。
SNIA認為,存儲服務的接口需要允許數據擁有者(存儲用戶)同時表達,對于數據和所需服務水準的需求。數據的需求,就是SDS建立在數據路徑(Data Path)的虛擬化,而控制路徑(Control Path)也需要被抽象化成為存儲服務。云、數據中心和存儲系統,或者數據管理員能夠被用于部署這個服務(指Control Path)。
在SNIA對SDS的看法中,貢獻最大,也是最有價值的部分,應該是SNIA關于Data Path(數據路徑)和Control Path(控制路徑),以及手動傳送數據請求和應用通過元數據來傳送請求的的對比描述。它幫助大家清晰地了解了兩者的的區別,并描繪了未來理想的SDS的藍圖,為如何發展SDS指明了方向。
SDS包括數據路徑和控制路徑。數據路徑由以往的標準接口(塊、文件和對象)組成。那么控制路徑呢?在傳統存儲中,其實就是指存儲管理員為數據提供部署數據的服務。在使用傳統存儲的大多數情況下,每一個數據服務有著各自的管理接口。變更數據服務,會導致所有存放在相應虛擬存儲空間的數據都受到影響。
1.傳統方式下傳遞數據請求的方式
如圖上所示,存儲用戶的控制路徑是在帶外,通過傳統、人工的方式將數據請求傳遞給存儲管理員,例如對于數據保護、可用性、性能、安全性的要求。存儲管理員進入存儲管理界面,按存儲用戶的請求分配存儲資源。
這種情況是當前普遍存在的主流方式。其實是:存儲管理員定義。
這種存儲部署方式存在一個最大的問題,擴容或升級非常艱難。由于剛性架構限制系統資源只能靜態分配,這就意味著后續新部署的資源難以歸入原先存儲體系。
2.理想方式下傳遞數據請求的方式
如上圖所示,理想的SDS,其傳遞數據請求的方式是:讓應用通過元數據來請求相應的數據服務。如,空間部署,數據保護(快照、克隆),數據高可用(容災、雙活),性能,安全等。
理想的SDS實現了存儲基礎架構的自動化機制,極大地降低了人工管理運維成本,數據請求需直接傳達至自動化軟件。它能夠直接應對請求,分配應用人員所需的存儲資源,而無需人工干預。存儲管理員可以從枯燥重復的建卷、映射卷等工作中,從疲于修補那些導致存儲服務水準降低的突發故障中,脫身出來,轉向更高級的任務,例如定義存儲策略。
3.SNIA之SDS全局示意圖
存儲管理
將來自服務器本地的閃存盤、機械盤,存儲陣列,JBOD等存儲資源,通過存儲管理協議(如SMI-S等),進行特性描述和虛擬化,構建出存儲資源池。
數據服務
存儲資源池化后,數據服務即可按照用戶對存儲服務級別(如金銀銅)的要求提供。數據服務包含:空間部署、數據保護、數據可用性、性能、數據安全性。
數據請求
存儲資源的使用者,如軟件開發人員通過數據管理接口(如CDMI),向SDS發起數據請求。由于SDS開放了豐富的API供調用,因此SDS能夠滿足用戶的數據請求,按照服務級別,提供相應的存儲資源。
除了VMware、SNIA之外,Gartner、IDC,以及EMC、IBM、HP、DELL等,都提出了各自對SDS的定義或闡述。雖然每家對SDS的定義都各有不同,但易于擴展(主要指在線橫向擴展)、自動化、基于策略或者應用的驅動都幾乎都成為大家定義中的必備特征。而這也是軟件定義數據中心的重要特征,只有具備自動化的能力,才能實現敏捷交付,簡單管理,節省部署和運維成本。自動化也成為各家SDS方案,是否愿意走向更高階段的試金石。
SDS的分類
軟件定義存儲的概念很大。我們所熟知的,存儲虛擬化、Server SAN、超融合架構(HCI)都是SDS的一部分。
1. Control Plane(控制平面)
在SDS Control Plane這一層,比較著名的有:
VMware SPBM (Storage Policy Base Management, 基于存儲策略的管理);
OpenStack Cinder 。Cinder是OpenStack云平臺的一個組件,用來提供塊存儲服務;
EMC ViPR。目標是實現EMC存儲、異構存儲、商用硬件本地存儲資源的存儲虛擬化(包括互操作性);
ProphetStor(希智)的Federator;
FalconStor(飛康)的Freestor;
2.Data Plane(數據平面)
在SDS Data Plane這一層,比較復雜,組成部分較多。
Based on Commodity Hardware(基于商用的硬件)
其實,這一部分是最難分類的,種類繁多,命名還不容易。首先,筆者認為超融合架構(HCI)是Server SAN的一個子集。
另外想說明的是,Based on Commodity Hardware這個分類里,包括了IDC分類中Virtual Storage Appliance(簡稱VSA,存儲控制器運行在虛機上)和Physical Storage Appliance兩類,注意在這個分類里,后者并不包括傳統的外置磁盤陣列。我們知道,控制平面與數據平面的分離之意義大于硬件與軟件的分離。因此,部署方式的這兩種不同,并沒有帶來本質的差異。舉例來說,VSAN FS(VSAN File System)之于EVO:RAIL,NDFS(Nutanix Distributed File System)之于Nutanix一體機,差別僅在于是否與硬件捆綁,共同點在于都是基于商用的硬件,將分布式存儲資源池化,且基于Hypervisor。所以,VSAN, EVO:RAIL,Nutanix都屬于Server SAN的分類里,而且由于它們都不僅提供存儲資源,還提供計算資源,所以還屬于超融合架構這個子類里。
超融合架構里,比較著名的有:VMware VSAN或EVO:RAIL、EMC ScaleIO、Nutanix、Maxta、SimpliVity、Scale Computing、Pivot3;國內有:華為FusionStorage、志凌海納SmartX、青云HCI、深信服HCI等;開源的有Open vStorage(類似Nutanix架構);
在Server SAN里,非超融合架構(也即不提供計算資源)的有DELL Fluid Cache、HP StorVirtual、RedHat Inktank Ceph、Microsoft Storage Spaces等,以及達沃時代、StorWind、大道運行SSAN等;還包括分布式文件系統,如GPFS、Lustre、Panasas等;
筆者認為Server SAN在它的原始定義里,應該是一個橫向擴展的分布式存儲,它至少需要支持3個以上節點。這樣,對于那些僅支持兩個控制器做為集群的存儲,就不在Server SAN這個分類里了。不過,它們依然屬于軟件定義存儲這個大的分類里。這類存儲有:DataCore、Nexenta、國內的InfoCore(信核),還有其他支持Solaris ZFS的存儲,如開源的FreeNAS、NAS4Free。
Traditional SAN/NAS(External Storage)
指的是傳統的外置磁盤陣列,包括SAN存儲或者NAS存儲。例如:EMC VNX,NetApp FAS系列,HDS HUS, DELL SC系列和PS系列,HP 3PAR,IBM V系列和DS系列,華為OceanStor系列等。這些存儲勁旅,不甘人后,也紛紛加入到SDS浪潮里,采取的方式有:
一是與Control Plane更多的API對接,例如,支持VMware SPBM之下的Virtual Volumes,再如,支持OpenStack Cinder等;
二是通過收購或自己研發,去逐步實現SDS抽象(解耦)、池化、自動化的階段,典型的就有HP將LeftHand與原有硬件解耦,形成VSA版StorVirtual;NetApp推出Data ONTAP的VSA版ONTAP Edge VSA;IBM推出XIV的軟件版Spectrum Accelerate;EMC推出VNX的虛擬化版本 vVNX等。另外,DELL的Fluid Cache脫胎于之前收購的內存虛擬化軟件RNA,本身已經具備抽象池化的SDS基因。相信隨著SDS的浪潮,會有越來越多的傳統大牌存儲廠商推出類似的方案。
Cloud/Object Storage
它作為Data Plane的組成部分,實際上是以后端存儲的身份為VM/App提供存儲資源。
VM/App可以通過RESTful API等接口與對象存儲進行數據的輸入輸出,目前有三種RESTful API:亞馬遜S3、SNIA CDMI和OpenStack SWIFT。
從云存儲來看,隨著混合云的逐漸深入,用戶自然會期待在自己的私有云和公有云之間,能夠實現除了在VM/App級別,在存儲級別,也能實現如同本地數據中心之間的同構存儲之間的高級功能,例如備份、歸檔和容災。此時,運行在公有云之上的VSA,也即虛擬存儲控制器(其實與在Hypervisor之上的VSA相類似),即可與本地存儲建立數據連接。
以NetApp的Cloud ONTAP為例。它是在AWS EC2的實例中運行Data ONTAP(FAS存儲的操作系統)軟件,充當虛擬存儲控制器,對下接管AWS EBS作為自己的存儲空間,對上給運行業務應用的EC2實例提供存儲服務,包括塊(iSCSI)和文件(NFS、CIFS)。
我們知道,把NetApp的FAS存儲直接放到AWS或Microsoft Azure里去,是不太現實的。NetApp通過軟件定義的方法,把存儲控制器做成虛機,后端磁盤柜換成塊存儲服務(AWS EBS),為業務虛機提供專業的、高級的存儲服務。
類似的還有SoftNAS,也是以虛機方式運行在AWS EC2實例上,可以為運行業務應用的EC2實例提供包括塊(iSCSI)和文件(NFS、CIFS)的存儲服務。
其實,談到軟件定義,無論SDN、SDS,都離不開控制平面Control Plane,數據平面Data Plane的提法。控制平面負責數據調度,實現自動化;而數據平面負責數據處理和數據優化,負責抽象和虛池化。
最近兩年流行的概念 - Server SAN目前還只是圍繞著數據平面做些工作,是當前階段SDS的主要形態,離理想的SDS尚有一些距離。不過,我們也注意到,已經有一些Server SAN在控制平面做些工作了,例如嘗試與VMware SPBM(主要指Virtual Volume),或者OpenStack Cinder對接。
可以肯定的是,在最近幾年內,Server SAN仍然是充滿著創業生機的沃土,與之相關的初創公司(包括HCI,也即超融合架構)會如同雨后春筍般冒出來。但是,需要注意的是,在數據中心三大基礎架構中,存儲相對于服務器和網絡,是最難被替換的,因為它是數據的命脈。初創公司存儲的安全性(數據不丟失)、穩定性是首要需要保證的。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.guhuozai8.cn/
本文標題:軟件定義存儲究竟是啥?
本文網址:http://m.guhuozai8.cn/html/support/11121520093.html