2013中國(guó)存儲(chǔ)峰會(huì)

今年是DOIT正式成立十周年,也是中國(guó)存儲(chǔ)峰會(huì)連續(xù)舉辦第九年。十年前成立DOIT傳媒時(shí),還沒(méi)有Facebook、微博和微信,轉(zhuǎn)眼十年過(guò)去了,互聯(lián)網(wǎng)和IT技術(shù)都發(fā)生了翻天覆地的變化。也正在經(jīng)歷從傳統(tǒng)互聯(lián)網(wǎng)向移動(dòng)互聯(lián)網(wǎng)變革的過(guò)程,IT技術(shù)正在越來(lái)越融合,云計(jì)算、大數(shù)據(jù)的興起,社交網(wǎng)絡(luò)和海量數(shù)據(jù)的出現(xiàn)使傳統(tǒng)企業(yè)IT架構(gòu)越來(lái)越難以滿(mǎn)足需求。

軟件定義數(shù)據(jù)中心最近比較火,到底什么是軟件定義?有硬件定義么?誰(shuí)定義了誰(shuí)?軟件定義是新概念么?《大話(huà)存儲(chǔ)2》作者張冬為您闡釋他所理解的“軟件定義”。

 

《大話(huà)存儲(chǔ)》作者冬瓜頭張冬

在業(yè)界看來(lái),想玩轉(zhuǎn)存儲(chǔ),一般至少要看一下《大話(huà)存儲(chǔ)》這本書(shū),而今天,這本書(shū)的作者,網(wǎng)絡(luò)人氣頗高的存儲(chǔ)意見(jiàn)領(lǐng)袖@冬瓜頭張冬,也來(lái)到了2013中國(guó)存儲(chǔ)峰會(huì)的現(xiàn)場(chǎng),并在軟件定義數(shù)據(jù)中心分論壇分享了《軟件定義,無(wú)處不在無(wú)時(shí)不有》的主題演講。

另外,與以往會(huì)議不一樣的是,在本次會(huì)場(chǎng)的最后,現(xiàn)場(chǎng)觀眾沒(méi)有陸續(xù)減少,反而陸續(xù)有人進(jìn)場(chǎng),這我想這就是內(nèi)容的影響力。

那么,在張冬看來(lái),軟件定義數(shù)據(jù)中心到底是怎么回事呢?

沒(méi)有概念的炒作,也沒(méi)有產(chǎn)品的宣傳推廣,今天,冬瓜頭張冬以一個(gè)嚴(yán)謹(jǐn)真誠(chéng)地學(xué)術(shù)的角度,做了一場(chǎng)實(shí)實(shí)在在的干貨分享,識(shí)貨的,趕緊mark!

以下是演講實(shí)錄:

