• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenStack Manila的多租戶多協(xié)議共享存儲(chǔ)平臺(tái)

      2020-01-03 08:59:32張秋萍
      現(xiàn)代計(jì)算機(jī) 2019年33期
      關(guān)鍵詞:存儲(chǔ)資源租戶組件

      張秋萍

      (山東省計(jì)算中心,國(guó)家超級(jí)計(jì)算濟(jì)南中心,濟(jì)南 250101)

      0 引言

      OpenStack是一個(gè)開(kāi)源的云計(jì)算平臺(tái)項(xiàng)目,它的開(kāi)源社區(qū)維護(hù)了幾個(gè)核心服務(wù)組件,用于實(shí)現(xiàn)對(duì)于計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)資源、租戶/域等內(nèi)容的管理,經(jīng)過(guò)近十年的運(yùn)行,OpenStack已可以提供大規(guī)模擴(kuò)展的私有云和公有云服務(wù),成為眾多企業(yè)“上云”的首選。

      Cinder作為OpenStack一個(gè)核心組件,為Open-Stack云平臺(tái)提供存儲(chǔ)服務(wù)。Cinder本身并不是存儲(chǔ)資源,而是在云主機(jī)和存儲(chǔ)設(shè)備之間引入了一層“邏輯存儲(chǔ)卷”,實(shí)現(xiàn)統(tǒng)一抽象的存儲(chǔ)接口來(lái)對(duì)接不同的存儲(chǔ)類(lèi)型,使OpenStack可以對(duì)接不同的存儲(chǔ)類(lèi)型,在用戶提供的存儲(chǔ)資源上,Cinder可實(shí)現(xiàn)與普通硬盤(pán)類(lèi)似的“云硬盤(pán)”管理服務(wù)。

      雖然Cinder可以為OpenStack平臺(tái)內(nèi)的用戶提供存儲(chǔ)服務(wù),卻不具備共享存儲(chǔ)能力,無(wú)法為多用戶或多主機(jī)提供同時(shí)訪問(wèn)同一存儲(chǔ)盤(pán)的能力。為實(shí)現(xiàn)文件共享存儲(chǔ),OpenStack衍生出Manila子項(xiàng)目,該項(xiàng)目可以為OpenStack平臺(tái)提供基于CIFS協(xié)議和NFS協(xié)議的共享文件存儲(chǔ)服務(wù),OpenStack平臺(tái)內(nèi)同一用戶下的多個(gè)主機(jī)可使用CIFS協(xié)議或NFS協(xié)議其中之一訪問(wèn)同一塊共享存儲(chǔ)內(nèi)容。不過(guò),Manila項(xiàng)目?jī)H可為Open-Stack平臺(tái)提供“云上”的共享存儲(chǔ)服務(wù),且現(xiàn)有的實(shí)現(xiàn)中僅能支持CIFS協(xié)議或NFS協(xié)議中的一種,雖然能支持同一用戶的多主機(jī)訪問(wèn),卻不能滿足多租戶的多主機(jī)同時(shí)訪問(wèn),也不能滿足同一用戶的多主機(jī)使用不同的協(xié)議訪問(wèn),為了滿足這一需求,本文進(jìn)行研究并結(jié)合實(shí)際生產(chǎn)需求,進(jìn)行改進(jìn)和實(shí)現(xiàn)。

      1 Manila組件主要架構(gòu)

      Manila服務(wù)組件的技術(shù)架構(gòu)如圖1所示,與Open-Stack的其他服務(wù)一樣,使用Python進(jìn)行了開(kāi)發(fā),且總體技術(shù)結(jié)構(gòu)也與核心組件保持了一致,組件之間通訊可通過(guò)RPC或API接口的,以插件的形式作為Open-Stack服務(wù)組件。

      圖1 Manila組件架構(gòu)

      Manila服務(wù)創(chuàng)建共享存儲(chǔ)的流程如圖2所示,Manila各子服務(wù)之間及和其他服務(wù)組件通訊時(shí)若需要經(jīng)過(guò)網(wǎng)絡(luò)層,使用OpenStack Neutron服務(wù)提供的網(wǎng)絡(luò)進(jìn)行通訊,基本上,用戶在使用Manila服務(wù)提供的功能之前需首先創(chuàng)建網(wǎng)絡(luò)(共享存儲(chǔ)網(wǎng)絡(luò)),并確保共享存儲(chǔ)與訪問(wèn)共享存儲(chǔ)時(shí)的云主機(jī)處于同一網(wǎng)絡(luò)下。

      圖2 Manila共享存儲(chǔ)創(chuàng)建流程

      Manila針對(duì)底層存儲(chǔ)資源進(jìn)行抽象,可以對(duì)接CephFS、容器、HDFS、Windows文件存儲(chǔ)、華為云存儲(chǔ)、IBM及OpenStack的Cinder存儲(chǔ)卷等多種存儲(chǔ)資源或接口。Manila可支持多種底層存儲(chǔ)資源和類(lèi)型成為共享存儲(chǔ)。當(dāng)使用特定的存儲(chǔ)資源時(shí),首先將存儲(chǔ)資源與OpenStack存儲(chǔ)服務(wù)對(duì)接,創(chuàng)建共享存儲(chǔ)時(shí)就會(huì)從資源池中創(chuàng)建對(duì)應(yīng)的存儲(chǔ)卷。不過(guò),Manila服務(wù)不能支持將已有的存儲(chǔ)卷或資源共享出來(lái),即若OpenStack已經(jīng)將某一塊存儲(chǔ)資源創(chuàng)建成為存儲(chǔ)卷,Manila服務(wù)則不能使用該存儲(chǔ)卷提供共享服務(wù),提供共享服務(wù)時(shí)必須要重新分配存儲(chǔ)卷或資源。

      Manila現(xiàn)有的共享存儲(chǔ),可支持NFS或CIFS網(wǎng)絡(luò)文件傳輸協(xié)議中的一種,具體來(lái)說(shuō),Manila服務(wù)為每個(gè)Manila共享存儲(chǔ)網(wǎng)絡(luò)提供了一臺(tái)OpenStack云主機(jī)作為共享存儲(chǔ)服務(wù)器,服務(wù)器上預(yù)先安裝了NSF和CIFS服務(wù),當(dāng)用戶創(chuàng)建共享存儲(chǔ)時(shí),首先指定具體的網(wǎng)絡(luò)文件傳輸協(xié)議:NFS或CIFS,共享存儲(chǔ)服務(wù)器根據(jù)用戶選定的網(wǎng)絡(luò)文件傳輸協(xié)議,利用NSF和CIFS服務(wù)初始化對(duì)應(yīng)協(xié)議的配置。

      當(dāng)用戶的主機(jī)需要訪問(wèn)共享存儲(chǔ)時(shí),Manila需首先為主機(jī)進(jìn)行共享存儲(chǔ)授權(quán),如圖3所示,將該主機(jī)的IP信息,通過(guò)遠(yuǎn)程調(diào)用的方式寫(xiě)入到共享存儲(chǔ)服務(wù)器的配置中,并為其開(kāi)通NSF或CIFS協(xié)議訪問(wèn)共享存儲(chǔ)服的權(quán)限,Manila允許主機(jī)訪問(wèn)共享存儲(chǔ),實(shí)際上是允許主機(jī)訪問(wèn)共享存儲(chǔ)服務(wù)器。

      圖3 Manila共享存儲(chǔ)授權(quán)流程

      Manila目前的技術(shù)架構(gòu)和實(shí)現(xiàn),為OpenStack云平臺(tái),提供了單用戶下,多主機(jī)、單網(wǎng)絡(luò)文件傳輸協(xié)議的文件共享存儲(chǔ)服務(wù)。下文將展開(kāi)論述基于Manila實(shí)現(xiàn)多租戶、多協(xié)議,并將已有存儲(chǔ)卷作為共享存儲(chǔ)。

      2 基于Manila實(shí)現(xiàn)的多租戶、多協(xié)議共享存儲(chǔ)設(shè)計(jì)

      基于Manila服務(wù)組件實(shí)現(xiàn)多租戶、多協(xié)議的共享存儲(chǔ),即在Manila原有服務(wù)的基礎(chǔ)上,同時(shí)支持多租戶使用不同的網(wǎng)絡(luò)文件傳輸協(xié)議訪問(wèn)共享存儲(chǔ),同時(shí)在對(duì)接Cinder存儲(chǔ)時(shí),還實(shí)現(xiàn)了從已有的存儲(chǔ)卷創(chuàng)建共享存儲(chǔ),將已有存儲(chǔ)卷上的內(nèi)容共享出去,而不需要每次都創(chuàng)建新的存儲(chǔ)卷。多租戶、多協(xié)議共享存儲(chǔ)技術(shù)架構(gòu)如圖4所示。

      2. 1 獨(dú)立認(rèn)證體系實(shí)現(xiàn)多租戶訪問(wèn)

      Manila使用OpenStack的keystone認(rèn)證服務(wù)作為認(rèn)證中間件,如圖5所示,這使得Manila在租戶、認(rèn)證等方面完全和其他OpenStack組件一樣,當(dāng)OpenStack的用戶訪問(wèn)Manila服務(wù)時(shí),每個(gè)用戶只能訪問(wèn)自己創(chuàng)建的共享存儲(chǔ),因此一個(gè)Manila的共享存儲(chǔ)無(wú)法滿足多個(gè)用戶的訪問(wèn)。

      圖5 Manila keystone認(rèn)證體系

      為使共享存儲(chǔ)滿足多個(gè)用戶同時(shí)訪問(wèn),平臺(tái)設(shè)計(jì)獨(dú)立的用戶認(rèn)證體系,去除Manila組件中keystone認(rèn)證模塊,每個(gè)用戶需進(jìn)行認(rèn)證的同時(shí),還可訪問(wèn)同一個(gè)共享存儲(chǔ)。修改后的認(rèn)證架構(gòu)如圖6所示。

      圖6 Manila獨(dú)立認(rèn)證體系

      2. 2 實(shí)現(xiàn)多種網(wǎng)絡(luò)文件訪問(wèn)協(xié)議

      在第1節(jié)中描述了Manila的共享存儲(chǔ)同一時(shí)間僅可支持一種網(wǎng)絡(luò)文件傳輸協(xié)議,這是由于用戶指定文件傳輸協(xié)議時(shí),Manila服務(wù)會(huì)在共享存儲(chǔ)服務(wù)器上初始化對(duì)應(yīng)協(xié)議的配置。為滿足多種網(wǎng)絡(luò)文件傳輸協(xié)議同時(shí)訪問(wèn),修改Manila組件中配置文件傳輸協(xié)議的部分,若用戶在創(chuàng)建共享存儲(chǔ)時(shí)指定多種網(wǎng)絡(luò)文件傳輸協(xié)議,Manila服務(wù)會(huì)在共享存儲(chǔ)創(chuàng)建后,調(diào)用命令向共享存儲(chǔ)服務(wù)器添加兩條網(wǎng)絡(luò)文件傳輸協(xié)議規(guī)則:CIFS和NFS各一條;對(duì)主機(jī)進(jìn)行訪問(wèn)授權(quán)時(shí),也會(huì)分別對(duì)主機(jī)IP在CIFS和NFS服務(wù)配置中進(jìn)行授權(quán),允許主機(jī)通過(guò)CIFS和NFS協(xié)議訪問(wèn)進(jìn)行掛載或連接操作。

      2. 3 從已有存儲(chǔ)卷創(chuàng)建共享存儲(chǔ)

      當(dāng)用戶創(chuàng)建共享存儲(chǔ)時(shí)Manila首先創(chuàng)建一塊存儲(chǔ)卷,再為存儲(chǔ)卷配置訪問(wèn)規(guī)則,最終完成共享存儲(chǔ)的初始化。但在實(shí)際應(yīng)用中,從已有存儲(chǔ)卷創(chuàng)建共享存儲(chǔ),卻是非常常見(jiàn)的應(yīng)用場(chǎng)景:若用戶已有一塊存儲(chǔ)卷,且存儲(chǔ)卷中存放了要共享的數(shù)據(jù),則當(dāng)前共享存儲(chǔ)的創(chuàng)建和授權(quán)流程無(wú)法滿足這種需求。為滿足這種使用場(chǎng)景,平臺(tái)修改Manila服務(wù)組件中初始化存儲(chǔ)卷的內(nèi)容:若用戶創(chuàng)建共享存儲(chǔ)時(shí)不指定存儲(chǔ)卷,則沿用已有方式,創(chuàng)建一塊新的數(shù)據(jù)盤(pán)并進(jìn)行格式化,共享存儲(chǔ)服務(wù)器使用新盤(pán)進(jìn)行相關(guān)配置;若用戶指定存儲(chǔ)卷,則不再進(jìn)行創(chuàng)建和格式化流程,僅提供出已有存儲(chǔ)卷的訪問(wèn)接口,共享存儲(chǔ)服務(wù)器使用已有數(shù)據(jù)盤(pán)進(jìn)行相關(guān)配置,完成后續(xù)創(chuàng)建和配置流程,用戶或主機(jī)訪問(wèn)此共享存儲(chǔ)時(shí),仍然可訪問(wèn)存儲(chǔ)在數(shù)據(jù)盤(pán)上的數(shù)據(jù)。

      3 技術(shù)架構(gòu)介紹

      平臺(tái)采用Python作為主要開(kāi)發(fā)語(yǔ)言,技術(shù)架構(gòu)如圖7所示,沿用Manila原有技術(shù)機(jī)構(gòu),平臺(tái)各項(xiàng)服務(wù)均提供RPC和HTTP API的調(diào)用方式。調(diào)用時(shí)首先經(jīng)過(guò)認(rèn)證,認(rèn)證通過(guò)后方可進(jìn)入存儲(chǔ)卷服務(wù)調(diào)用流程,存儲(chǔ)卷服務(wù)中提供新建存儲(chǔ)卷和使用原有存儲(chǔ)卷兩種方式,存儲(chǔ)卷準(zhǔn)備完成后,在共享存儲(chǔ)服務(wù)器上完成網(wǎng)絡(luò)文件傳輸協(xié)議配置,并將存儲(chǔ)卷掛載到共享存儲(chǔ)服務(wù)器上。

      圖7 共享存儲(chǔ)平臺(tái)技術(shù)架構(gòu)

      各服務(wù)功能如下:

      (1)認(rèn)證服務(wù):與數(shù)據(jù)庫(kù)進(jìn)行交互,對(duì)HTTP API方式的訪問(wèn)者進(jìn)行認(rèn)證和鑒權(quán)。

      (2)存儲(chǔ)卷管理服務(wù):對(duì)接底層存儲(chǔ)資源,負(fù)責(zé)底層存儲(chǔ)資源與存儲(chǔ)卷的相互轉(zhuǎn)換,實(shí)現(xiàn)對(duì)存儲(chǔ)卷的創(chuàng)建、修改、刪除等功能。

      (3)網(wǎng)絡(luò)文件傳輸協(xié)議配置服務(wù):對(duì)已存在的存儲(chǔ)卷,進(jìn)行CIFS和NFS協(xié)議配置,在共享存儲(chǔ)服務(wù)器中添加或刪除相應(yīng)的訪問(wèn)協(xié)議規(guī)則。

      (4)掛載服務(wù):對(duì)主機(jī)或用戶進(jìn)行配置,允許用戶或主機(jī)訪問(wèn)特定的共享存儲(chǔ)卷。

      4 服務(wù)部署

      平臺(tái)支持分布式多節(jié)點(diǎn)部署,在實(shí)際使用中可根據(jù)用戶使用量水平擴(kuò)展服務(wù),平臺(tái)的部署包括Open-Stack Manila組件部署、共享存儲(chǔ)服務(wù)器運(yùn)行節(jié)點(diǎn)部署及其他服務(wù)部署。

      平臺(tái)使用Ubuntu 16.04操作系統(tǒng),使用apt工具安裝OpenStack Manila和Neutron服務(wù)組件,底層采用CephFS存儲(chǔ)池,共享存儲(chǔ)服務(wù)器為Manila組件提供的Linux服務(wù)器,用戶創(chuàng)建共享存儲(chǔ)網(wǎng)絡(luò)時(shí)Manila組件自動(dòng)創(chuàng)建共享存儲(chǔ)服務(wù)器。平臺(tái)的認(rèn)證、存儲(chǔ)卷管理、網(wǎng)絡(luò)文件傳輸協(xié)議配置、掛載、數(shù)據(jù)庫(kù)等服務(wù),則可根據(jù)實(shí)際需求水平擴(kuò)展,同時(shí)使用HA策略實(shí)現(xiàn)各服務(wù)的多節(jié)點(diǎn)高可用,平臺(tái)部署圖如圖8所示。

      圖8 共享存儲(chǔ)平臺(tái)部署架構(gòu)

      5 結(jié)語(yǔ)

      基于OpenStack Manila的多租戶多協(xié)議共享存儲(chǔ)平臺(tái),利用OpenStack核心組件和Manila組件的原有功能,對(duì)用戶認(rèn)證、多文件傳輸協(xié)議、存儲(chǔ)卷管理等內(nèi)容進(jìn)行了修改和優(yōu)化,使用多節(jié)點(diǎn)高可用部署,最終實(shí)現(xiàn)了一個(gè)高可用的共享存儲(chǔ)平臺(tái)。

      猜你喜歡
      存儲(chǔ)資源租戶組件
      無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      一種基于區(qū)塊鏈的存儲(chǔ)資源可信分配方法
      新型碎邊剪刀盤(pán)組件
      U盾外殼組件注塑模具設(shè)計(jì)
      基于MVC模式的多租戶portlet應(yīng)用研究*
      用SSD提升私有云存儲(chǔ)性能
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      租戶是大爺
      特別文摘(2014年17期)2014-09-18 01:31:21
      企業(yè)多租戶云存儲(chǔ)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
      SaaS模式下多租戶數(shù)據(jù)比較存儲(chǔ)模式研究
      广饶县| 长葛市| 兴业县| 蚌埠市| 道真| 汾西县| 广水市| 平安县| 长兴县| 华蓥市| 广水市| 凤台县| 兖州市| 南丹县| 贡嘎县| 修文县| 临高县| 凌云县| 二连浩特市| 舞钢市| 高唐县| 阿合奇县| 毕节市| 商水县| 平阴县| 河津市| 湟中县| 益阳市| 讷河市| 城市| 香格里拉县| 徐闻县| 安徽省| 丁青县| 广德县| 囊谦县| 广丰县| 育儿| 福清市| 罗田县| 屯门区|