亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于超融合存儲(chǔ)的讀IO調(diào)度方法及裝置與流程

文檔序號(hào):11386080閱讀:465來(lái)源:國(guó)知局
基于超融合存儲(chǔ)的讀IO調(diào)度方法及裝置與流程

本發(fā)明涉及通訊技術(shù)領(lǐng)域,尤其涉及一種基于超融合存儲(chǔ)的讀io調(diào)度方法及裝置。



背景技術(shù):

目前,在超融合環(huán)境上面,每一個(gè)節(jié)點(diǎn)既是存儲(chǔ)節(jié)點(diǎn)也是計(jì)算節(jié)點(diǎn),虛擬機(jī)在超融合環(huán)境上運(yùn)行時(shí),其讀io性能受副本所在的物理位置的影響?,F(xiàn)有讀io調(diào)度算法主要采用讀io本地化,即自動(dòng)識(shí)別本地副本,然后固定在這個(gè)本地副本上進(jìn)行讀io操作。這個(gè)方案充分利用了本地化的優(yōu)勢(shì),但是當(dāng)io達(dá)到一定壓力時(shí)就會(huì)出現(xiàn)本地副本上的硬件達(dá)到性能瓶頸,io訪問(wèn)能力將受到本地硬件性能的限制,無(wú)法發(fā)揮分布式集群的能力,從而導(dǎo)致讀io的性能較差。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的主要目的在于提供一種基于超融合存儲(chǔ)的讀io調(diào)度方法及裝置,旨在提升讀io的性能。

為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種基于超融合存儲(chǔ)的讀io調(diào)度方法包括以下步驟:

當(dāng)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);

根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限值;

實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;

若是,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;

若否,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。

優(yōu)選地,所述將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本包括:

當(dāng)所述異地副本為兩個(gè)以上時(shí),則將所述虛擬機(jī)的讀請(qǐng)求依次輪轉(zhuǎn)發(fā)送至各異地副本上。

此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種基于超融合存儲(chǔ)的讀io調(diào)度方法包括以下步驟:

當(dāng)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取異地副本的極限指標(biāo)參數(shù);

網(wǎng)絡(luò)傳輸時(shí)延和異地io時(shí)延;并根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算本地副本上處理的io時(shí)延,根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延;所述網(wǎng)絡(luò)傳輸時(shí)延為虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地副本的網(wǎng)絡(luò)傳輸時(shí)延;所述異地io時(shí)延為虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地io時(shí)延;所述本地副本上處理的io時(shí)延為虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延;

計(jì)算所述網(wǎng)絡(luò)傳輸時(shí)延、異地io時(shí)延、當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延之和,并設(shè)定為所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在異地副本上處理的io時(shí)延;

判斷所述異地副本上處理的io時(shí)延是否小于所述本地副本上處理的io時(shí)延;

若是,則執(zhí)行所述將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本步驟;

若否,則執(zhí)行所述將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本步驟。

優(yōu)選地,所述根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算本地副本上處理的io時(shí)延包括:

實(shí)時(shí)檢測(cè)本地副本上io壓力情況,形成本地副本io壓力情況歷史數(shù)據(jù);所述本地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;

根據(jù)本地副本上的平均請(qǐng)求塊大小、平均時(shí)延及本地副本的極限指標(biāo)參數(shù)計(jì)算所述當(dāng)前讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延。

優(yōu)選地,所述根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延包括:

實(shí)時(shí)檢測(cè)異地副本上io壓力情況,形成異地副本io壓力情況歷史數(shù)據(jù);所述異地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;

根據(jù)平均請(qǐng)求塊大小、平均時(shí)延及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延以及異地副本io擁塞時(shí)延。

此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種基于超融合存儲(chǔ)的讀io調(diào)度裝置,所述基于超融合存儲(chǔ)的讀io調(diào)度裝置包括:

第一獲取模塊,用于當(dāng)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);