非常榮幸今天有這個(gè)機(jī)會(huì)給大家做這次演講,那么我現(xiàn)在是在PMC公司工作,但是我這個(gè)演講完全是個(gè)人的一些觀點(diǎn),跟公司跟廠商沒(méi)有任何關(guān)系。剛才聽(tīng)了Nutanix的同行介紹,有一些我感覺(jué)非常共鳴,尤其他剛才說(shuō)到SAN控制器,你翻開(kāi)SAN主板你看一下它的CPU跟你現(xiàn)在用的到底哪個(gè)更新。我今天這個(gè)主題叫做軟件定義,無(wú)處不在無(wú)時(shí)不有,其實(shí)軟件定義這個(gè)概念,也是去年或者前年炒起來(lái)的,不知道被誰(shuí)出來(lái)這么個(gè)詞,剛才主持人已經(jīng)介紹了我就不再多做介紹了,那么軟件定義這個(gè)概念的起源,是從SDN這三個(gè)字母起源的就是軟件定義網(wǎng)絡(luò),那么之前網(wǎng)絡(luò)是什么樣呢?之前網(wǎng)絡(luò)就是硬件底層接口一直到上面路由,為什么叫軟件定義,有一幫人不管是用戶(hù)還是運(yùn)營(yíng)商還是大學(xué)里面的教授還是MIT的天才,他們對(duì)這個(gè)產(chǎn)品有自己的訴求,比方說(shuō)我沒(méi)有這個(gè)能力來(lái)做底下高速的編碼接口,但是我腦子里有一些思想,我這個(gè)路由協(xié)議要改一改,我那個(gè)算法要改一改,這些都是很上層的功能,那么傳統(tǒng)這些做網(wǎng)絡(luò)路由器交換機(jī)的廠商,比如思科還有國(guó)內(nèi)的廠商,他們軟件開(kāi)發(fā)的時(shí)候不是那么容易就能滿(mǎn)足用戶(hù)所有需求,廠商的規(guī)劃總是慢于用戶(hù)的需求,而且用戶(hù)的需求是百般多樣的,不能用一兩種產(chǎn)品滿(mǎn)足所有用戶(hù),那么這部分用戶(hù)就發(fā)起了我們要軟件定義你的設(shè)備,你提供硬件我提供軟件,或者你把你軟件開(kāi)發(fā)接口提供給我,我來(lái)開(kāi)發(fā)軟件,那對(duì)于傳統(tǒng)軟件是不接受的,我本來(lái)身體有大腦,有軀干,你現(xiàn)在把大腦拿掉,我就是一堆爛鐵,廠商肯定是抵觸的。

那么SDN這個(gè)詞我自己理解了一下就是上面看到了這個(gè)應(yīng)該說(shuō)是技術(shù)叫法,那軟件定義又出來(lái)了這就是SDN市場(chǎng)名詞,那么軟件定義真正目的我個(gè)人看法,其實(shí)這些硬件廠商不管是網(wǎng)絡(luò)還是存儲(chǔ)還是什么設(shè)備廠商,只要不是非常底層的設(shè)備它里面的軟硬件基本都已經(jīng)解耦了,解放軟件模塊的生產(chǎn)力。廠商早已解耦,比如最典型的軟件存儲(chǔ)廠商,不管你底下用什么存儲(chǔ)軟件,它都會(huì)給你虛擬化起來(lái),還有一個(gè)比方說(shuō)典型的廠商它的OS很早就是軟件定義的,他的廠商一開(kāi)始就是寫(xiě)軟件的廠商,再加上跟別人合作的硬件,它的模擬器直接就是內(nèi)核模擬器,所以說(shuō)這種廠商只要稍微成一點(diǎn)體系還是比較老的廠商,它的軟件都已經(jīng)解耦,軟件定義一開(kāi)始就存在,現(xiàn)在用戶(hù)開(kāi)始要求解耦。

我們看一下軟件定義這個(gè)東西誰(shuí)在炒作它,那么二線三線的存儲(chǔ)廠商集成商這些人非常喜歡這個(gè)概念,因?yàn)檫@個(gè)市場(chǎng)已經(jīng)被幾大SAN存儲(chǔ)廠商基本壟斷了,其他二三線的廠商如果產(chǎn)品往外推的話(huà)是比較難的,品牌我們有沒(méi)人敢用,所以有了這些概念之后,二三線廠商甚至一些集成商,可以拿一些開(kāi)源的東西加上一些硬件形成自己的東西,所以說(shuō)誰(shuí)在炒作它二三線廠商集成商。另外一個(gè)比較大的團(tuán)體在炒作這個(gè)概念就是互聯(lián)網(wǎng),互聯(lián)網(wǎng)的這幫企業(yè)這幫工程師,那他們?yōu)槭裁闯醋鬟@概念呢,其實(shí)他們沒(méi)必要炒作這個(gè)概念,他們一開(kāi)始就在軟件定義,2007年包括騰訊阿里巴巴他們也在用SAN,包括阿里巴巴跟錢(qián)有部分的支付寶他們也在用SAN,而且也在新采購(gòu)一些SAN,這些并不是絕對(duì)的SAN就不行,還是看應(yīng)用場(chǎng)景,所以說(shuō)他們自身在用這種軟件定義方案,那他們?yōu)槭裁从羞@個(gè)概念,他們并非是炒作主體,只不過(guò)他們這種做法被其他人拿來(lái)炒作了。

