亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Ceph存儲(chǔ)系統(tǒng)中節(jié)點(diǎn)的容錯(cuò)選擇算法

        2022-11-05 10:06:04夏亞楠

        夏亞楠, 王 勇

        (桂林電子科技大學(xué) 計(jì)算機(jī)與信息安全學(xué)院,廣西 桂林 541004)

        隨著信息化的普及,各行各業(yè)每天產(chǎn)生的數(shù)據(jù)量都在以指數(shù)級(jí)的速度快速增長(zhǎng),預(yù)計(jì)到2025年,全球數(shù)據(jù)量相較2016年將增加10倍[1]。傳統(tǒng)的存儲(chǔ)模式已經(jīng)無(wú)法應(yīng)對(duì)海量數(shù)據(jù)的存儲(chǔ)需求,而分布式存儲(chǔ)系統(tǒng)通過(guò)廉價(jià)的商用硬件較好地解決了這一問(wèn)題,目前投入商業(yè)使用的有OpenStack Swift、Amazon EBS、Ceph等[2]。其中,Ceph因具有可擴(kuò)展性、高性能、統(tǒng)一存儲(chǔ)以及適用范圍廣的優(yōu)勢(shì),被廣泛應(yīng)用于當(dāng)前主流的軟硬平臺(tái)。

        作為分布式對(duì)象存儲(chǔ)典型代表,Ceph 最初由Weil等開(kāi)發(fā)提出,十多年間已經(jīng)有超過(guò)100家公司(機(jī)構(gòu))研究與使用Ceph,其中包括歐洲原子能研究組織、Yahoo、阿里巴巴等。同時(shí)由于不同的應(yīng)用場(chǎng)景對(duì)存儲(chǔ)系統(tǒng)的關(guān)注點(diǎn)不同,吸引許多學(xué)者開(kāi)展了一系列針對(duì)Ceph性能優(yōu)化的研究,主要包括讀寫(xiě)性能優(yōu)化、節(jié)點(diǎn)工作負(fù)載優(yōu)化、存儲(chǔ)數(shù)據(jù)分布的優(yōu)化等方面。為了提高Ceph中數(shù)據(jù)的讀寫(xiě)性能,Zhan等[3]針對(duì)librados庫(kù)方法,應(yīng)用2種多線程算法來(lái)優(yōu)化讀寫(xiě)性能,使得大文件的下載速度和小文件的上傳、下載速度得到了提升;Ceph節(jié)點(diǎn)工作負(fù)載方面,Sevilla等[4]設(shè)計(jì)了可編程元數(shù)據(jù)存儲(chǔ)系統(tǒng),將策略和遷移機(jī)制分離,可以滿足用戶不同需求時(shí)節(jié)點(diǎn)負(fù)載均衡;在存儲(chǔ)節(jié)點(diǎn)選擇方面,SHA 等[5]根據(jù)Ceph的架構(gòu)和MapReduce的特性,提出了一種混合整數(shù)線性規(guī)劃方法來(lái)選擇最優(yōu)的存儲(chǔ)節(jié)點(diǎn),解決了Ceph存儲(chǔ)系統(tǒng)中應(yīng)用MapReduce算法配合CRUSH 算法進(jìn)行節(jié)點(diǎn)選擇時(shí)系統(tǒng)性能較差的問(wèn)題。但是這些對(duì)Ceph集群數(shù)據(jù)存儲(chǔ)位置選擇策略和工作負(fù)載的研究并未考慮節(jié)點(diǎn)間的網(wǎng)絡(luò)狀態(tài)信息。

        SDN作為一種新的網(wǎng)絡(luò)模型,解決了傳統(tǒng)的網(wǎng)絡(luò)狀態(tài)測(cè)量方法存在的網(wǎng)絡(luò)配置復(fù)雜且資源消耗較大的問(wèn)題[6]。目前SDN在網(wǎng)絡(luò)狀態(tài)信息測(cè)量方面的研究有:Harewood-Gill等[7]針對(duì)現(xiàn)有網(wǎng)絡(luò)方法無(wú)法應(yīng)對(duì)Qos要求指數(shù)增長(zhǎng)的問(wèn)題,提出利用SDN 綜合考慮時(shí)延和帶寬的Q-Routing算法來(lái)選擇最佳路徑,該算法與K-Shortest Path算法相比具有更快的路徑計(jì)算速度;Okwuibe等[8]在邊緣云環(huán)境下提出一種基于SDN的資源管理模型,該模型對(duì)內(nèi)存、帶寬等資源進(jìn)行集中管理,并自動(dòng)計(jì)算不同條件下的最佳資源分配方案,根據(jù)預(yù)定義的約束動(dòng)態(tài)調(diào)整分配的資源,降低了系統(tǒng)的部署成本;王勇等[9]設(shè)計(jì)出一種SDN與Ceph結(jié)合的架構(gòu),利用SDN 獲取的信息選擇性能最優(yōu)OSD 的方式,顯著提升了Ceph的讀性能。這些工作為在Ceph中獲取網(wǎng)絡(luò)狀態(tài)信息來(lái)進(jìn)行節(jié)點(diǎn)選擇提供了有力依據(jù)。

        雖然國(guó)內(nèi)外學(xué)者在Ceph性能優(yōu)化和利用SDN優(yōu)化網(wǎng)絡(luò)存儲(chǔ)方面取得了很多成果,但較少有研究從利用SDN獲取的網(wǎng)絡(luò)信息來(lái)增強(qiáng)系統(tǒng)容錯(cuò)性的角度優(yōu)化Ceph性能[10]。因此,考慮Ceph集群中節(jié)點(diǎn)的負(fù)載狀況,結(jié)合SDN中集中控制思想,給出一種提升集群故障節(jié)點(diǎn)修復(fù)性能的節(jié)點(diǎn)容錯(cuò)選擇(fault-tolerant node selection based on Ceph,簡(jiǎn)稱(chēng)FTNSC)算法。

        1 Ceph數(shù)據(jù)修復(fù)過(guò)程及問(wèn)題描述

        Ceph的三副本模式提供了良好的容錯(cuò)性,使得在出現(xiàn)磁盤(pán)故障、服務(wù)器宕機(jī)等故障時(shí)不會(huì)出現(xiàn)數(shù)據(jù)丟失,但在故障發(fā)生后仍需對(duì)丟失的副本數(shù)據(jù)進(jìn)行修復(fù),以保證數(shù)據(jù)的高可靠性[11]。按照是否能夠依靠日志進(jìn)行修復(fù),Ceph中存在2種修復(fù)方式:Recovery和Backfill[12]??紤]受損副本能夠通過(guò)日志進(jìn)行修復(fù)的Recovery過(guò)程。根據(jù)受損副本存在的位置不同,Recovery有2種修復(fù)的方式,當(dāng)降級(jí)對(duì)象在Primary PG上時(shí),Primary PG所在主OSD會(huì)通過(guò)Pull方式從其他的副本拉取待修復(fù)對(duì)象的權(quán)威版本至本地完成修復(fù);當(dāng)其他副本存在降級(jí)對(duì)象時(shí),Primary PG所在主OSD 會(huì)通過(guò)Push方式主動(dòng)將待修復(fù)對(duì)象的權(quán)威版本推送到目標(biāo)副本,由副本完成修復(fù)[13]。最后當(dāng)數(shù)據(jù)修復(fù)工作完成后,副本中的數(shù)據(jù)恢復(fù)一致。若數(shù)據(jù)放置節(jié)點(diǎn)的負(fù)載較高或節(jié)點(diǎn)間網(wǎng)絡(luò)狀態(tài)較差,將會(huì)影響數(shù)據(jù)修復(fù)過(guò)程的修復(fù)時(shí)延。

        Ceph中數(shù)據(jù)的映射過(guò)程如圖1所示,從圖1可知,Ceph將數(shù)據(jù)映射到OSD上主要分為3步:1)將文件切分為同等大小的多個(gè)對(duì)象,每個(gè)對(duì)象獲得唯一的ID,記為oid。2)利用哈希函數(shù)對(duì)每個(gè)oid進(jìn)行哈希運(yùn)算,得到的結(jié)果與mask(mask=PGs-1)值按位進(jìn)行與操作,生成PG的編號(hào)pgid。3)通過(guò)crush算法將PG映射到OSD中。此過(guò)程運(yùn)算如式(1)所示。

        圖1 數(shù)據(jù)映射過(guò)程

        其中:CRUSH_Map表示保存集群拓?fù)錉顟B(tài)等信息的映射表;CRUSH_Rule表示副本的容錯(cuò)規(guī)則,最終得到存放三副本的3個(gè)OSD,其中編號(hào)最小的為Primary OSD(主OSD),剩余的為Replica OSD(次OSD)。在CRUSH 算法中,CRUSH Maps作為記錄存儲(chǔ)集群的層級(jí)結(jié)構(gòu)與副本映射以及節(jié)點(diǎn)權(quán)重的參數(shù),將存儲(chǔ)容量作為權(quán)重決策的唯一因素,卻未考慮節(jié)點(diǎn)負(fù)載和網(wǎng)絡(luò)狀態(tài)對(duì)于集群的影響,這會(huì)導(dǎo)致節(jié)點(diǎn)負(fù)載過(guò)高或網(wǎng)絡(luò)性能很差的節(jié)點(diǎn)仍會(huì)被選為存儲(chǔ)節(jié)點(diǎn),影響集群的整體性能。

        根據(jù)對(duì)Ceph發(fā)生故障時(shí)的數(shù)據(jù)修復(fù)過(guò)程和節(jié)點(diǎn)的選擇算法分析發(fā)現(xiàn),雖然Ceph的節(jié)點(diǎn)選擇策略能夠?qū)?shù)據(jù)均勻地分布在集群中的同時(shí),也保證了集群的穩(wěn)定性和靈活性,但是由于CRUSH 過(guò)程將節(jié)點(diǎn)的剩余存儲(chǔ)容量作為數(shù)據(jù)映射過(guò)程中選擇主次OSD的唯一決定因素,當(dāng)有節(jié)點(diǎn)發(fā)生故障時(shí)較高的節(jié)點(diǎn)負(fù)載和副本之間較差的網(wǎng)絡(luò)狀態(tài)會(huì)導(dǎo)致節(jié)點(diǎn)的修復(fù)時(shí)延較長(zhǎng),后續(xù)故障會(huì)導(dǎo)致更高的數(shù)據(jù)丟失概率。針對(duì)上述問(wèn)題,綜合考慮異構(gòu)節(jié)點(diǎn)的性能和副本之間的網(wǎng)絡(luò)狀態(tài),建立優(yōu)化Ceph系統(tǒng)性能的存儲(chǔ)節(jié)點(diǎn)選擇模型,以期在節(jié)點(diǎn)發(fā)生故障時(shí)能夠盡快地完成數(shù)據(jù)修復(fù),減少發(fā)生數(shù)據(jù)損壞的風(fēng)險(xiǎn)。

        2 Ceph分布式存儲(chǔ)系統(tǒng)的節(jié)點(diǎn)容錯(cuò)選擇算法

        在具有N個(gè)OSD節(jié)點(diǎn)的Ceph集群中,每個(gè)節(jié)點(diǎn)最多可存放一份數(shù)據(jù)副本,將副本數(shù)設(shè)為3,則Ceph中的節(jié)點(diǎn)容錯(cuò)選擇問(wèn)題可總結(jié)為選擇合適的放置數(shù)據(jù)副本的OSD集合,使得節(jié)點(diǎn)出現(xiàn)故障時(shí),最小化節(jié)點(diǎn)的數(shù)據(jù)修復(fù)時(shí)延。根據(jù)對(duì)節(jié)點(diǎn)容錯(cuò)選擇方法的定義,按兩階段分別對(duì)主、次OSD進(jìn)行選擇。

        2.1 副本放置問(wèn)題建模

        將節(jié)點(diǎn)故障后的修復(fù)時(shí)延定義為2部分:節(jié)點(diǎn)處理時(shí)延和數(shù)據(jù)傳輸時(shí)延,具體模型構(gòu)建流程如圖2所示。

        圖2 模型構(gòu)建流程

        對(duì)于節(jié)點(diǎn)的處理時(shí)延,考慮節(jié)點(diǎn)異構(gòu)對(duì)于節(jié)點(diǎn)數(shù)據(jù)處理能力的影響,采用齊鳳林等[14]對(duì)節(jié)點(diǎn)處理能力的定義??紤]影響節(jié)點(diǎn)處理能力的因素有CPU性能、IO速率、內(nèi)存及芯片,分別用f1,f2,f3,f4來(lái)表示,并為這些影響因素分配相應(yīng)的權(quán)重w1,w2,w3,w4,則節(jié)點(diǎn)i的處理能力可表示為p=1

        假設(shè)節(jié)點(diǎn)Ni需要處理的數(shù)據(jù)量為D,能力轉(zhuǎn)化系數(shù)為?,則節(jié)點(diǎn)Ni對(duì)數(shù)據(jù)的處理時(shí)延為

        對(duì)于數(shù)據(jù)的傳輸時(shí)延,參考秦華等[15]對(duì)傳輸時(shí)延的定義,將傳輸路徑上各段鏈路的傳輸時(shí)延之和作為端到端的傳輸時(shí)延,設(shè)E(Ni,Nj)為節(jié)點(diǎn)Ni與Nj之間的傳輸路徑,b為路徑帶寬,則節(jié)點(diǎn)Ni與Nj之間的傳輸時(shí)延為

        在對(duì)失效節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行修復(fù)時(shí),若是主OSD故障,則需要從次OSD拉取需要修復(fù)的數(shù)據(jù)到本地;若次OSD發(fā)生故障,則需主OSD 主動(dòng)將數(shù)據(jù)Push到次OSD,整個(gè)數(shù)據(jù)修復(fù)時(shí)間包括源節(jié)點(diǎn)和目的節(jié)點(diǎn)的處理時(shí)間以及數(shù)據(jù)的傳輸時(shí)間:

        其中,約束條件(7)中rj表示節(jié)點(diǎn)j的剩余容量,Dij表示從節(jié)點(diǎn)i傳輸?shù)焦?jié)點(diǎn)j的數(shù)據(jù)量,式(7)確保放置副本內(nèi)容資源請(qǐng)求不超過(guò)節(jié)點(diǎn)的剩余容量。約束條件(8)表示共有2個(gè)節(jié)點(diǎn)為節(jié)點(diǎn)i的數(shù)據(jù)提供副本訪問(wèn),即保證每份數(shù)據(jù)的三副本存儲(chǔ)。式(9)表示只考慮單點(diǎn)故障即一次修復(fù)操作只修復(fù)一個(gè)失效節(jié)點(diǎn)。式(10)中,φij為二進(jìn)制決策變量,當(dāng)φij值為1時(shí),表示節(jié)點(diǎn)i將修復(fù)數(shù)據(jù)發(fā)往節(jié)點(diǎn)j,對(duì)節(jié)點(diǎn)j進(jìn)行故障修復(fù),當(dāng)φij值為0時(shí)則反之。式(11)中,xij表示副本放置的決策,xij=1時(shí),表示節(jié)點(diǎn)j為節(jié)點(diǎn)i提供副本訪問(wèn),當(dāng)xij值為0時(shí),表示節(jié)點(diǎn)j為節(jié)點(diǎn)i提供副本訪問(wèn)。

        2.2 基于多屬性決策的主OSD選擇

        根據(jù)Ceph數(shù)據(jù)映射過(guò)程可知,在Ceph的節(jié)點(diǎn)選擇中僅僅以節(jié)點(diǎn)的剩余存儲(chǔ)容量作為節(jié)點(diǎn)被選擇的權(quán)重因子。對(duì)此在考慮節(jié)點(diǎn)剩余容量的基礎(chǔ)上增加節(jié)點(diǎn)CPU、IO、芯片3個(gè)指標(biāo)作為節(jié)點(diǎn)選擇的權(quán)重因素,使用基于理想解的副本選擇方法確定出具有最優(yōu)處理性能的節(jié)點(diǎn),作為副本數(shù)據(jù)存放的主OSD。

        逼近理想解排序法(technique for order preference by similarity to ideal solution, 簡(jiǎn)稱(chēng)TOPSIS)是一種有效的多屬性決策方案,該方法從歸一化的原始數(shù)據(jù)矩陣中構(gòu)造出決策問(wèn)題的正理想解和負(fù)理想解,通過(guò)計(jì)算各方案與正、負(fù)理想解的距離作為評(píng)價(jià)方案的準(zhǔn)則[16]。主OSD選擇算法設(shè)計(jì)如下:

        步驟1:決策矩陣構(gòu)造及其歸一化

        設(shè)基于多屬性決策的主OSD 問(wèn)題中有m個(gè)節(jié)點(diǎn),得到節(jié)點(diǎn)方案集P={P1,P2,…,Pm},每個(gè)節(jié)點(diǎn)有4個(gè)屬性指標(biāo),構(gòu)成節(jié)點(diǎn)屬性集A={A1,A2,A3,A4},決策矩陣構(gòu)造如下:

        步驟2:構(gòu)造加權(quán)決策矩陣

        OSD節(jié)點(diǎn)的CPU、I/O、內(nèi)存及芯片對(duì)節(jié)點(diǎn)處理能力的影響是不同的,對(duì)于相對(duì)重要的屬性如I/O分配較大的權(quán)重因子,每個(gè)屬性分配的具體權(quán)重Wj通過(guò)實(shí)驗(yàn)的方式獲取[17]。得到加權(quán)決策矩陣

        其中,Z+表示加權(quán)決策矩陣的正理想解,由集群中所有候選節(jié)點(diǎn)上每種屬性的最大值構(gòu)成;Z-表示加權(quán)決策矩陣的負(fù)理想解,由集群中所有候選節(jié)點(diǎn)上每種屬性的最小值構(gòu)成。

        步驟4:計(jì)算每個(gè)候選節(jié)點(diǎn)到正負(fù)理想解的距離

        2.3 基于人工蜂群算法的次OSD選擇

        FTNSC算法在2.2節(jié)得到的節(jié)點(diǎn)性能最優(yōu)的主OSD基礎(chǔ)上,考慮節(jié)點(diǎn)性能以及與主OSD之間的網(wǎng)絡(luò)狀態(tài)對(duì)數(shù)據(jù)修復(fù)時(shí)延的影響,計(jì)算出不同候選節(jié)點(diǎn)的適應(yīng)度值,通過(guò)人工蜂群算法選擇出合適的次OSD節(jié)點(diǎn)。

        人工蜂群(artificial bee colony,簡(jiǎn)稱(chēng)ABC)算法是一種模擬蜂群尋找蜜源過(guò)程的群體智能優(yōu)化算法,具有結(jié)構(gòu)簡(jiǎn)單、控制參數(shù)較少及魯棒性強(qiáng)等特點(diǎn)。人工蜂群中的蜜蜂分為3種:雇傭蜂、跟隨蜂和偵查蜂。3種蜜蜂通過(guò)分工協(xié)作開(kāi)采蜜源,并通過(guò)蜜源的標(biāo)記與不斷分享更新位置尋找最優(yōu)蜜源,即問(wèn)題的最優(yōu)解[18]。其中,蜜源的位置對(duì)應(yīng)優(yōu)化問(wèn)題的一個(gè)可行解,蜜源的蜜量對(duì)應(yīng)適應(yīng)度值。算法步驟如下:

        1)解的構(gòu)造和編碼:基本的ABC算法適用于連續(xù)型論域,并不適用于本節(jié)點(diǎn)選擇問(wèn)題的整數(shù)編碼方式,因此將其進(jìn)行離散化處理。假設(shè)集群中共有N個(gè)OSD節(jié)點(diǎn),主OSD 的數(shù)據(jù)需要選擇2個(gè)次OSD進(jìn)行放置,則解的構(gòu)造如式(20)所示。

        xi={x1i,x2i},xji∈[xjmin,xjmax],i=1,2,…,N。(20)

        其中:xi為第i個(gè)蜜源,即第i個(gè)節(jié)點(diǎn)選擇方案;xji表示第j個(gè)次OSD 選擇為編號(hào)為i的節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù);xjmax、xjmin分別代表集群中OSD節(jié)點(diǎn)編號(hào)的上限和下限。如編碼{3,17},表示第一個(gè)次OSD節(jié)點(diǎn)選擇集群中id=3的節(jié)點(diǎn),第二個(gè)次OSD 選擇集群中id=3的節(jié)點(diǎn)。

        3)確定適應(yīng)度函數(shù)值:對(duì)于每個(gè)初始解,根據(jù)式(22)計(jì)算其適應(yīng)度值,判斷蜜源的優(yōu)劣。

        設(shè)選擇出來(lái)的最佳主OSD節(jié)點(diǎn)編號(hào)為bm,則基于人工蜂群算法的次OSD選擇算法的適應(yīng)度函數(shù)表示選取具有節(jié)點(diǎn)處理性能以及與節(jié)點(diǎn)bm之間網(wǎng)絡(luò)狀態(tài)最好的節(jié)點(diǎn)作為次OSD,來(lái)減少發(fā)生故障時(shí)數(shù)據(jù)的修復(fù)時(shí)延。

        5)跟隨蜂階段:雇傭蜂完成鄰域搜索后,跟隨蜂接收到雇傭蜂分享的信息后進(jìn)行進(jìn)一步開(kāi)采,通過(guò)輪盤(pán)賭算法按式(25)計(jì)算的概率選擇蜜源,蜜源的適應(yīng)度值越大,被跟隨蜂選擇的概率越大。

        6)偵查蜂階段:設(shè)定蜜源的開(kāi)采上限為l次,若蜜源經(jīng)過(guò)l次迭代后適應(yīng)度值仍無(wú)變化,則為了防止陷入局部最優(yōu),將此蜜源淘汰,用式(21)產(chǎn)生的新蜜源替換。

        迭代完成后,將適應(yīng)度值最大的蜜源作為最優(yōu)解,得到存放副本的2個(gè)次OSD節(jié)點(diǎn),算法結(jié)束。

        3 實(shí)驗(yàn)設(shè)置與性能評(píng)估

        為評(píng)估FTNSC算法的性能,在Mininet[19]網(wǎng)絡(luò)模擬器上模擬和構(gòu)建Ceph集群拓?fù)?并在SDN 控制器Ryu[20]上部署FTNSC算法。仿真實(shí)驗(yàn)環(huán)境為:Intel Core i5-4210,操作系統(tǒng)為VMware Ubuntu 14.0,4 GiB 內(nèi)存,Mininet版本為2.3.0,Ryu 4.34以及1.3版本的Openflow協(xié)議。

        將拓?fù)渲写鎯?chǔ)節(jié)點(diǎn)的個(gè)數(shù)設(shè)為24,節(jié)點(diǎn)中的數(shù)據(jù)采取三副本法則進(jìn)行設(shè)置,網(wǎng)絡(luò)拓?fù)洳捎脽o(wú)向完全圖。模擬實(shí)驗(yàn)場(chǎng)景中的異構(gòu)存儲(chǔ)節(jié)點(diǎn)的處理能力服從文獻(xiàn)[8],各異構(gòu)節(jié)點(diǎn)性能參數(shù)及其取值范圍為{CPU,[1,90]}, {I/O,[21,265]},{內(nèi)存,[0.3,76]}, {芯片,[0.5,23]},對(duì)應(yīng)的權(quán)重分別為30%,40%,20%,10%,節(jié)點(diǎn)能力轉(zhuǎn)化系數(shù)?為0.3。設(shè)置集群網(wǎng)絡(luò)拓?fù)渲懈麈溌返目捎脦掚S機(jī)均勻分布在50~100 Mbit/s,默認(rèn)鏈路(Vi,Vj)與(Vj,Vi)相互獨(dú)立且大小相等。

        Ceph集群中的失效節(jié)點(diǎn)的數(shù)據(jù)修復(fù)考慮2種情況:首先是降級(jí)對(duì)象發(fā)生在主OSD 節(jié)點(diǎn),此時(shí)主OSD通過(guò)Pull方式從2個(gè)次OSD上拉取缺少的數(shù)據(jù);當(dāng)次OSD 存在降級(jí)對(duì)象時(shí),主OSD 通過(guò)Push方式主動(dòng)將缺失數(shù)據(jù)推送到相應(yīng)的副本,本實(shí)驗(yàn)中隨機(jī)設(shè)定故障節(jié)點(diǎn)來(lái)模擬Ceph集群中單節(jié)點(diǎn)失效的修復(fù)過(guò)程。算法分為2 個(gè)階段,第一個(gè)階段為主OSD的選擇過(guò)程,通過(guò)SDN 獲取異構(gòu)節(jié)點(diǎn)的CPU、IO、內(nèi)存以及芯片4個(gè)指標(biāo),并將其作為節(jié)點(diǎn)選擇的權(quán)重因素,使用基于理想解的副本選擇方法確定出具有最優(yōu)處理性能的節(jié)點(diǎn)。第二個(gè)階段在第一階段選擇出主OSD基礎(chǔ)上,考慮節(jié)點(diǎn)性能以及其與主OSD之間的網(wǎng)絡(luò)狀態(tài)對(duì)數(shù)據(jù)修復(fù)時(shí)延的影響,計(jì)算出不同候選節(jié)點(diǎn)的適應(yīng)度值,通過(guò)人工蜂群算法選擇出合適的次OSD節(jié)點(diǎn)。算法中涉及的參數(shù)如表1所示。

        表1 算法參數(shù)取值

        將FTNSC 算法與Ceph 云存儲(chǔ)系統(tǒng)原生的CRUSH 算法以及NSMBD 算法[8]進(jìn)行對(duì)比實(shí)驗(yàn)。其中,CRUSH 算法作為Ceph云存儲(chǔ)系統(tǒng)數(shù)據(jù)映射過(guò)程的經(jīng)典算法,將存儲(chǔ)節(jié)點(diǎn)按剩余存儲(chǔ)容量進(jìn)行排序,選擇存儲(chǔ)容量性能最優(yōu)的3個(gè)節(jié)點(diǎn)。NSMBD是一種有效的針對(duì)小文件的Ceph存儲(chǔ)系統(tǒng)節(jié)點(diǎn)選擇方法,其利用SDN獲取集群中的網(wǎng)絡(luò)帶寬性能,并用逼近理想解排序法選擇出性能最優(yōu)的3個(gè)節(jié)點(diǎn)來(lái)存放數(shù)據(jù)副本,以提高讀寫(xiě)操作的吞吐量和響應(yīng)時(shí)間。實(shí)驗(yàn)測(cè)試數(shù)據(jù)修復(fù)時(shí)延,從所選節(jié)點(diǎn)的CPU、IO、內(nèi)存、芯片角度對(duì)比3種算法的性能,每組實(shí)驗(yàn)測(cè)試5次,取平均值作為實(shí)驗(yàn)結(jié)果。

        3.1 節(jié)點(diǎn)故障的數(shù)據(jù)修復(fù)時(shí)延

        為了測(cè)試3種不同算法對(duì)于不同大小數(shù)據(jù)修復(fù)對(duì)象的修復(fù)時(shí)延的性能,如圖3所示,實(shí)驗(yàn)中制定了50、100、150、200、250、300 MiB 6種對(duì)象的工作量,比較Ceph原有的CRUSH 算法、NSMBD算法和本算法在不同修復(fù)數(shù)據(jù)對(duì)象時(shí),完成故障節(jié)點(diǎn)數(shù)據(jù)修復(fù)的時(shí)間。

        圖3 數(shù)據(jù)修復(fù)時(shí)延

        從圖3可看出,對(duì)于6種不同規(guī)模的修復(fù)數(shù)據(jù),FTNSC算法均擁有最優(yōu)修復(fù)時(shí)延,且對(duì)于200 MiB以下的小規(guī)模修復(fù)數(shù)據(jù)有明顯提升,當(dāng)修復(fù)數(shù)據(jù)的規(guī)模大于200 MiB時(shí),數(shù)據(jù)修復(fù)時(shí)延的提升較小。由于CRUSH 算法選擇集群中剩余容量性能較優(yōu)的節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù),但在節(jié)點(diǎn)發(fā)生失效而進(jìn)行數(shù)據(jù)修復(fù)時(shí),仍無(wú)法避免較差的網(wǎng)絡(luò)性能和節(jié)點(diǎn)其他性能的影響,導(dǎo)致修復(fù)時(shí)延較大。隨著修復(fù)數(shù)據(jù)量增大,上述缺陷得到一定程度的改善,但CRUSH 算法的修復(fù)時(shí)延在3種算法中仍最長(zhǎng)。在不同的修復(fù)數(shù)據(jù)規(guī)模場(chǎng)景下,FTNSC算法的數(shù)據(jù)修復(fù)時(shí)延較CRUSH 算法減少了2%~29.7%,較NSMBD 算法減少了1.8%~18.4%,這是由于在實(shí)驗(yàn)場(chǎng)景中引用了存儲(chǔ)節(jié)點(diǎn)處理能力的異構(gòu)和拓?fù)渚W(wǎng)絡(luò)狀況,為副本數(shù)據(jù)選擇性能最優(yōu)的節(jié)點(diǎn)進(jìn)行存儲(chǔ)。

        3.2 三副本節(jié)點(diǎn)性能

        圖4為在修復(fù)數(shù)據(jù)大小為150 MiB,異構(gòu)節(jié)點(diǎn)的能力轉(zhuǎn)化系數(shù)為0.3時(shí),FTNSC算法、NSMBD算法和CRUSH 算法所選OSD節(jié)點(diǎn)的CPU、IO、內(nèi)存及芯片性能情況。

        圖4 節(jié)點(diǎn)性能

        在節(jié)點(diǎn)的CPU、IO、芯片性能中,FTNSC算法所選主OSD的性能明顯優(yōu)于CRUSH 算法和NSMBD算法,這是由于FTNSC算法不僅考慮了集群節(jié)點(diǎn)的4種資源指標(biāo),還分別考慮了各個(gè)資源指標(biāo)的權(quán)重情況,降低了所選節(jié)點(diǎn)某項(xiàng)資源指標(biāo)性能較差的可能。對(duì)于次OSD,FTNSC算法在CPU 性能和IO速率上表現(xiàn)較好,但在內(nèi)存和芯片性能上提升并不明顯。Ceph存儲(chǔ)系統(tǒng)中的2種數(shù)據(jù)修復(fù)都依靠主OSD通過(guò)Pull或Push方式從次OSD中選取一個(gè)節(jié)點(diǎn)獲取或發(fā)送失效數(shù)據(jù),因此相對(duì)次OSD而言,主OSD在失效節(jié)點(diǎn)修復(fù)過(guò)程中具有更加重要的作用。在內(nèi)存方面,CRUSH 算法性能優(yōu)于FTNSC 算法,這是由于CRUSH 算法以?xún)?nèi)存作為節(jié)點(diǎn)選擇的唯一標(biāo)準(zhǔn)。綜合4種指標(biāo),FTNSC算法所選節(jié)點(diǎn)的性能優(yōu)于另外2種算法,使得在發(fā)生節(jié)點(diǎn)失效時(shí),節(jié)點(diǎn)具有更高的處理能力,從而減少數(shù)據(jù)修復(fù)的時(shí)延。

        4 結(jié)束語(yǔ)

        針對(duì)云存儲(chǔ)系統(tǒng)中大量使用廉價(jià)商用硬件引起的頻繁的節(jié)點(diǎn)失效問(wèn)題,提出了一種Ceph存儲(chǔ)系統(tǒng)中FTNSC算法,通過(guò)優(yōu)化副本放置的節(jié)點(diǎn)位置來(lái)減少節(jié)點(diǎn)失效時(shí)的數(shù)據(jù)修復(fù)時(shí)延。首先利用軟件定義網(wǎng)絡(luò)技術(shù),獲得實(shí)時(shí)的網(wǎng)絡(luò)狀態(tài)和節(jié)點(diǎn)負(fù)載信息,并將其作為節(jié)點(diǎn)選擇方法的數(shù)據(jù)支撐;然后通過(guò)建立綜合考慮節(jié)點(diǎn)負(fù)載信息的多屬性決策數(shù)學(xué)模型確定主存儲(chǔ)節(jié)點(diǎn)位置;最后通過(guò)人工蜂群算法,根據(jù)與主存儲(chǔ)節(jié)點(diǎn)之間的網(wǎng)絡(luò)狀態(tài)以及節(jié)點(diǎn)性能得到最優(yōu)次存儲(chǔ)節(jié)點(diǎn)。實(shí)驗(yàn)結(jié)果表明,FTNSC可以提高所選節(jié)點(diǎn)性能,同時(shí)減少數(shù)據(jù)的修復(fù)時(shí)延,降低集群中數(shù)據(jù)丟失的風(fēng)險(xiǎn),從而提高整個(gè)存儲(chǔ)系統(tǒng)的可靠性。下一階段將考慮將FTNSC算法應(yīng)用到開(kāi)源Ceph云存儲(chǔ)平臺(tái)上,產(chǎn)生實(shí)際價(jià)值。同時(shí)可以在SDN監(jiān)控的消耗問(wèn)題上做進(jìn)一步的研究,討論測(cè)量過(guò)程中對(duì)Ryu控制器的性能和交換機(jī)的帶寬資源的消耗。

        久久久久99精品国产片| 亚洲成人中文字幕在线视频| 亚洲av无码国产精品色午夜字幕| 国产av电影区二区三区曰曰骚网| 毛片无码高潮喷白浆视频| 在线免费午夜视频一区二区| 国产91清纯白嫩初高中在线观看 | 在线涩涩免费观看国产精品 | 亚欧乱色束缚一区二区三区| 亚洲第一大av在线综合| 人妻激情偷乱视频一区二区三区| 亚洲av无码精品色午夜果冻不卡| 亚洲综合伦理| 极品夫妻一区二区三区 | 国产真人性做爰久久网站| 人妻少妇不满足中文字幕| 淫秽在线中国国产视频| 久久精品99国产精品日本 | 国产麻豆精品精东影业av网站 | XXXXBBBB欧美| 日本在线观看一区二区视频| 色爱情人网站| 最近日本中文字幕免费完整| 99久久精品久久久| 亚洲高清国产成人精品久久| 青青国产揄拍视频| 欧美视频第一页| 综合久久加勒比天然素人| 婷婷五月深深久久精品| 色偷偷av亚洲男人的天堂| 久久中文字幕久久久久91| 久草视频在线手机免费看| 亚洲爆乳精品无码一区二区| 国产情侣一区在线| 久久久国产熟女综合一区二区三区| 精品国产第一国产综合精品| 国产欧美日产久久| 日本高清免费播放一区二区| 久久亚洲av无码精品色午夜| 精品国产精品久久一区免费式| 国产美女亚洲精品一区|