確定模塊,用于根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限值;

第一判斷模塊,用于實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;

輸出模塊,用于當(dāng)本地副本當(dāng)前io壓力值大于所述上限值時(shí),將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;當(dāng)本地副本當(dāng)前io壓力值小于等于所述上限值時(shí),將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。

優(yōu)選地,所述輸出模塊具體用于,當(dāng)所述異地副本為兩個(gè)以上時(shí),則將所述虛擬機(jī)的讀請(qǐng)求依次輪轉(zhuǎn)發(fā)送至各異地副本上。

此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種基于超融合存儲(chǔ)的讀io調(diào)度裝置,所述基于超融合存儲(chǔ)的讀io調(diào)度裝置包括:

第二獲取模塊,用于當(dāng)所述異地副本為兩個(gè)以上時(shí),獲取異地副本的極限指標(biāo)參數(shù);

第一計(jì)算模塊,用于根據(jù)所述異地副本的極限指標(biāo)參數(shù)計(jì)算網(wǎng)絡(luò)傳輸時(shí)延和異地io時(shí)延;并根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算本地副本上處理的io時(shí)延,根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延;所述網(wǎng)絡(luò)傳輸時(shí)延為虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地副本的網(wǎng)絡(luò)傳輸時(shí)延;所述異地io時(shí)延為虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地io時(shí)延;所述本地副本上處理的io時(shí)延為虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延;

第二計(jì)算模塊,用于計(jì)算所述網(wǎng)絡(luò)傳輸時(shí)延、異地io時(shí)延、當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延之和,并設(shè)定為所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在異地副本上處理的io時(shí)延;

第二判斷模塊,用于判斷所述異地副本上處理的io時(shí)延是否小于所述本 地副本上處理的io時(shí)延;若是,則觸發(fā)所述輸出模塊執(zhí)行所述將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本操作;否則觸發(fā)所述輸出模塊執(zhí)行所述將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本操作。

優(yōu)選地,所述第二計(jì)算模塊具體用于,

實(shí)時(shí)檢測(cè)本地副本上io壓力情況,形成本地副本io壓力情況歷史數(shù)據(jù);所述本地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;并根據(jù)本地副本上的平均請(qǐng)求塊大小、平均時(shí)延及本地副本的極限指標(biāo)參數(shù)計(jì)算所述當(dāng)前讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延。

優(yōu)選地,所述第二計(jì)算模塊具體用于,

實(shí)時(shí)檢測(cè)異地副本上io壓力情況,形成異地副本io壓力情況歷史數(shù)據(jù);所述異地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;并根據(jù)平均請(qǐng)求塊大小、平均時(shí)延及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延以及異地副本io擁塞時(shí)延。

本發(fā)明實(shí)施例通過(guò)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限值;實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;若是,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;若否,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。從而保證在本地副本的io壓力較小的情況下采用讀io本地化,當(dāng)本地副本io壓力較大的情況下將讀請(qǐng)求發(fā)送至異地副本進(jìn)行讀操作,因此提升了讀io的性能。

附圖說(shuō)明

圖1為本發(fā)明基于超融合存儲(chǔ)的讀io調(diào)度方法一實(shí)施例的流程示意圖;

圖2為本發(fā)明基于超融合存儲(chǔ)的讀io調(diào)度方法另一實(shí)施例的流程示意圖;

圖3為本發(fā)明基于超融合存儲(chǔ)的讀io調(diào)度裝置一實(shí)施例的功能模塊示意圖;

圖4為本發(fā)明基于超融合存儲(chǔ)的讀io調(diào)度裝置另一實(shí)施例的功能模塊示意圖。

本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。

具體實(shí)施方式

應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提供一種基于超融合存儲(chǔ)的讀io調(diào)度方法,參照?qǐng)D1,在一實(shí)施例中,該基于超融合存儲(chǔ)的讀io調(diào)度方法包括:

