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