摘要:在這方面通常有三種主要選項(xiàng)文件系統(tǒng)存儲(chǔ)塊存儲(chǔ)和對(duì)象存儲(chǔ)。結(jié)論塊存儲(chǔ)比文件系統(tǒng)存儲(chǔ)更靈活,這樣更容易適應(yīng)容器環(huán)境的塊存儲(chǔ)。對(duì)象存儲(chǔ)對(duì)象存儲(chǔ)與文件系統(tǒng)存儲(chǔ)或塊存儲(chǔ)不同。結(jié)論由于依賴于調(diào)用,對(duì)象存儲(chǔ)可能更復(fù)雜。
當(dāng)管理員首次開始使用Docker容器時(shí),通常會(huì)使其感到驚訝的是, 容器本身采用的是非永久性存儲(chǔ)。當(dāng)容器被移除時(shí), 容器的存儲(chǔ)也被移除了。
當(dāng)然,如果沒(méi)有辦法實(shí)現(xiàn)永久存儲(chǔ),則容器應(yīng)用程序的使用將會(huì)非常受限。幸運(yùn)的是,有些方法在容器化的環(huán)境中可以實(shí)現(xiàn)持久存儲(chǔ)。盡管容器本身的原生存儲(chǔ)是非持久性的,但可以將容器連接到容器外部的存儲(chǔ)區(qū)。此操作允許持久性數(shù)據(jù)的存儲(chǔ),因?yàn)楫?dāng)容器停止時(shí),該外部存儲(chǔ)不會(huì)被移除。
決定如何為容器實(shí)現(xiàn)持久存儲(chǔ)的第一步是確定您將使用的存儲(chǔ)系統(tǒng)的基礎(chǔ)類型。在這方面, 通常有三種主要選項(xiàng):文件系統(tǒng)存儲(chǔ)、塊存儲(chǔ)和對(duì)象存儲(chǔ)。這篇文章中,我將解釋每種類型的存儲(chǔ)之間的差異, 以及使用它們?yōu)槿萜鳝h(huán)境設(shè)置存儲(chǔ)時(shí)各會(huì)帶來(lái)什么。
文件系統(tǒng)存儲(chǔ)文件系統(tǒng)存儲(chǔ)是將數(shù)據(jù)存儲(chǔ)為文件,這一存儲(chǔ)形式已存在數(shù)十年了。每個(gè)文件都有一個(gè)文件名, 并且通常具有與其關(guān)聯(lián)的屬性。一些常用的文件系統(tǒng)包括NFS和NTFS。
當(dāng)涉及到配置容器以持久存儲(chǔ)數(shù)據(jù)時(shí),文件系統(tǒng)存儲(chǔ)是實(shí)現(xiàn)持久存儲(chǔ)數(shù)據(jù)的最普遍的方法之一。最為人所知的文件系統(tǒng)儲(chǔ)存示例(與容器相關(guān))可能是基于主機(jī)的持久性。
基于主機(jī)的持久性背后的想法非常普遍。容器駐留在主機(jī)服務(wù)器上。這個(gè)主機(jī)服務(wù)器包含它自己的操作系統(tǒng)和它自己的文件系統(tǒng)。可以將容器配置為在主機(jī)服務(wù)器的文件存儲(chǔ)的專用文件夾內(nèi)存儲(chǔ)持久數(shù)據(jù)。Docker容器通常使用聯(lián)合文件系統(tǒng)將容器層組合成一個(gè)內(nèi)聚的文件結(jié)構(gòu)。基于主機(jī)的持久性繞過(guò)了需要持久存儲(chǔ)的數(shù)據(jù)的聯(lián)合文件系統(tǒng),并借助主機(jī)上使用的同一文件系統(tǒng)存儲(chǔ)數(shù)據(jù)。
普通主機(jī)持久性引起的主要問(wèn)題是,它完全破壞了容器的可移植性。當(dāng)使用主機(jī)持久性時(shí),依賴項(xiàng)資源(持久存儲(chǔ))駐留在宿主服務(wù)器的原生文件系統(tǒng)的容器外。為了解決此問(wèn)題, 已經(jīng)創(chuàng)建了其他的主機(jī)持久性。例如,通過(guò)多主機(jī)持久性使用分布式文件系統(tǒng),來(lái)復(fù)制跨多個(gè)主機(jī)服務(wù)器的持久性存儲(chǔ)。
結(jié)論:文件系統(tǒng)存儲(chǔ)可能是最笨拙的方法,因?yàn)槲募到y(tǒng)在設(shè)計(jì)之初并沒(méi)有把可移植性納入考慮范圍。然而,正如前文我所提到的,有一些方法可以實(shí)現(xiàn)容器友好型的文件存儲(chǔ)系統(tǒng),而這通常要通過(guò)跨多個(gè)服務(wù)器分布文件系統(tǒng)來(lái)實(shí)現(xiàn)。
塊存儲(chǔ)塊存儲(chǔ)是容器的另一個(gè)存儲(chǔ)選項(xiàng)。如前所述,文件系統(tǒng)存儲(chǔ)將數(shù)據(jù)組織為文件和文件夾的層次結(jié)構(gòu)。相反,塊存儲(chǔ)存儲(chǔ)塊中的數(shù)據(jù)塊。塊僅通過(guò)其地址識(shí)別。塊沒(méi)有文件名,也沒(méi)有自己的元數(shù)據(jù)。只有當(dāng)塊與其他塊組合形成完整的數(shù)據(jù)塊時(shí),它們才具有意義。
由于其性能,塊存儲(chǔ)通常用于數(shù)據(jù)庫(kù)應(yīng)用程序。塊存儲(chǔ)也通常用于提供快照功能,它允許將volume回滾到特定時(shí)間點(diǎn),而無(wú)需還原備份。
對(duì)于容器,塊存儲(chǔ)有時(shí)以容器定義的存儲(chǔ)的形式實(shí)現(xiàn)。容器定義的存儲(chǔ)是一種軟件定義的存儲(chǔ)形式,但專門用于容器化環(huán)境中。此存儲(chǔ)通常在專用存儲(chǔ)容器內(nèi)部實(shí)現(xiàn)。
Rancher Labs推出了自己的分布式塊存儲(chǔ)項(xiàng)目,名為Project Longhorn。Longhorn背后的基本思想相對(duì)簡(jiǎn)單。
存儲(chǔ)系統(tǒng)可以包含多個(gè)塊存儲(chǔ)volumes,并且這些volumes中的每一個(gè)只能由單個(gè)主機(jī)加載。在這種情況下,Longhorn試圖將塊存儲(chǔ)控制器劃分為大量較小的塊存儲(chǔ)控制器,每個(gè)存儲(chǔ)控制器都可以映射到不同的塊存儲(chǔ)volume。如果所有這些塊存儲(chǔ)volumes都駐留在物理磁盤的公共池中,那么Longhorn方法將允許編排引擎根據(jù)需要?jiǎng)?chuàng)建塊存儲(chǔ)volumes。例如,可以在創(chuàng)建容器的同時(shí)自動(dòng)創(chuàng)建塊存儲(chǔ)volume。
結(jié)論:塊存儲(chǔ)比文件系統(tǒng)存儲(chǔ)更靈活,這樣更容易適應(yīng)容器環(huán)境的塊存儲(chǔ)。唯一的挑戰(zhàn)是確保塊存儲(chǔ)數(shù)據(jù)在由多臺(tái)主機(jī)組成的環(huán)境中可用。這可以通過(guò)分布式存儲(chǔ)來(lái)解決。
對(duì)象存儲(chǔ)對(duì)象存儲(chǔ)與文件系統(tǒng)存儲(chǔ)或塊存儲(chǔ)不同。它不是通過(guò)塊地址或文件名引用數(shù)據(jù),而是將數(shù)據(jù)存儲(chǔ)為對(duì)象并由對(duì)象ID引用。對(duì)象存儲(chǔ)的優(yōu)點(diǎn)在于它具有很強(qiáng)的伸縮性,并且在將屬性與對(duì)象相關(guān)聯(lián)方面具有高度的靈活性。使用對(duì)象存儲(chǔ)的缺點(diǎn)是它執(zhí)行起來(lái)不如塊儲(chǔ)存。
由于對(duì)象存儲(chǔ)主要是為實(shí)現(xiàn)可伸縮性而設(shè)計(jì)的,因此它是公共云提供商的熱門選擇。Docker容器可以鏈接到Amazon Web Services或Microsoft Azure上的對(duì)象存儲(chǔ),但這樣做需要專門設(shè)計(jì)容器化應(yīng)用程序以利用對(duì)象存儲(chǔ)。而典型的應(yīng)用程序可能被設(shè)計(jì)為通過(guò)文件系統(tǒng)或SCSI調(diào)用訪問(wèn)數(shù)據(jù),對(duì)象存儲(chǔ)需要基于HTTP的REST調(diào)用,例如Get或Put。因此,應(yīng)該將對(duì)象存儲(chǔ)保存在需要大規(guī)??缮炜s存儲(chǔ)的應(yīng)用程序或需跨地域的存儲(chǔ)上。
結(jié)論:由于依賴于REST調(diào)用,對(duì)象存儲(chǔ)可能更復(fù)雜。但對(duì)象存儲(chǔ)提供的可伸縮性使它成為一個(gè)很好的選擇, 因?yàn)樵谌萜鳝h(huán)境中,大規(guī)??缮炜s性常常是大家優(yōu)先考慮的。
9月27日,北京海航萬(wàn)豪酒店,容器技術(shù)大會(huì)Container Day 2017即將舉行。
CloudStack之父、海航科技技術(shù)總監(jiān)、華為PaaS部門部長(zhǎng)、恒豐銀行科技部總經(jīng)理、阿里云PaaS工程總監(jiān)、民生保險(xiǎn)CIO······均已加入豪華講師套餐!
11家已容器落地企業(yè),15位真·云計(jì)算大咖,13場(chǎng)純·技術(shù)演講,結(jié)合實(shí)戰(zhàn)場(chǎng)景,聚焦落地經(jīng)驗(yàn)。免費(fèi)參會(huì)+超高規(guī)格,詳細(xì)議程及注冊(cè)鏈接請(qǐng)戳
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26990.html
摘要:從年以來(lái),谷歌基于容器研發(fā)三個(gè)容器管理系統(tǒng),分別是和。這篇論文由這三個(gè)容器集群管理系統(tǒng)長(zhǎng)年開發(fā)維護(hù)的谷歌工程師和于近日發(fā)表,闡述了谷歌從到這個(gè)旅程中所獲得的知識(shí)和經(jīng)驗(yàn)教訓(xùn)。和完全是谷歌內(nèi)部系統(tǒng)相比,是開源的。 從2000年以來(lái),谷歌基于容器研發(fā)三個(gè)容器管理系統(tǒng),分別是Borg、Omega和Kubernetes。這篇論文由這三個(gè)容器集群管理系統(tǒng)長(zhǎng)年開發(fā)維護(hù)的谷歌工程師Brendan Bu...
摘要:另一種方法是將應(yīng)用程序遷移到公共云中,并在那里使用基于塊的云存儲(chǔ)。第一種是在公共云中使用基于文件的存儲(chǔ),第二種是使用對(duì)象存儲(chǔ)。數(shù)據(jù)保護(hù)公共云存儲(chǔ)的一個(gè)很好用途是用于數(shù)據(jù)保護(hù)。中小型企業(yè)(SME)的技術(shù)需求雖然比大企業(yè)的少,但仍然很重要。其中的關(guān)鍵是中小企業(yè)的存儲(chǔ)。在過(guò)去,這通常意味著是企業(yè)使用存儲(chǔ)的縮小版本,但人們現(xiàn)在生活在云存儲(chǔ)越來(lái)越重要的時(shí)代,這對(duì)于缺乏大型組織擁有的IT部門資源的中小企...
摘要:經(jīng)典的基礎(chǔ)面試題集錦經(jīng)典的基礎(chǔ)面試題集錦,歡迎收藏和分享。類變量或者說(shuō)靜態(tài)變量是通過(guò)這個(gè)關(guān)鍵字來(lái)聲明的。非靜態(tài)變量在每一個(gè)對(duì)象實(shí)例上都有單獨(dú)的一份值。對(duì)象允許程序和數(shù)據(jù)進(jìn)行封裝,以減少潛在的干涉。 經(jīng)典的Java基礎(chǔ)面試題集錦 經(jīng)典的Java基礎(chǔ)面試題集錦,歡迎收藏和分享。 問(wèn)題:如果main方法被聲明為private會(huì)怎樣? 答案:能正常編譯,但運(yùn)行的時(shí)候會(huì)提示main方法不是pub...
摘要:后端好書閱讀與推薦系列文章后端好書閱讀與推薦后端好書閱讀與推薦續(xù)后端好書閱讀與推薦續(xù)二后端好書閱讀與推薦續(xù)三后端好書閱讀與推薦續(xù)四這里依然記錄一下每本書的亮點(diǎn)與自己讀書心得和體會(huì),分享并求拍磚。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續(xù))后端好書閱讀與推薦(續(xù)二)后端好書閱讀與推薦(續(xù)三)后端好書閱讀與推薦(續(xù)四) 這里依然記錄一下每本書的亮點(diǎn)與自己讀書心得...
摘要:項(xiàng)目現(xiàn)已正式發(fā)布這是一個(gè)基于云和容器部署的分布式塊存儲(chǔ)新方式。這可能是與大多數(shù)現(xiàn)有的分布式存儲(chǔ)系統(tǒng)相比,最具特色的功能。快速入門指南易于安裝和使用。使用或術(shù)語(yǔ),管理器容器是一項(xiàng)全球性服務(wù)。目前,我們不保留額外的元數(shù)據(jù)來(lái)指示使用哪些。 Longhorn項(xiàng)目現(xiàn)已正式發(fā)布!這是一個(gè)基于云和容器部署的分布式塊存儲(chǔ)新方式。Longhorn遵循微服務(wù)的原則,利用容器將小型獨(dú)立組件構(gòu)建為分布式塊存儲(chǔ)...
閱讀 3785·2023-04-26 02:00
閱讀 3162·2021-11-22 13:54
閱讀 1773·2021-08-03 14:03
閱讀 763·2019-08-30 15:52
閱讀 3179·2019-08-29 12:30
閱讀 2474·2019-08-26 13:35
閱讀 3435·2019-08-26 13:25
閱讀 3050·2019-08-26 11:39