




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OpenStack對(duì)象存儲(chǔ)
服務(wù)(Swift)知識(shí)目標(biāo)學(xué)習(xí)OpenStack對(duì)象存儲(chǔ),需要掌握以下相關(guān)知識(shí)。Swift架構(gòu)Swirt關(guān)鍵技術(shù)OpenStack對(duì)象存儲(chǔ)管理能夠用命令創(chuàng)建和管理容器,完成文件的上傳和下載能夠用WebUI方式創(chuàng)建和刪除容器,創(chuàng)建和刪除目錄,上傳和下載文件技能目標(biāo)目錄01Swift的架構(gòu)02Swift關(guān)鍵技術(shù)03OpenStack對(duì)象存儲(chǔ)管理情景引入優(yōu)速網(wǎng)絡(luò)公司為滿足業(yè)務(wù)需求,購(gòu)買了大量多媒體版權(quán),并決定使用OpenStack對(duì)象存儲(chǔ)服務(wù)構(gòu)建管理平臺(tái)。公司IT部門通過(guò)搭建分布式Swift存儲(chǔ)集群,實(shí)現(xiàn)了數(shù)據(jù)的高效存儲(chǔ)、擴(kuò)展和備份。此外,利用大數(shù)據(jù)和機(jī)器學(xué)習(xí)技術(shù),對(duì)內(nèi)容進(jìn)行智能分類和檢索。該平臺(tái)不僅提高了多媒體內(nèi)容管理效率,還支持多樣化數(shù)據(jù)訪問(wèn)和搜索功能,確保了企業(yè)的長(zhǎng)期發(fā)展。01Swift的架構(gòu)Swift簡(jiǎn)介OpenStack對(duì)象存儲(chǔ)服務(wù)Swift是OpenStack的一個(gè)核心組件,旨在提供高性能、高可靠和高可擴(kuò)展的存儲(chǔ)服務(wù),使得用戶可以輕松地存儲(chǔ)和訪問(wèn)海量數(shù)據(jù)。Swift使用了一種分布式架構(gòu),可以在多個(gè)存儲(chǔ)節(jié)點(diǎn)上存儲(chǔ)數(shù)據(jù),從而保證數(shù)據(jù)的高可用性和可靠性。它還提供了豐富的API和管理工具,可以方便地對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行管理和訪問(wèn)。Swift是OpenStack最初兩大項(xiàng)目之一,由Rackspace于2010年貢獻(xiàn)給OpenStack社區(qū),并與Nova一起開啟了OpenStack的云時(shí)代。Swift的主要特點(diǎn)包括可擴(kuò)展性、高可用性、對(duì)象存儲(chǔ)、數(shù)據(jù)一致性和API支持。它通過(guò)分散存儲(chǔ)數(shù)據(jù)和元數(shù)據(jù),并允許水平擴(kuò)展來(lái)實(shí)現(xiàn)高度可擴(kuò)展性。Swift將數(shù)據(jù)存儲(chǔ)為對(duì)象,每個(gè)對(duì)象都有一個(gè)唯一的標(biāo)識(shí)符。Swift使用一致性哈希算法來(lái)分布數(shù)據(jù),并通過(guò)數(shù)據(jù)復(fù)制和檢查來(lái)確保數(shù)據(jù)的一致性和完整性。此外,Swift提供了RESTAPI,使開發(fā)人員能夠輕松地與存儲(chǔ)系統(tǒng)進(jìn)行交互,管理對(duì)象和元數(shù)據(jù)。Swift層次架構(gòu)(1/2)Swift從架構(gòu)上可以劃分為兩個(gè)層次:訪問(wèn)層(AccessTier)與存儲(chǔ)層(StorageNodes)。訪問(wèn)層主要包括兩部分,即代理服務(wù)節(jié)點(diǎn)(ProxyNode)與認(rèn)證服務(wù)(Authentication),分別負(fù)責(zé)REST請(qǐng)求與用戶身份的認(rèn)證。ProxyNode部署了ProxyServer,主要負(fù)責(zé)處理用戶的REST請(qǐng)求。在接收到用戶請(qǐng)求時(shí),ProxyServer會(huì)對(duì)用戶身份進(jìn)行嚴(yán)格認(rèn)證,并將用戶提供的身份資料轉(zhuǎn)發(fā)給Authentication進(jìn)行處理。為了提升性能,ProxyServer利用Memcached(高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng))進(jìn)行數(shù)據(jù)和對(duì)象的緩存,從而減少對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù),提高用戶訪問(wèn)速度。每次接收到用戶的訪問(wèn)請(qǐng)求時(shí),ProxyNode都會(huì)將其精準(zhǔn)轉(zhuǎn)發(fā)至相應(yīng)的存儲(chǔ)節(jié)點(diǎn)上。Swift層次架構(gòu)(2/2)Swift從架構(gòu)上可以劃分為兩個(gè)層次:訪問(wèn)層(AccessTier)與存儲(chǔ)層(StorageNodes)。存儲(chǔ)層由一系列的物理存儲(chǔ)節(jié)點(diǎn)組成,負(fù)責(zé)對(duì)象數(shù)據(jù)的存儲(chǔ)。存儲(chǔ)層在物理上分為以下五個(gè)層次:地域(Region):地理上隔絕的區(qū)域,指一個(gè)物理位置或者數(shù)據(jù)中心。區(qū)域(Zone):是指在一個(gè)Region中的一個(gè)邏輯分區(qū),用于提高數(shù)據(jù)的可用性和冗余性。存儲(chǔ)節(jié)點(diǎn)(StorageNode):是指實(shí)際存儲(chǔ)數(shù)據(jù)的物理節(jié)點(diǎn)。設(shè)備(Device):是指存儲(chǔ)節(jié)點(diǎn)中的磁盤設(shè)備。分區(qū)(Partition):是指虛擬節(jié)點(diǎn),與實(shí)際的物理節(jié)點(diǎn)存在映射關(guān)系。Swift存儲(chǔ)對(duì)象的邏輯結(jié)構(gòu)Swift采用層次數(shù)據(jù)模型,共設(shè)三層邏輯結(jié)構(gòu):Account/Container/Object(即賬戶/容器/對(duì)象),每層的節(jié)點(diǎn)數(shù)量均沒有限制,可以任意擴(kuò)展。Swift存儲(chǔ)對(duì)象的邏輯結(jié)構(gòu)功能
賬戶(Account)與存儲(chǔ)的數(shù)據(jù)沒有直接關(guān)系,用于提供認(rèn)證和管理功能。賬戶是一個(gè)命名空間,用于隔離和管理多個(gè)Container。在Swift中,賬戶用于認(rèn)證和授權(quán)用戶,以及管理賬戶的容器和對(duì)象等。容器(Container)是Swift中的一個(gè)邏輯容器,類似于文件系統(tǒng)中的文件夾,可以用于管理和組織Object。容器可以包含多個(gè)Object,但是不能嵌套。此外,與容器有關(guān)元數(shù)據(jù)信息也會(huì)被存儲(chǔ)和管理。對(duì)象(Object)是Swift中存儲(chǔ)的基本數(shù)據(jù)單元,類似于文件系統(tǒng)中的文件。一個(gè)Object一般包含數(shù)據(jù)本身和元數(shù)據(jù)信息,用于描述對(duì)象的特性、大小和屬性等。對(duì)象是Swift中存儲(chǔ)數(shù)據(jù)的主要實(shí)體。Swift系統(tǒng)架構(gòu)Swift采用完全對(duì)稱、面向資源的分布式系統(tǒng)架構(gòu)設(shè)計(jì)。所有組件都可擴(kuò)展,避免因單點(diǎn)失效影響整個(gè)系統(tǒng)運(yùn)轉(zhuǎn)。Swift為賬戶、容器和對(duì)象分別定義了環(huán)(Ring)將虛擬節(jié)點(diǎn)(分區(qū))映射到一組物理存儲(chǔ)設(shè)備上,包括賬戶環(huán)(AccountRing)、容器環(huán)(ContainerRing)和對(duì)象環(huán)(ObjectRing)。SwiftAPISwiftAPI用于對(duì)象和元數(shù)據(jù)的創(chuàng)建、修改和獲取,通過(guò)基于HTTP的REST服務(wù)接口對(duì)外提供服務(wù)。SwiftAPI主要提供了以下功能:存儲(chǔ)無(wú)限數(shù)量的對(duì)象。單個(gè)對(duì)象默認(rèn)最大值為5GB,這個(gè)最大值用戶可以自行配置。使用內(nèi)容編碼元數(shù)據(jù)壓縮對(duì)象。刪除對(duì)象,支持批量刪除,單個(gè)請(qǐng)求中可批量刪除多達(dá)10000個(gè)對(duì)象。Swift組件(1/3)代理服務(wù)ProxyServer緩存服務(wù)MemcacheServer認(rèn)證服務(wù)AuthenticationServer對(duì)外提供一個(gè)統(tǒng)一的公共API接口來(lái)服務(wù)于對(duì)象存取請(qǐng)求。對(duì)于每一個(gè)接收到的請(qǐng)求,代理服務(wù)器會(huì)智能地解析請(qǐng)求內(nèi)容,定位所需賬戶、容器或?qū)ο笤诜植际酱鎯?chǔ)環(huán)(Ring)中的確切位置,隨后精確地將這些請(qǐng)求路由至相應(yīng)的存儲(chǔ)節(jié)點(diǎn)上進(jìn)行處理。通過(guò)身份認(rèn)證令牌(Token)驗(yàn)證訪問(wèn)用戶的身份信息,并緩存該Token至過(guò)期時(shí)間。緩存身份認(rèn)證令牌,容器和賬戶存在的信息,但不對(duì)實(shí)際對(duì)象數(shù)據(jù)進(jìn)行任何緩存;緩存服務(wù)可采用Memcached集群,Swift會(huì)使用一致性散列算法來(lái)分配緩存地址。Swift組件(2/3)賬戶服務(wù)AccountServer對(duì)象服務(wù)ObjectServer容器服務(wù)ContainerServer提供賬戶元數(shù)據(jù)和統(tǒng)計(jì)信息,并維護(hù)所含容器列表的服務(wù)。每個(gè)賬戶的信息以SQLite數(shù)據(jù)庫(kù)文件的形式存儲(chǔ)。提供容器元數(shù)據(jù)和統(tǒng)計(jì)信息,并維護(hù)所含對(duì)象列表的服務(wù)。與賬戶服務(wù)類似,每個(gè)容器的信息也是以SQLite數(shù)據(jù)庫(kù)文件的形式存儲(chǔ)。提供對(duì)象元數(shù)據(jù)和內(nèi)容存儲(chǔ)的服務(wù),可以用來(lái)存儲(chǔ)、檢索和刪除存儲(chǔ)在本地設(shè)備上的對(duì)象。對(duì)象以二進(jìn)制文件的形式存儲(chǔ)在文件系統(tǒng)上,元數(shù)據(jù)存儲(chǔ)在文件的擴(kuò)展屬性中(xattrs)。Swift組件(3/3)更新服務(wù)Updater審計(jì)服務(wù)Auditor)復(fù)制服務(wù)Replicator當(dāng)對(duì)象由于高負(fù)載或故障導(dǎo)致無(wú)法立刻更新時(shí),更新任務(wù)將會(huì)在本地文件系統(tǒng)中進(jìn)行排隊(duì),以便服務(wù)恢復(fù)后進(jìn)行再次更新。目的在于遇到網(wǎng)絡(luò)中斷或驅(qū)動(dòng)器故障等臨時(shí)錯(cuò)誤情況時(shí),使系統(tǒng)保持一致的狀態(tài)。Replicator將本地?cái)?shù)據(jù)與每個(gè)遠(yuǎn)程副本進(jìn)行比較,以此確保所有副本均包含數(shù)據(jù)的最新版本,從而保障數(shù)據(jù)的可靠性和一致性。檢查對(duì)象、容器和賬戶的完整性,如果發(fā)現(xiàn)錯(cuò)誤,文件將被隔離,并觸發(fā)機(jī)制從其他健康副本中復(fù)制數(shù)據(jù)以恢復(fù)并覆蓋損壞的副本;如果發(fā)現(xiàn)其他錯(cuò)誤,則會(huì)記錄到日志中。02Swift關(guān)鍵技術(shù)RingRing是Swift中非常核心的組件,用于記錄存儲(chǔ)在磁盤上的對(duì)象與物理位置之間的映射。Accounts、Containers和Object都有單獨(dú)的環(huán)。Ring將Partition均衡地映射到一組物理設(shè)備上。Swift中Ring使用Zone來(lái)保證數(shù)據(jù)的物理隔離,每個(gè)Partition的副本(replica)都確保放在不同的Zone中,Ring記錄了存儲(chǔ)對(duì)象與物理位置的映射關(guān)系。Ring通過(guò)Zone、Device、Partition和Replica來(lái)維護(hù)映射信息。默認(rèn)情況下,Ring中的每個(gè)Partition在集群中復(fù)制三次,Partition位置存儲(chǔ)在Ring維護(hù)的映射中。Ring還負(fù)責(zé)確定哪些Device在故障情況下用于切換。一致性哈希Swift是使用改良型一致性哈希技術(shù),通過(guò)計(jì)算將對(duì)象均勻分布到虛擬空間的虛擬節(jié)點(diǎn)上,在增加或刪除節(jié)點(diǎn)時(shí)減少需移動(dòng)的數(shù)據(jù)量。一致性哈希算法采用的是對(duì)232取模的方法,具體步驟如下:一致性哈希算法將整個(gè)哈??臻g按照順時(shí)針方向映射成一個(gè)虛擬的圓環(huán),稱為哈希環(huán),整個(gè)哈希空間的取值范圍為0~232-1。接著對(duì)每個(gè)服務(wù)器(服務(wù)器IP/服務(wù)器主機(jī)名)使用哈希函數(shù)進(jìn)行哈希,確定每臺(tái)服務(wù)器在哈希環(huán)上的位置(A、B、C)。將需要存儲(chǔ)的對(duì)象使用相同的函數(shù)哈希計(jì)算出哈希值,確定此對(duì)象在哈希環(huán)上的位置(1、2、3、4),從此位置沿環(huán)順時(shí)針尋找,第一臺(tái)遇到的服務(wù)器就是存儲(chǔ)該數(shù)據(jù)的服務(wù)器哈希環(huán)的虛擬節(jié)點(diǎn)機(jī)制為了解決哈希環(huán)的傾斜,一致性哈希算法引入了虛擬節(jié)點(diǎn)機(jī)制。該機(jī)制要求對(duì)每個(gè)物理服務(wù)節(jié)點(diǎn)執(zhí)行多次哈希計(jì)算,每次計(jì)算都會(huì)生成一個(gè)獨(dú)特的哈希值,這些哈希值在哈希環(huán)上各自占據(jù)一個(gè)位置,這些位置上的服務(wù)節(jié)點(diǎn)稱為虛擬節(jié)點(diǎn)(A-p1、A-p2、B-p1、B-p2、C-p1、C-p2),一個(gè)實(shí)際物理節(jié)點(diǎn)可以對(duì)應(yīng)多個(gè)虛擬節(jié)點(diǎn),虛擬節(jié)點(diǎn)越多,Hash環(huán)上的節(jié)點(diǎn)就越多,緩存被均勻分布的概率就越大,Hash環(huán)傾斜所帶來(lái)的影響就越小,同時(shí)數(shù)據(jù)定位算法不變,只是多了一步虛擬節(jié)點(diǎn)到實(shí)際節(jié)點(diǎn)的映射。具體做法可以在服務(wù)器IP或主機(jī)名的后面增加編號(hào)來(lái)實(shí)現(xiàn)。數(shù)據(jù)一致性模型Swift采用最終一致性模型(EventualConsistency),使用Quorum仲裁協(xié)議實(shí)現(xiàn)高可用性和無(wú)限水平擴(kuò)展能力。Quorum仲裁協(xié)議中包含N、W和R三個(gè)參數(shù),N表示數(shù)據(jù)的副本總數(shù),W表示寫操作被確認(rèn)接受的副本數(shù)量,R表示讀操作的副本數(shù)量。Quorum仲裁協(xié)議的具體實(shí)現(xiàn)如下:強(qiáng)一致性:R+W>N,確保讀寫操作的副本集合會(huì)產(chǎn)生交集,從而確??梢宰x取到最新版本。弱一致性:R+W<=N,當(dāng)讀寫操作的副本集合沒有交集,就可能會(huì)讀取到臟數(shù)據(jù);適合對(duì)一致性要求較低的場(chǎng)景。Swift默認(rèn)配置是N=3,W=2,R=1或2,即每個(gè)對(duì)象會(huì)有三個(gè)副本,這三個(gè)副本會(huì)被存儲(chǔ)在不同區(qū)域的節(jié)點(diǎn)上;W=2表示至少需要更新兩個(gè)副本才算寫成功。當(dāng)R=1(弱一致性)時(shí),意味著某一個(gè)讀操作成功便立刻返回結(jié)果,這種情況下會(huì)讀取到舊版本。當(dāng)R=2(強(qiáng)一致性)時(shí),需要通過(guò)在讀操作請(qǐng)求頭中增加x-newest=true參數(shù)來(lái)同時(shí)讀取2個(gè)副本的元數(shù)據(jù)信息,然后比較時(shí)間戳來(lái)確定哪個(gè)是最新版本。數(shù)據(jù)上傳及下載上傳(Upload)客戶端使用RESTAPI發(fā)出HTTP請(qǐng)求,將對(duì)象放入現(xiàn)有容器中。ProxyServer接收請(qǐng)求,依據(jù)賬戶名、容器名和對(duì)象名在環(huán)中進(jìn)行查找,確定該對(duì)象所在的分區(qū)的存儲(chǔ)節(jié)點(diǎn),然后將數(shù)據(jù)發(fā)送到每個(gè)存儲(chǔ)節(jié)點(diǎn),并將其放置在相應(yīng)的分區(qū)中。三次寫入中至少成功兩次,客戶端才會(huì)收到上載成功的通知,隨后異步更新容器數(shù)據(jù)庫(kù),以反映其中有一個(gè)新對(duì)象。下載(Download)使用與上傳時(shí)相同的哈希算法,確定分區(qū)索引,并查找包含該分區(qū)的存儲(chǔ)節(jié)點(diǎn)。向其中一個(gè)存儲(chǔ)節(jié)點(diǎn)發(fā)出獲取對(duì)象的請(qǐng)求,如果失敗,則向其他節(jié)點(diǎn)發(fā)出請(qǐng)求。03OpenStack對(duì)象存儲(chǔ)管理OpenStack命令行CLI使用命令行CLI方式管理對(duì)象存儲(chǔ)時(shí),需要在控制節(jié)點(diǎn)上執(zhí)行相應(yīng)命令來(lái)創(chuàng)建容器,并在容器中完成數(shù)據(jù)的上傳和下載。命令作用命令作用openstackcontainercreate創(chuàng)建容器openstackobjectcreate上傳文件(對(duì)象)到容器中openstackcontainerdelete刪除容器openstackobjectdelete刪除容器中的文件(對(duì)象)openstackcontainerlist列出所有容器openstackobjectlist列出容器中的所有文件(對(duì)象)openstackcontainersave本地保存容器內(nèi)容openstackobjectsave本地保存文件(對(duì)象)內(nèi)容openstackcontainerset設(shè)置容器的屬性openstackobjectset設(shè)置文件(對(duì)象)屬性openstackcontainershow顯示容器細(xì)節(jié)openstackobjectshow現(xiàn)實(shí)文件(對(duì)象)細(xì)節(jié)openstackcontainerunset取消設(shè)置容器的屬性O(shè)penStackWebUIWebUI方式是管理員在頁(yè)面進(jìn)行容器的創(chuàng)建及文件的上傳下載。參數(shù)作用openstackcontainercreate創(chuàng)建容器openstackcontainerdelete刪除容器openstackcontainerlist列出所有容器openstackcontainersave本地保存容器內(nèi)容openstackcontainerset設(shè)置容器的屬性openstackcontainersho
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度旅游景區(qū)保安臨時(shí)工臨時(shí)服務(wù)合同
- 二零二五年度醫(yī)療貸款擔(dān)保人免責(zé)服務(wù)合同
- 二零二五年度旅游產(chǎn)品未簽合同消費(fèi)者權(quán)益保障合同
- 2025年度智能制造行業(yè)勞動(dòng)合同解除及保密協(xié)議模板
- 2025年度購(gòu)物中心店面轉(zhuǎn)租與租賃期滿續(xù)約合同
- 天津市2025年度租賃房屋裝修與維修責(zé)任協(xié)議
- 二零二五年度美容院轉(zhuǎn)讓合同附帶技術(shù)培訓(xùn)與售后服務(wù)
- 二零二五年度專業(yè)培訓(xùn)機(jī)構(gòu)教師團(tuán)隊(duì)建設(shè)與培養(yǎng)合同
- 2025年遂寧考從業(yè)資格證貨運(yùn)試題
- 2025年銀川貨運(yùn)從業(yè)資格證考試題目及答案解析
- 沒頭腦和不高興-竇桂梅.精選優(yōu)秀PPT課件
- 鋼棧橋計(jì)算書(excel版)
- 租賃合同審批表
- 事業(yè)單位綜合基礎(chǔ)知識(shí)考試題庫(kù) 綜合基礎(chǔ)知識(shí)考試題庫(kù).doc
- 巖石堅(jiān)固性和穩(wěn)定性分級(jí)表
- 譯林初中英語(yǔ)教材目錄
- 律師事務(wù)所函[]第號(hào)
- 物業(yè)交付后工程維修工作機(jī)制
- 農(nóng)作物病蟲害專業(yè)化統(tǒng)防統(tǒng)治管理辦法
- 新形勢(shì)下如何做一名合格的鄉(xiāng)鎮(zhèn)干部之我見
- 食品經(jīng)營(yíng)單位經(jīng)營(yíng)場(chǎng)所和設(shè)備布局、操作流程示意圖模板
評(píng)論
0/150
提交評(píng)論