好,我們看一下整體生態(tài)的環(huán)境,那么上下游幾個(gè)角色互聯(lián)網(wǎng)企業(yè),網(wǎng)絡(luò)運(yùn)營(yíng)商,傳統(tǒng)企業(yè)客戶(hù),然后集成商,這個(gè)集成商大部分都依賴(lài)于傳統(tǒng)的企業(yè)客戶(hù)這塊來(lái)做生意。再就是底下一線二線三線廠商,到底誰(shuí)在抵觸誰(shuí)在炒作呢,剛才已經(jīng)基本描述清楚了那些關(guān)系。那么對(duì)于軟件定義這個(gè)概念,我們看一下幾個(gè)廠商的態(tài)度,當(dāng)然這是我的猜測(cè),僅代表個(gè)人觀點(diǎn)大家看一下就可以了。也就說(shuō)其實(shí)這些廠商對(duì)軟件定義,一定是各有各的態(tài)度,各有各的反映,這就不可言談了。那說(shuō)軟件定義我想先從硬件說(shuō)起,到底誰(shuí)定義了誰(shuí),對(duì)以后架構(gòu)會(huì)有什么影響,我想從源頭上談一談這個(gè)事情,那么最硬的東西是沙子(音譯),把沙子做成芯片,做成芯片的時(shí)候又有了一個(gè)層次最硬的層片就是什么數(shù)字電路。那么它實(shí)現(xiàn)邏輯非???,當(dāng)然它是不可軟件定義的,比方說(shuō)你把代碼寫(xiě)成一次,這個(gè)東西就在這兒了,就是軟件定義芯片-FPGA,軟硬解耦,用戶(hù)自行開(kāi)發(fā)邏輯,可現(xiàn)場(chǎng)更換,需要重啟,耗費(fèi)數(shù)分鐘。如果你發(fā)現(xiàn)電路里面有bug,我再把代碼重新寫(xiě)一遍,把它上傳上去。比方說(shuō)你把它定義成一塊CPU可不可以,當(dāng)然可以。

那我們?cè)侔涯X子換到存儲(chǔ)里面,說(shuō)到存儲(chǔ)里面大家可能知道RAID,一開(kāi)始相當(dāng)于把磁盤(pán)做RAID,RAID上劃分邏輯空間,那么RAID其實(shí)也是發(fā)展的,那么一開(kāi)始軟件把物理盤(pán)定義了,這算是一種軟件定義,那么后來(lái)就最近這段時(shí)間RAID2.0這個(gè)技術(shù)其實(shí)也在被炒作,RAID2.0相當(dāng)于把傳統(tǒng)RAID又給定義了,傳統(tǒng)RAID我不知道大家清不清楚RAID5義(音譯),那么RAID2.0做了什么事,把RAID5義(音譯)的條帶動(dòng)起來(lái)了,我見(jiàn)縫插針每個(gè)磁盤(pán)上有空閑空間就放到哪個(gè)磁盤(pán),那么為什么要把它浮動(dòng)起來(lái)還是為了靈魂,比方說(shuō)我可以定義條帶深度,這樣的話(huà)可以適配不同東西,那么RAID2.0浮動(dòng)起來(lái)之后把數(shù)據(jù)重構(gòu)之后這些條帶可以亂寫(xiě)的,這個(gè)時(shí)候可以做到充分的多盤(pán)并發(fā)讀并發(fā)寫(xiě),那相當(dāng)于把RAID5義做了深化,平時(shí)讀寫(xiě)的時(shí)候你發(fā)現(xiàn)要有一些代價(jià),這是RAID軟件定義思想的發(fā)展。