步驟s10,當(dāng)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);

本發(fā)明提供的基于超融合存儲(chǔ)的讀io調(diào)度方法主要應(yīng)用在分布式集群中,用于對(duì)虛擬器的讀請(qǐng)求進(jìn)行調(diào)度。具體地,在分布式集群中,通常包括兩個(gè)或者兩個(gè)以上的副本。

超融合:hyper-convergedinfrastructure,或簡(jiǎn)稱“hci”是指在同一套單元設(shè)備中不僅僅具備計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)和服務(wù)器虛擬化等資源和技術(shù),而且還包括備份軟件、快照技術(shù)、重復(fù)數(shù)據(jù)刪除、在線數(shù)據(jù)壓縮等元素,而多套單元設(shè)備可以通過(guò)網(wǎng)絡(luò)聚合起來(lái),實(shí)現(xiàn)模塊化的無(wú)縫橫向擴(kuò)展(scale-out),形成統(tǒng)一的資源池。

在超融合環(huán)境上面,每一個(gè)節(jié)點(diǎn)即是存儲(chǔ)節(jié)點(diǎn)也是計(jì)算節(jié)點(diǎn),虛擬機(jī)在超融合環(huán)境上運(yùn)行時(shí),其讀io性能受副本所在的物理位置的影響。

本地副本:指在超融合環(huán)境下同一個(gè)節(jié)點(diǎn)即是計(jì)算資源也是存儲(chǔ)資源,當(dāng)虛擬機(jī)運(yùn)行的節(jié)點(diǎn)存在對(duì)應(yīng)的虛擬機(jī)鏡像文件的一個(gè)副本時(shí),該副本稱為本地副本;反之,存在于其他節(jié)點(diǎn)上的副本稱為異地副本或遠(yuǎn)端副本(本發(fā)明實(shí)施例中統(tǒng)一稱之為異地副本)。

上述極限指標(biāo)參數(shù)包括iops(指每秒處理io請(qǐng)求的個(gè)數(shù))和最大吞吐量。當(dāng)本地副本上未存儲(chǔ)極限指標(biāo)參數(shù)時(shí),可以首先測(cè)試該極限指標(biāo)參數(shù),例如可以通過(guò)測(cè)試本地副本的小塊io讀請(qǐng)求的能力,即測(cè)試1s內(nèi)處理4kb的請(qǐng)求塊的個(gè)數(shù)從而得到iops指標(biāo);還可以通過(guò)測(cè)試128kb或者1mb的請(qǐng)求塊的吞吐數(shù)據(jù)量得到本地副本的最大吞吐量。

步驟s20,根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限 值;

根據(jù)獲取到的上述極限指標(biāo)參數(shù)可以確定本地副本上io的極限壓力值,可以直接將該極限壓力值作為上述上限值,也可以按照預(yù)置的比例確定上述上限值,例如該上限值可以為極限壓力值的90%。具體的設(shè)置方式可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,在此不作進(jìn)一步地限定。這根據(jù)極限指標(biāo)參數(shù)還可以得出一個(gè)公式一用于計(jì)算本地副本上任何塊大小的理論io時(shí)延,即公式一的輸入為測(cè)試塊大小(獲取極限指標(biāo)參數(shù)得到的)、測(cè)試時(shí)延(獲取極限指標(biāo)參數(shù)時(shí)得到的)和塊大小(即為讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊);輸出為理論io時(shí)延;其中輸入?yún)?shù)測(cè)試塊大小和測(cè)試時(shí)延,這兩個(gè)參數(shù)是根據(jù)實(shí)際測(cè)試時(shí)得到值,則可以認(rèn)為它們是一個(gè)常量,所以公式一可以簡(jiǎn)化后描述為,輸入為任何塊大小,輸出為理論io時(shí)延。有了這個(gè)公式也為后續(xù)做出本地副本上io預(yù)測(cè)時(shí)延提供依據(jù)。

