開(kāi)源技術(shù)有望改變企業(yè)存儲(chǔ)發(fā)展的未來(lái)!
開(kāi)源軟件一直是推動(dòng)協(xié)作、基于社區(qū)的軟件的重要力量。其中最明顯的例子就是Linux的發(fā)展歷程,它的各種發(fā)行版已經(jīng)成為云操作系統(tǒng)和現(xiàn)代應(yīng)用程序開(kāi)發(fā)人員的***平臺(tái)。
在更高的堆棧中,同樣的理念應(yīng)用于Docker容器化,以及用于結(jié)構(gòu)化SQL,NoSQL等數(shù)據(jù)庫(kù)平臺(tái)。那么,存儲(chǔ)呢?開(kāi)源軟件開(kāi)發(fā)的演進(jìn)是否也應(yīng)用于存儲(chǔ),或者有哪些可用于那些想要在存儲(chǔ)中實(shí)現(xiàn)開(kāi)源的選項(xiàng)?
開(kāi)源技術(shù)定義
首先,為大家解釋一下開(kāi)源的定義。根據(jù)定義,開(kāi)源就意味著產(chǎn)品的源代碼可以自由地被任何人訪問(wèn)和讀取。然而,大多數(shù)開(kāi)放源碼技術(shù)項(xiàng)目都是根據(jù)許可條款編寫代碼,許可證決定了代碼如何被使用或重復(fù)使用,有什么屬性,又如何覆蓋專利以及能被允許用作哪些商業(yè)用途。
這對(duì)存儲(chǔ)軟件開(kāi)發(fā)意味著什么?實(shí)際上,開(kāi)發(fā)一個(gè)存儲(chǔ)平臺(tái)與開(kāi)發(fā)其他任何軟件沒(méi)有什么不同。因此,開(kāi)放源代碼對(duì)存儲(chǔ)有很大的意義,因?yàn)樗试S在復(fù)雜問(wèn)題上進(jìn)行大規(guī)模協(xié)作,同時(shí)在持久模型中100%保證數(shù)據(jù)的準(zhǔn)確性。
社區(qū)發(fā)展
開(kāi)源已被成功地用作開(kāi)發(fā)操作系統(tǒng)和數(shù)據(jù)庫(kù)的模型。將社區(qū)開(kāi)發(fā)模型應(yīng)用于共享和持久存儲(chǔ)需求是非常有意義的。
對(duì)于開(kāi)源來(lái)說(shuō),存儲(chǔ)并不是***,因?yàn)榇蠖鄶?shù)早期共享存儲(chǔ)平臺(tái)都是在專用硬件上開(kāi)發(fā)的。然而,在過(guò)去15年中,服務(wù)器和存儲(chǔ)媒體的商品化已經(jīng)發(fā)展到成本足夠低,可靠性足夠高的情況,能從現(xiàn)成的組件中構(gòu)建存儲(chǔ)平臺(tái)。隨著軟件定義存儲(chǔ)(SDS)的火熱,開(kāi)源存儲(chǔ)也開(kāi)始邁出發(fā)展的步伐。
為什么要開(kāi)源存儲(chǔ)
作為終端用戶,有什么理由讓你使用開(kāi)源存儲(chǔ)技術(shù)?與商業(yè)SDS一樣,開(kāi)源存儲(chǔ)將購(gòu)買硬件與軟件分開(kāi)。這樣就可以為硬件提供源代碼,構(gòu)建和設(shè)計(jì),以獲得成本和運(yùn)營(yíng)優(yōu)勢(shì),例如最小化必須支持的硬件平臺(tái)數(shù)量。
開(kāi)源存儲(chǔ)平臺(tái)的進(jìn)一步發(fā)展,消除了存儲(chǔ)軟件的資本支出。剩下需要考慮的就是決定是否以及如何支付支持。 事實(shí)上,獲得供應(yīng)商或增值經(jīng)銷商的支持是大多數(shù)企業(yè)在使用開(kāi)源存儲(chǔ)軟件時(shí)必須面對(duì)的主要問(wèn)題。
幸運(yùn)的是,支持模型是存在的。例如,Red Hat(紅帽)公司擁有一個(gè)蓬勃發(fā)展的業(yè)務(wù),用以支持自己的Red Hat Enterprise Linux(RHEL),它可以從Fedora發(fā)行版獲得商業(yè)上的應(yīng)用。反過(guò)來(lái),RHEL則作為開(kāi)源技術(shù)在諸如CentOS等發(fā)行版中獲得。
運(yùn)行開(kāi)源存儲(chǔ)提供了與標(biāo)準(zhǔn)商業(yè)存儲(chǔ)產(chǎn)品相同級(jí)別的靈活性??梢栽谏a(chǎn)環(huán)境上運(yùn)行商業(yè)上支持的開(kāi)源存儲(chǔ)系統(tǒng)版本。這樣,測(cè)試和開(kāi)發(fā)可以使用內(nèi)部支持的存儲(chǔ)部署來(lái)運(yùn)行。這種方法節(jié)省了大量的成本,特別是對(duì)于需要橫向擴(kuò)展對(duì)象存儲(chǔ)的非結(jié)構(gòu)化數(shù)據(jù)。
貢獻(xiàn)者回饋
當(dāng)然,開(kāi)源技術(shù)的全部意義就是回饋社區(qū)。所以每個(gè)人都可以自由地為我們討論的平臺(tái)的發(fā)展做出貢獻(xiàn)。
對(duì)于大型企業(yè)來(lái)說(shuō),讓開(kāi)發(fā)人員參與編寫開(kāi)源存儲(chǔ)軟件是有意義的。 這樣,他們就可以獲得內(nèi)部支持軟件的機(jī)會(huì),無(wú)論是完全沒(méi)有廠商支持,還是進(jìn)行開(kāi)發(fā)測(cè)試,都可以直接整合新功能。對(duì)于長(zhǎng)期部署(如存檔和備份),參與維護(hù)開(kāi)放源代碼平臺(tái)有助于減輕供應(yīng)商中斷商業(yè)產(chǎn)品發(fā)行的風(fēng)險(xiǎn)。
建立你自己的
除了選擇使用商業(yè)支持的開(kāi)源產(chǎn)品,另一個(gè)選擇是從開(kāi)源組件(如Linux iSCSI目標(biāo)或Linux上的SMB)構(gòu)建自己的開(kāi)源產(chǎn)品。你可以使用這些文件來(lái)為你的存儲(chǔ)基礎(chǔ)設(shè)施提供文件和塊服務(wù),特別是與ZFS文件系統(tǒng)配合使用。 但是,除了開(kāi)發(fā)者社區(qū)之外,你將不會(huì)得到任何支持。