那么在這里我想和大家分享一下我之前所設(shè)計(jì)的一些東西,我之前沒(méi)有把它叫做應(yīng)用定義,那大家都在說(shuō)軟件定義,我可不可以再高一層,我可以來(lái)一個(gè)應(yīng)用定義,或者用戶(hù)定義存儲(chǔ),怎么用戶(hù)定義,比方說(shuō)我在這個(gè)存儲(chǔ)里面我給開(kāi)放接口,你應(yīng)用各種程序各種需求通過(guò)我的接口部署上來(lái)可以二次開(kāi)發(fā),我這算不算用戶(hù)定義,這也是一個(gè)新概念,我在這里想講一下應(yīng)用定義概念。傳統(tǒng)RAID1.0上面這圖,或者下面這圖RAID1.5,池就是RAID50,其實(shí)這都是一些概念,底層就是RAID50,那么不管是RAID1.0,還是RAID1.5它們對(duì)數(shù)據(jù)布局都沒(méi)有充分考慮,你像上面這種那么3個(gè)RAID組,邏輯資源之間無(wú)隔離性,多數(shù)場(chǎng)景下訪問(wèn)沖突。不靈活沒(méi)有解耦,那解耦之后是什么結(jié)果,我給不同應(yīng)用分配不同屬性的空間,比方說(shuō)你多路視頻,我可以把不同路視頻把它用盡量少的盤(pán)來(lái)操作沒(méi)有問(wèn)題,這樣做是沒(méi)有任何沖突的,而且不會(huì)影響其他數(shù)據(jù),當(dāng)你這個(gè)空間真正需要這種大規(guī)模訪問(wèn)時(shí)候可以把它跨到盤(pán)上,然后我可以給你提供接口。你底下是沒(méi)有被隔離的,你再擴(kuò)性能也是無(wú)濟(jì)于事,這個(gè)時(shí)候需要用擴(kuò)容來(lái)?yè)Q性能的方式。應(yīng)用定義這方面在不改變?nèi)萘壳闆r下把底下布局給變掉,相當(dāng)于一個(gè)變形金剛一樣,根據(jù)應(yīng)用來(lái)布局這個(gè)數(shù)據(jù),而且是動(dòng)態(tài)的。

這是在一個(gè)控制器內(nèi)部的一些盤(pán),同樣對(duì)于多控制器操作系統(tǒng),假設(shè)說(shuō)剛才Nutanix,那么在Nutanix多個(gè)節(jié)點(diǎn)上部署這套思想,我可以文件把邏輯空間把各種資源動(dòng)態(tài)的橫向的在各個(gè)節(jié)點(diǎn)之間做規(guī)劃,那么你根據(jù)什么去做這個(gè)規(guī)劃,你可以跟每個(gè)節(jié)點(diǎn)上面每個(gè)資源的利用率去做。那么所有這些步驟你都可以用鼠標(biāo)動(dòng)態(tài)操作,那么有了這么一種操作方式之后我們的存儲(chǔ)就不是之前傻傻提供一個(gè)卷,性能怎么差我也管不了,它是真正一款我也可以把它叫做軟件定義,現(xiàn)在我的用戶(hù)資源跟硬件完全是解耦的,而且是靈活的,我也可以把它叫做應(yīng)用定義,而且是動(dòng)態(tài)在線的。