步驟s30,實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;若是,則執(zhí)行步驟s40,否則執(zhí)行步驟s50;

步驟s40,將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;

步驟s50,將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。

本實(shí)施例中,可以實(shí)時(shí)檢測(cè)本地副本當(dāng)前io的壓力情況,根據(jù)本地副本當(dāng)前的io壓力情況確定當(dāng)前io壓力值。然后,實(shí)時(shí)判斷當(dāng)前io壓力值是否大于上述上限值。當(dāng)大于上述上限值時(shí),則確定本地副本的io壓力較大或者達(dá)到本地副本的io極限壓力,此時(shí)將虛擬機(jī)的讀請(qǐng)求發(fā)送到異地副本,從而減輕本地副本的io壓力。

本發(fā)明實(shí)施例通過(guò)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限值;實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;若是,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;若否,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。從而保證在本地副本的io壓力較小的情況下采用讀io本地化,當(dāng)本地副本io壓力較大的情況下將讀請(qǐng)求發(fā)送至異地副本進(jìn)行讀操作,因此提升了讀io的性能。

進(jìn)一步地,由于異地副本的數(shù)量可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,當(dāng)存在兩個(gè)或者兩個(gè)以異地副本時(shí),為了提升了讀io的性能,可以進(jìn)行異地副本輪轉(zhuǎn)。 具體地,基于上述實(shí)施例,本實(shí)施例中,上述步驟s40包括:

當(dāng)所述異地副本為兩個(gè)以上時(shí),則將所述虛擬機(jī)的讀請(qǐng)求依次輪轉(zhuǎn)發(fā)送至各異地副本上。

本實(shí)施例中,針對(duì)多異地副本依次輪轉(zhuǎn),例如第一次讀異地副本a,則第二次讀異地副本b,第三次讀異地副本c,依次輪轉(zhuǎn)反復(fù)。這種方案的可以分散單副本的讀io壓力,進(jìn)而縮短處理讀請(qǐng)求的時(shí)間,進(jìn)而達(dá)到提升讀io的性能的效果。

進(jìn)一步地,參照?qǐng)D2,本發(fā)明還提供基于超融合存儲(chǔ)的讀io調(diào)度方法第二實(shí)施例,本實(shí)施例提供的基于超融合存儲(chǔ)的讀io調(diào)度方法包括:

步驟s60,當(dāng)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取異地副本的極限指標(biāo)參數(shù);

步驟s70,根據(jù)所述異地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地副本的網(wǎng)絡(luò)傳輸時(shí)延和異地io時(shí)延;并根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延,根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延;

步驟s80,計(jì)算所述網(wǎng)絡(luò)傳輸時(shí)延、異地io時(shí)延、當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延之和得到所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在異地副本上處理的io時(shí)延;

步驟s90,判斷所述異地副本上處理的io時(shí)延是否小于所述本地副本上處理的io時(shí)延;若是,則執(zhí)行步驟s100,否則執(zhí)行步驟s110。

步驟s100,將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;

步驟s110,將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。

本實(shí)施例中,上述上限值通常設(shè)置的較大,比較接近本地副本的極限值,當(dāng)本地副本的io壓力較大且未超過(guò)上述上限值時(shí),將容易出現(xiàn)異地副本上處理的io時(shí)延比所述本地副本上處理的io時(shí)延還要小,若仍然將讀請(qǐng)求發(fā)送至本地副本,則讀io的時(shí)延將較長(zhǎng),不利于提高讀io的性能。本實(shí)施例在執(zhí)行將讀請(qǐng)求發(fā)送至本地副本前,判斷所述異地副本上處理的io時(shí)延與所述 本地副本上處理的io時(shí)延的關(guān)系,根據(jù)該異地副本上處理的io時(shí)延與所述本地副本上處理的io時(shí)延的關(guān)系,確定是否對(duì)讀請(qǐng)求進(jìn)行分流,即是否將讀請(qǐng)求發(fā)送至異地副本,供異地副本進(jìn)行處理。

