Docker與存儲(chǔ)紀(jì)實(shí)
在容器中運(yùn)行應(yīng)用的想法——也作為OS級虛擬化著稱——目前來看是一種潮流技術(shù)。這種技術(shù)的真身可以追溯到大型機(jī)時(shí)代。
但是在過去的12個(gè)月當(dāng)中,在單一OS中運(yùn)行多個(gè)相隔離的負(fù)載的思想被一款產(chǎn)品重新引爆。這家公司和產(chǎn)品統(tǒng)一命名作Docker。
Docker是一款支持單一OS同時(shí)運(yùn)行多應(yīng)用的平臺(tái)產(chǎn)品,可以直接部署于物理服務(wù)器之上或作為虛擬機(jī)。
這一切都實(shí)現(xiàn)自“用戶空間”的多拷貝,用戶空間就是應(yīng)用在Linux或是Unix平臺(tái)運(yùn)行的地方。
Docker如此受追捧,原因在于其解決了運(yùn)行VM的一些問題和花銷,每一個(gè)VM都需要配備專有的內(nèi)存和存儲(chǔ)資源。
VM支持深度隔離并虛機(jī)個(gè)別升級,但是在跑相似或者完全相同的OS版本的大環(huán)境中,幾乎每個(gè)虛機(jī)都運(yùn)行著耗內(nèi)存的重復(fù)進(jìn)程,還保留著完全相同或近似相同的啟動(dòng)卷。
在面向網(wǎng)絡(luò)規(guī)模的計(jì)算中,傳統(tǒng)服務(wù)器虛擬化效率很低。
集裝箱生動(dòng)描述了容器間的隔離。默認(rèn)情況下,相互隔離的容器在實(shí)現(xiàn)任何意圖和目的時(shí)都好像擁有整個(gè)操作系統(tǒng)。這種隔離會(huì)因容器與外界交互的需要被不時(shí)打斷。而如果沒有這種交互,容器也就失去了存在意義。
因此,容器是有條件實(shí)現(xiàn)網(wǎng)絡(luò)交通并訪問數(shù)據(jù)的。
Docker將在存儲(chǔ)上嶄露頭角?
與VM相比,容器是輕量的,并也被應(yīng)用于存儲(chǔ)。
Docker的一大神奇特色就是其疊加式文件系統(tǒng),它實(shí)現(xiàn)了寫入時(shí)拷貝,將任何更新了的信息存入容器的根文件系統(tǒng)。因此容器默認(rèn)將不具備永久性存儲(chǔ)。
然而,Docker卻擁有支持訪問更多永久性存儲(chǔ)資源的功能——Docker卷和數(shù)據(jù)容器。
從兩年前的全面啟動(dòng),Docker開源容器已經(jīng)覆蓋到大部分的應(yīng)用開發(fā)和測試環(huán)境。Docker還有多少時(shí)日能夠部署于主存儲(chǔ)還很難預(yù)測,但專家認(rèn)為它將采取和VMware類似的方式,逐漸的去增加特性到服務(wù)器虛擬化軟件來幫助創(chuàng)建、配置和管理存儲(chǔ)。
“從存儲(chǔ)的角度來看Docker,關(guān)鍵在于你真的需要一個(gè)具有眾多特性的存儲(chǔ)系統(tǒng),”Storage Switzerland主席George Crump這樣表示。“就想早期的VMware,Docker的存儲(chǔ)局面還很緊張。”
Crump表示,VMware已經(jīng)為Docker開辟了主存儲(chǔ)系統(tǒng)的先路,盡管這將會(huì)是一個(gè)緩慢的過程。
“我想Docker的用武之地首先會(huì)是有很多相同實(shí)例的存儲(chǔ)環(huán)境。比如說你正在擴(kuò)展的80 Oracle或SQL Server應(yīng)用。”
盡管類似,但Docker與VM存儲(chǔ)并不一樣
Docker是打包共享操作系統(tǒng)上的Linux應(yīng)用及其依賴關(guān)系的開源軟件。目前為止,圍繞于Docker存儲(chǔ)容器的議論已經(jīng)高于企業(yè)應(yīng)用的廣度。
但Crump和其他行業(yè)觀察者表示,容器成為VM存儲(chǔ)的補(bǔ)充只是時(shí)間問題。
Docker公司商業(yè)化了開源Docker容器,但競爭者在衍生,包括由合作伙伴轉(zhuǎn)為競爭對手的CoreOS。谷歌在去年也揭幕了其基于Kubernetes開源容器集群管理框架的谷歌容器。
EMC、 Asigra、 Catalogic和Zadara都在推出支持Docker容器的產(chǎn)品。微軟表示將會(huì)在Windows Server 2016上支持Docker。
“Docker已經(jīng)影響了我們考慮架構(gòu)和基礎(chǔ)設(shè)施的的方式,但照目前我們的存儲(chǔ)來看,一個(gè)Docker實(shí)例就像是虛擬機(jī),”NC-based Signature Tech Studio副總Rob Hines說道,“它能夠訪問Zadara。一開始我們會(huì)在VPSA里面運(yùn)行少量的容器。但我不知道如果我準(zhǔn)備好將成百上千的工作投進(jìn)VPSA會(huì)怎樣,也許這會(huì)是我們的最終目標(biāo)。”
“VM和容器最大的不同在于粒度,”StorageIO Group創(chuàng)始人Greg Schulz說,“我能在一臺(tái)物理機(jī)上啟動(dòng)5-10個(gè)VM。而對于容器而言,我可能同時(shí)運(yùn)行成百上千個(gè)輕量的實(shí)例。”
Docker還缺少數(shù)據(jù)保護(hù)上的本地存儲(chǔ)特性,像是復(fù)制和快照。
數(shù)據(jù)持久性和可移植性上面的缺失也在阻礙容器技術(shù)在共享存儲(chǔ)上的全面應(yīng)用。