那么我們?cè)倩貋?lái)看一下云計(jì)算,云計(jì)算這塊我不打算擴(kuò)開(kāi)說(shuō)了,云計(jì)算一直用資源定義數(shù)據(jù)中心的資源,用一個(gè)數(shù)據(jù)中心級(jí)的資源管理軟件你叫它管理軟件也好,既然是操作系統(tǒng)里面有很多模塊,當(dāng)然這是它發(fā)展的雛形,單機(jī)操作系統(tǒng)里面有進(jìn)程,內(nèi)存,對(duì)于數(shù)據(jù)中心里面每一個(gè)進(jìn)程把進(jìn)程力度擴(kuò)大了,每個(gè)進(jìn)程就是一個(gè)VI(音譯)本質(zhì)是一樣的。那么我在這里還想表達(dá)一點(diǎn)軟件定義這個(gè)概念它對(duì)上游廠商它是一個(gè)機(jī)遇,為什么是一個(gè)機(jī)遇,就說(shuō)軟硬充分解耦之后會(huì)導(dǎo)致一個(gè)什么問(wèn)題,會(huì)導(dǎo)致兩極分化,軟的更軟,軟件的人我就做軟件,硬的更硬,那么當(dāng)然你這個(gè)解耦過(guò)程中它不是說(shuō)一刀就切斷了有很多扯皮,上下倉(cāng)耦合很緊你要給它拆開(kāi)會(huì)有很多藕斷絲連,這是上游廠商的機(jī)遇,這種角色越容易別軟件定義掉,數(shù)字電路你能定義掉嗎,你拿英特爾CPU寫(xiě)一個(gè)編碼器會(huì)運(yùn)行嗎,能運(yùn)行,但隨著非常慢。對(duì)于整機(jī)廠商,它們角色更多是集成的角色,軟硬件集成,這些廠商看到危機(jī)的苗頭,所以說(shuō)他一開(kāi)始響應(yīng)最快比方說(shuō)一體化設(shè)備,這個(gè)動(dòng)作叫做軟件定義可以,里面就是把軟件裝到硬件上,叫做硬件定義可不可以,也可以,就是廠商把握這個(gè)資源,軟硬件定義這個(gè)東西,最終是個(gè)利益的雛形定義過(guò)程。

好,我們例舉一下各種軟件定義,從操作系統(tǒng),到單機(jī)無(wú)處不在,無(wú)時(shí)不有,代碼指令定義了CPU里的電路,驅(qū)動(dòng)定義了各種外設(shè),TCPIP和Socket定義了以太網(wǎng),Raid定義了物理盤(pán),OS卷定義了Lun等等。好,我們最后看一下軟件定義炒作了哪些概念,軟硬解耦/服務(wù)器+開(kāi)源軟件,軟硬耦合更緊(一體機(jī)、一體盤(pán))底層的計(jì)算和存儲(chǔ)虛擬化。云計(jì)算/異構(gòu)統(tǒng)一管理調(diào)度(管理軟件,操作系統(tǒng))。對(duì)象存儲(chǔ)它當(dāng)時(shí)我記得是80年代就有人提出對(duì)象存儲(chǔ),它當(dāng)時(shí)的設(shè)計(jì)就是在磁盤(pán)里面直接提供類(lèi)似于文件的數(shù)據(jù),你像這種思想80年代就有為什么到了現(xiàn)在才真正被細(xì)節(jié)做出來(lái),包括虛擬機(jī)概念都是從大型機(jī)下來(lái)的,在應(yīng)用到PC機(jī)上。那你說(shuō)它是不是一種軟件定義磁盤(pán),我覺(jué)得是。那么我們看一下軟件定義最終本質(zhì)是什么?是利益的重定義,本來(lái)軟件到底由誰(shuí)開(kāi)發(fā),廠商開(kāi)發(fā)還是用戶(hù)開(kāi)發(fā),那這種其實(shí)是利益的重定義,軟件廠房開(kāi)放了它的架構(gòu),那么這個(gè)廠商就要尋找另外的盈利機(jī)會(huì)了。那么上下游角色的重定義到底誰(shuí)是廠商誰(shuí)是用戶(hù),被重定義也不好說(shuō)了,好,我的分享就到此結(jié)束。

分享到

yangjin

相關(guān)推薦