可以理解的是,若存儲(chǔ)本地副本的設(shè)備上沒(méi)有異地副本的異地副本的極限指標(biāo)參數(shù),也可以按照測(cè)試本地副本的極限指標(biāo)參數(shù)同樣的方式測(cè)試異地副本的極限指標(biāo)參數(shù),從而得到異地副本的極限指標(biāo)參數(shù)。

具體地,上述根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延包括:

實(shí)時(shí)檢測(cè)本地副本上io壓力情況,形成本地副本io壓力情況歷史數(shù)據(jù);所述本地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;

根據(jù)本地副本上的平均請(qǐng)求塊大小、平均時(shí)延及本地副本的極限指標(biāo)參數(shù)計(jì)算所述當(dāng)前讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延。

可以理解的是,本實(shí)施例中,上述當(dāng)前讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延是指本地副本處理所述當(dāng)前讀請(qǐng)求預(yù)計(jì)所花的時(shí)間。

上述根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延包括:

實(shí)時(shí)檢測(cè)異地副本上io壓力情況,形成異地副本io壓力情況歷史數(shù)據(jù);所述異地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;

根據(jù)平均請(qǐng)求塊大小、平均時(shí)延及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延以及異地副本io擁塞時(shí)延。

本發(fā)明實(shí)施例,通過(guò)預(yù)測(cè)本地副本的io時(shí)延和異地副本的io時(shí)延來(lái)判斷是否對(duì)讀請(qǐng)求進(jìn)行分流,從而在本地副本的io壓力未接近上述上限值之前可以開(kāi)始分流,從而進(jìn)一步提升了讀io的性能。

具體地,在根據(jù)所述異地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地副本的網(wǎng)絡(luò)傳輸時(shí)延和異地io時(shí)延時(shí),可以通過(guò)預(yù)置的公式二計(jì)算出任何塊大小的理論網(wǎng)絡(luò)傳輸時(shí)延和異地io時(shí)延,該預(yù)置的公式二的輸入為測(cè)試塊大小、測(cè)試時(shí)延、網(wǎng)絡(luò)帶寬和塊大??;輸出為理論網(wǎng)絡(luò)傳輸時(shí)延(即為上述異地副本的網(wǎng)絡(luò)傳輸時(shí)延)和理論io時(shí)延(即為異地io時(shí)延);其中輸入?yún)?shù)測(cè)試塊大小、測(cè)試時(shí)延、網(wǎng)絡(luò)帶寬這三個(gè)參數(shù)是根據(jù) 實(shí)際測(cè)試結(jié)果得到的,則可以認(rèn)為它們是一個(gè)常量。即在公式二中,輸入任何塊大小,輸出為理論網(wǎng)絡(luò)傳輸時(shí)延和理論異地io時(shí)延;從而為后續(xù)計(jì)算網(wǎng)絡(luò)擁塞時(shí)延和異地io擁塞時(shí)延提供計(jì)算依據(jù)。

具體地,在根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延時(shí),可以根據(jù)預(yù)置的公式三計(jì)算得到本地副本上處理的io時(shí)延,該公式三的輸入是歷史數(shù)據(jù)(平均塊、平均時(shí)延)、歷史數(shù)據(jù)的理論時(shí)延(利用公式一計(jì)算平均塊的理論時(shí)延)和當(dāng)前讀請(qǐng)求的塊大小;輸出為當(dāng)前讀請(qǐng)求的本地副本上io時(shí)延。

具體地,在根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延時(shí),可以根據(jù)預(yù)置的公式四得到,該公式四的輸入為異地副本上的歷史數(shù)據(jù)(平均塊、平均時(shí)延)、歷史數(shù)據(jù)的理論時(shí)延(利用公式二計(jì)算出平均塊的理論網(wǎng)絡(luò)時(shí)延和異地io時(shí)延)和當(dāng)前讀請(qǐng)求的塊大??;輸出為當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延和異地副本io擁塞時(shí)延。

進(jìn)一步地,由于異地副本的數(shù)量可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,當(dāng)存在兩個(gè)或者兩個(gè)以異地副本時(shí),為了提升了讀io的性能,可以進(jìn)行異地副本輪轉(zhuǎn)。具體地,基于上述實(shí)施例,本實(shí)施例中,上述步驟s40包括:

當(dāng)所述異地副本為兩個(gè)以上時(shí),則將所述虛擬機(jī)的讀請(qǐng)求依次輪轉(zhuǎn)發(fā)送至各異地副本上。

本實(shí)施例中,針對(duì)多異地副本依次輪轉(zhuǎn),例如第一次讀異地副本a,則第二次讀異地副本b,第三次讀異地副本c,依次輪轉(zhuǎn)反復(fù)。這種方案的可以分散單副本的讀io壓力,進(jìn)而縮短處理讀請(qǐng)求的時(shí)間,進(jìn)而達(dá)到提升讀io的性能的效果。

本發(fā)明還提供一種基于超融合存儲(chǔ)的讀io調(diào)度裝置,參照?qǐng)D3,在一實(shí)施例中,本發(fā)明提供的基于超融合存儲(chǔ)的讀io調(diào)度裝置包括:

第一獲取模塊100,用于當(dāng)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);

本發(fā)明提供的基于超融合存儲(chǔ)的讀io調(diào)度裝置主要應(yīng)用在分布式集群中,用于對(duì)虛擬器的讀請(qǐng)求進(jìn)行調(diào)度。具體地,在分布式集群中,通常包括兩個(gè)或者兩個(gè)以上的副本。

超融合:hyper-convergedinfrastructure,或簡(jiǎn)稱“hci”是指在同一套單元設(shè)備中不僅僅具備計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)和服務(wù)器虛擬化等資源和技術(shù),而且還包括備份軟件、快照技術(shù)、重復(fù)數(shù)據(jù)刪除、在線數(shù)據(jù)壓縮等元素,而多套單元設(shè)備可以通過(guò)網(wǎng)絡(luò)聚合起來(lái),實(shí)現(xiàn)模塊化的無(wú)縫橫向擴(kuò)展(scale-out),形成統(tǒng)一的資源池。

在超融合環(huán)境上面,每一個(gè)節(jié)點(diǎn)即是存儲(chǔ)節(jié)點(diǎn)也是計(jì)算節(jié)點(diǎn),虛擬機(jī)在超融合環(huán)境上運(yùn)行時(shí),其讀io性能受副本所在的物理位置的影響。

本地副本:指在超融合環(huán)境下同一個(gè)節(jié)點(diǎn)即是計(jì)算資源也是存儲(chǔ)資源,當(dāng)虛擬機(jī)運(yùn)行的節(jié)點(diǎn)存在對(duì)應(yīng)的虛擬機(jī)鏡像文件的一個(gè)副本時(shí),該副本稱為本地副本;反之,存在于其他節(jié)點(diǎn)上的副本稱為異地副本或遠(yuǎn)端副本(本發(fā)明實(shí)施例中統(tǒng)一稱之為異地副本)。

上述極限指標(biāo)參數(shù)包括iops(指每秒處理io請(qǐng)求的個(gè)數(shù))和最大吞吐量。當(dāng)本地副本上未存儲(chǔ)極限指標(biāo)參數(shù)時(shí),可以首先測(cè)試該極限指標(biāo)參數(shù),例如可以通過(guò)測(cè)試本地副本的小塊io讀請(qǐng)求的能力,即測(cè)試1s內(nèi)處理4kb的請(qǐng)求塊的個(gè)數(shù)從而得到iops指標(biāo);還可以通過(guò)測(cè)試128kb或者1mb的請(qǐng)求塊的吞吐數(shù)據(jù)量得到本地副本的最大吞吐量。

確定模塊200,用于根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限值;

根據(jù)獲取到的上述極限指標(biāo)參數(shù)可以確定本地副本上io的極限壓力值,可以直接將該極限壓力值作為上述上限值,也可以按照預(yù)置的比例確定上述上限值,例如該上限值可以為極限壓力值的90%。具體的設(shè)置方式可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,在此不作進(jìn)一步地限定。

第一判斷模塊300,用于實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;

輸出模塊400,用于當(dāng)本地副本當(dāng)前io壓力值大于所述上限值時(shí),將所 述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;當(dāng)本地副本當(dāng)前io壓力值小于等于所述上限值時(shí),將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。

本實(shí)施例中,可以實(shí)時(shí)檢測(cè)本地副本當(dāng)前io的壓力情況,根據(jù)本地副本當(dāng)前的io壓力情況確定當(dāng)前io壓力值。然后,實(shí)時(shí)判斷當(dāng)前io壓力值是否大于上述上限值。當(dāng)大于上述上限值時(shí),則確定本地副本的io壓力較大或者達(dá)到本地副本的io極限壓力,此時(shí)將虛擬機(jī)的讀請(qǐng)求發(fā)送到異地副本,從而減輕本地副本的io壓力。

本發(fā)明實(shí)施例通過(guò)虛擬機(jī)在本地副本的節(jié)點(diǎn)上運(yùn)行時(shí),獲取本地副本極限指標(biāo)參數(shù);根據(jù)所述極限指標(biāo)參數(shù)確定所述本地副本上io壓力值的上限值;實(shí)時(shí)判斷本地副本當(dāng)前io壓力值是否大于所述上限值;若是,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;若否,則將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至本地副本。從而保證在本地副本的io壓力較小的情況下采用讀io本地化,當(dāng)本地副本io壓力較大的情況下將讀請(qǐng)求發(fā)送至異地副本進(jìn)行讀操作,因此提升了讀io的性能。

進(jìn)一步地,參照?qǐng)D4,本發(fā)明還提供基于超融合存儲(chǔ)的讀io調(diào)度裝置第二實(shí)施例,本實(shí)施例提供的基于超融合存儲(chǔ)的讀io調(diào)度裝置包括:

第二獲取模塊500,用于獲取異地副本的極限指標(biāo)參數(shù);

第一計(jì)算模塊600,用于根據(jù)所述異地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊的異地副本的網(wǎng)絡(luò)傳輸時(shí)延和異地io時(shí)延;并根據(jù)本地副本上的io壓力情況歷史數(shù)據(jù)及本地副本的極限指標(biāo)參數(shù)計(jì)算所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延,根據(jù)異地副本上的io壓力情況歷史數(shù)據(jù)及異地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延;

第二計(jì)算模塊700,用于計(jì)算所述網(wǎng)絡(luò)傳輸時(shí)延、異地io時(shí)延、當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延及異地副本io擁塞時(shí)延之和得到所述虛擬機(jī)當(dāng)前的讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在異地副本上處理的io時(shí)延;

第二判斷模塊800,用于判斷所述異地副本上處理的io時(shí)延是否小于所述本地副本上處理的io時(shí)延;若是,則觸發(fā)輸出模塊900將所述虛擬機(jī)的讀請(qǐng)求發(fā)送至異地副本;否則觸發(fā)所述輸出模塊900將所述虛擬機(jī)的讀請(qǐng)求發(fā) 送至本地副本。

本實(shí)施例中,上述上限值通常設(shè)置的較大,比較接近本地副本的極限值,當(dāng)本地副本的io壓力較大且未超過(guò)上述上限值時(shí),將容易出現(xiàn)異地副本上處理的io時(shí)延比所述本地副本上處理的io時(shí)延還要小,若仍然將讀請(qǐng)求發(fā)送至本地副本,則讀io的時(shí)延將較長(zhǎng),不利于提高讀io的性能。本實(shí)施例在執(zhí)行將讀請(qǐng)求發(fā)送至本地副本前,判斷所述異地副本上處理的io時(shí)延與所述本地副本上處理的io時(shí)延的關(guān)系,根據(jù)該異地副本上處理的io時(shí)延與所述本地副本上處理的io時(shí)延的關(guān)系,確定是否對(duì)讀請(qǐng)求進(jìn)行分流,即是否將讀請(qǐng)求發(fā)送至異地副本,供異地副本進(jìn)行處理。

可以理解的是,若存儲(chǔ)本地副本的設(shè)備上沒(méi)有異地副本的異地副本的極限指標(biāo)參數(shù),也可以按照測(cè)試本地副本的極限指標(biāo)參數(shù)同樣的方式測(cè)試異地副本的極限指標(biāo)參數(shù),從而得到異地副本的極限指標(biāo)參數(shù)。

具體地,上述第二計(jì)算模塊具體用于,

實(shí)時(shí)檢測(cè)本地副本上io壓力情況,形成本地副本io壓力情況歷史數(shù)據(jù);所述本地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;并根據(jù)本地副本上的平均請(qǐng)求塊大小、平均時(shí)延及本地副本的極限指標(biāo)參數(shù)計(jì)算所述當(dāng)前讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延。

可以理解的是,本實(shí)施例中,上述當(dāng)前讀請(qǐng)求對(duì)應(yīng)的請(qǐng)求塊在本地副本上處理的io時(shí)延是指本地副本處理所述當(dāng)前讀請(qǐng)求預(yù)計(jì)所花的時(shí)間。

上述第二計(jì)算模塊具體還用于,

實(shí)時(shí)檢測(cè)異地副本上io壓力情況,形成異地副本io壓力情況歷史數(shù)據(jù);所述異地副本io壓力情況歷史數(shù)據(jù)包括請(qǐng)求塊大小以及對(duì)應(yīng)的時(shí)延;并根據(jù)平均請(qǐng)求塊大小、平均時(shí)延及本地副本的極限指標(biāo)參數(shù)計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞時(shí)延以及異地副本io擁塞時(shí)延。

本發(fā)明實(shí)施例,通過(guò)預(yù)測(cè)本地副本的io時(shí)延和異地副本的io時(shí)延來(lái)判斷是否對(duì)讀請(qǐng)求進(jìn)行分流,從而在本地副本的io壓力未接近上述上限值之前可以開(kāi)始分流,從而進(jìn)一步提升了讀io的性能。

進(jìn)一步地,由于異地副本的數(shù)量可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,當(dāng)存在兩個(gè)或者兩個(gè)以異地副本時(shí),為了提升了讀io的性能,可以進(jìn)行異地副本輪轉(zhuǎn)。 具體地,基于上述實(shí)施例,本實(shí)施例中,上述輸出模塊400具體用于,當(dāng)所述異地副本為兩個(gè)以上時(shí),則將所述虛擬機(jī)的讀請(qǐng)求依次輪轉(zhuǎn)發(fā)送至各異地副本上。

當(dāng)所述異地副本為兩個(gè)以上時(shí),則將所述虛擬機(jī)的讀請(qǐng)求依次輪轉(zhuǎn)發(fā)送至各異地副本上。

本實(shí)施例中,針對(duì)多異地副本依次輪轉(zhuǎn),例如第一次讀異地副本a,則第二次讀異地副本b,第三次讀異地副本c,依次輪轉(zhuǎn)反復(fù)。這種方案的可以分散單副本的讀io壓力,進(jìn)而縮短處理讀請(qǐng)求的時(shí)間,進(jìn)而達(dá)到提升讀io的性能的效果。

以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1