真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

下文給大家?guī)?lái)UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn),希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,云硬盤(pán)涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。

高平網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,高平網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為高平上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的高平做網(wǎng)站的公司定做!

架構(gòu)升級(jí)要點(diǎn)

通過(guò)對(duì)現(xiàn)階段問(wèn)題和需求的分析,我們整理了這次架構(gòu)升級(jí)的具體要點(diǎn):

1 、解決原有軟件架構(gòu)不能充分發(fā)揮硬件能力的局限

2 、支持SSD云盤(pán),提供QOS保證,充分發(fā)揮后端NVME物理盤(pán)的IOPS和帶寬性能,單個(gè)云盤(pán)IOPS可達(dá)2.4W

3 、支持更大容量云盤(pán),32T甚至更大

4 、充分降低IO流量的熱點(diǎn)問(wèn)題

5 、支持并發(fā)創(chuàng)建幾千塊云盤(pán),支持并發(fā)掛載幾千塊云盤(pán)

6 、支持老架構(gòu)云盤(pán)在線向新架構(gòu)遷移,支持普通云盤(pán)在線遷移至SSD云盤(pán)

新架構(gòu)改造實(shí)踐

改造一:IO路徑優(yōu)化

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)
UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

老架構(gòu)中,整個(gè)IO路徑有三大層,第一層宿主Client側(cè),第二層Proxy側(cè),第三層存儲(chǔ)Chunk層。Proxy負(fù)責(zé)IO的路由獲取以及緩存;IO的讀寫(xiě)轉(zhuǎn)發(fā)到下一層存儲(chǔ)層,負(fù)責(zé)IO寫(xiě)三份復(fù)制。

而新架構(gòu)中,路由獲取交給了Client,IO讀寫(xiě)Client可直接訪問(wèn)存儲(chǔ)Chunk層,寫(xiě)三份復(fù)制也交給了Chunk。整個(gè)IO路徑變成了2層,一層是宿主Client側(cè), 另一層存儲(chǔ)Chunk層。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

架構(gòu)升級(jí)之后,對(duì)讀IO,一次網(wǎng)絡(luò)請(qǐng)求直達(dá)到后端存儲(chǔ)節(jié)點(diǎn),老架構(gòu)都是2次。對(duì)寫(xiě)IO,主副本IO一次網(wǎng)絡(luò)請(qǐng)求直達(dá)后端存儲(chǔ)節(jié)點(diǎn),另外2副本經(jīng)過(guò)主副本,經(jīng)歷兩次網(wǎng)絡(luò)轉(zhuǎn)發(fā),而老架構(gòu)三個(gè)副本均為兩次。讀IO時(shí)延平均降低0.2-1ms,寫(xiě)尾部時(shí)延減低,也有效的降低總體時(shí)延。

改造二:元數(shù)據(jù)分片

分布式存儲(chǔ)中,會(huì)將數(shù)據(jù)進(jìn)行分片,從而將每個(gè)分片按多副本打散存儲(chǔ)于集群中。如下圖,一個(gè)200G的云盤(pán),如果分片大小是1G,則有200個(gè)分片。老架構(gòu)中,分片大小是1G,在實(shí)際業(yè)務(wù)過(guò)程中我們發(fā)現(xiàn),部分業(yè)務(wù)的IO熱點(diǎn)集中在較小范圍內(nèi),如果采用1G分片,普通SATA磁盤(pán)性能會(huì)很差。并且在SSD云盤(pán)中,也不能均勻的將IO流量打散到各個(gè)存儲(chǔ)節(jié)點(diǎn)上。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

新架構(gòu)中,我們支持了1M大小的分片。1M分片,可以充分使用整個(gè)集群的能力。高性能存儲(chǔ)中,因?yàn)楣虘B(tài)硬盤(pán)性能較好,業(yè)務(wù)IO熱點(diǎn)集中在較小范圍內(nèi),也能獲得較好的性能。

但UCloud元數(shù)據(jù)采用的是預(yù)分配和掛載方案,申請(qǐng)?jiān)票P(pán)時(shí)系統(tǒng)直接分配所有元數(shù)據(jù)并全部加載到內(nèi)存。分片過(guò)小時(shí),需要同時(shí)分配或掛載的元數(shù)據(jù)量會(huì)非常大,容易超時(shí)并導(dǎo)致部分請(qǐng)求失敗。

例如,同時(shí)申請(qǐng)100塊300G的云盤(pán),如果按1G分片,需要同時(shí)分配3W條元數(shù)據(jù);如果按照1M分片,則需要同時(shí)分配3000W條元數(shù)據(jù)。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

為了解決分片變小導(dǎo)致的元數(shù)據(jù)分配/掛載失敗問(wèn)題,我們嘗試改變IO時(shí)的分配策略,即云盤(pán)掛載時(shí),將已分配的元數(shù)據(jù)加載到內(nèi)存中。IO時(shí),如果IO范圍命中已經(jīng)分配路由,則按內(nèi)存中的路由進(jìn)行IO;如果IO范圍命中未分配路由,則實(shí)時(shí)向元數(shù)據(jù)模塊請(qǐng)求分配路由,并將路由存儲(chǔ)在內(nèi)存中。

按IO時(shí)分配,如果同時(shí)申請(qǐng)100塊300G的云盤(pán), 同時(shí)掛載、同時(shí)觸發(fā)IO,大約會(huì)產(chǎn)生1000 IOPS,偏隨機(jī)。最壞情況會(huì)觸發(fā)1000 * 100 = 10W 元數(shù)據(jù)分配。在IO路徑上,還是存在較大消耗。

最終,新架構(gòu)中我們放棄了中心節(jié)點(diǎn)存儲(chǔ)分片元數(shù)據(jù)的方案,采用了以一套統(tǒng)一規(guī)則去計(jì)算獲取路由的方案。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

該方案中,Client 端和集群后端采用同樣的計(jì)算規(guī)則R(分片大小、pg個(gè)數(shù)、映射方法、沖突規(guī)則);云盤(pán)申請(qǐng)時(shí),元數(shù)據(jù)節(jié)點(diǎn)利用計(jì)算規(guī)則四元組判斷容量是否滿足;云盤(pán)掛載時(shí),從元數(shù)據(jù)節(jié)點(diǎn)獲取計(jì)算規(guī)則四元組; IO時(shí),按計(jì)算規(guī)則R(分片大小、pg個(gè)數(shù)、映射方法、沖突規(guī)則)計(jì)算出路路由元數(shù)據(jù)然后直接進(jìn)行IO。通過(guò)這種改造方案,可以確保在1M數(shù)據(jù)分片的情況下,元數(shù)據(jù)的分配和掛載暢通無(wú)阻,并節(jié)省IO路徑上的消耗。

改造三:支持SSD高性能云盤(pán)

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

通過(guò)上述對(duì)比可以看到,NVME固態(tài)硬盤(pán)性能百倍于機(jī)械盤(pán),但需要軟件的配套設(shè)計(jì),才能利用NVME固態(tài)硬盤(pán)的能力。

SSD云盤(pán)提供QoS保證,單盤(pán)IOPS:min{1200+30*容量,24000} 對(duì)于SSD云盤(pán),傳統(tǒng)的單線程模式會(huì)是瓶頸,難以支持后端NVME硬盤(pán)幾十萬(wàn)的IOPS以及1-2GB的帶寬,所以我們采用了多線程模型。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

為了較快推出SSD云盤(pán),我們還是采用了傳統(tǒng)TCP網(wǎng)絡(luò)編程模型,未使用Kernel Bypass。同時(shí),通過(guò)一些軟件細(xì)節(jié)的優(yōu)化,來(lái)減少CPU消耗。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

目前,單個(gè)線程寫(xiě)可達(dá)6W IOPS,讀可達(dá)8W IOPS,5個(gè)線程可以基本利用NVME固態(tài)硬盤(pán)的能力。目前我們能提供云盤(pán)IO能力如下:

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

改造四:防過(guò)載能力

對(duì)于普通云盤(pán),新架構(gòu)的軟件不再是瓶頸,但一般的機(jī)械硬盤(pán)而言,隊(duì)列并發(fā)大小只能支持到32-128左右。100塊云盤(pán),持續(xù)同時(shí)各有幾個(gè)IO命中一塊物理HDD磁盤(pán)時(shí),因?yàn)镠DD硬盤(pán)隊(duì)列并發(fā)布較小,會(huì)出現(xiàn)較多的io_submit耗時(shí)久或者失敗等問(wèn)題。Client側(cè)判斷IO超時(shí)后,會(huì)重試IO發(fā)送,造成Chunk端TCP緩沖區(qū)積壓越來(lái)越多的IO包,越來(lái)越多的超時(shí)積壓在一起,最終導(dǎo)致系統(tǒng)過(guò)載。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

對(duì)于普通云盤(pán),需控制并發(fā)提交隊(duì)列大小,按隊(duì)列大小,依次遍歷所有云盤(pán),下發(fā)各云盤(pán)的IO,如上圖的1、2、3。實(shí)際代碼邏輯里,還需要考慮云盤(pán)大小的權(quán)重。

對(duì)于SSD云盤(pán)來(lái)說(shuō),傳統(tǒng)的單個(gè)線程會(huì)是瓶頸,難以支持幾十萬(wàn)的IOPS以及1-2GB的帶寬。

壓測(cè)中,我們模擬了熱點(diǎn)集中在某個(gè)線程上的場(chǎng)景,發(fā)現(xiàn)該線程CPU基本處于99%-100%滿載狀態(tài),而其它線程則處于空閑狀態(tài)。后來(lái),我們采用定期上報(bào)線程CPU以及磁盤(pán)負(fù)載狀態(tài)的方式,當(dāng)滿足某線程持續(xù)繁忙而有線程持續(xù)空閑時(shí),選取部分磁盤(pán)分片的IO切換至空閑線程,來(lái)規(guī)避部分線程過(guò)載。

改造五:在線遷移

老架構(gòu)普通云盤(pán)性能較差,部分普通云盤(pán)用戶業(yè)務(wù)發(fā)展較快,希望從普通云盤(pán)遷移至SSD云盤(pán),滿足更高的業(yè)務(wù)發(fā)展需要。目前線上存在2套老架構(gòu),為了快速達(dá)到在線遷移的目的,我們第一期決定從系統(tǒng)外圍支持在線遷移。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

遷移流程如下:

1  后端設(shè)置遷移標(biāo)記;

2  Qemu連接重置到Trans Client;

3  寫(xiě)IO流經(jīng)過(guò)Trans Client 到Trans模塊,Trans模塊進(jìn)行雙寫(xiě):一份寫(xiě)老架構(gòu),一份寫(xiě)新架構(gòu);

4  Trigger 遍歷磁盤(pán), 按1M大小觸發(fā)數(shù)據(jù)命令給Trans觸發(fā)數(shù)據(jù)后臺(tái)搬遷。未完成搬遷前,IO讀經(jīng)Trans向舊架構(gòu)Proxy讀??;

5  當(dāng)全部搬遷完成后,Qemu連接重置到新架構(gòu)Client,完成在線遷移。

加一層Trans及雙寫(xiě),使遷移期間存在一些性能損耗。但對(duì)于普通云盤(pán),遷移期間可以接受。我們目前對(duì)于新架構(gòu)也正在建設(shè)基于Journal的在線遷移能力,目標(biāo)在遷移期間,性能影響控制在5%以下。

經(jīng)過(guò)上述系列改造,新的云硬盤(pán)架構(gòu)基本完成了最初的升級(jí)目標(biāo)。目前,新架構(gòu)已經(jīng)正式上線并成功運(yùn)用于日常業(yè)務(wù)當(dāng)中。在這里,也談?wù)勎覀冋谘邪l(fā)的幾項(xiàng)工作。

1、容量具備無(wú)限擴(kuò)展能力

每個(gè)可用區(qū),會(huì)存在多個(gè)存儲(chǔ)集群Set. 每個(gè)Set可提供1PB左右的存儲(chǔ)(我們并沒(méi)有讓集群無(wú)限擴(kuò)容)。當(dāng)Set1的云盤(pán)需要從1T擴(kuò)容至32T 100T時(shí),可能會(huì)碰到Set1的容量不足的問(wèn)題。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

因此,我們計(jì)劃將用戶申請(qǐng)的邏輯盤(pán),進(jìn)行分Part, 每個(gè)Part可以申請(qǐng)?jiān)俨挥玫腟et中,從而具備容量可以無(wú)限擴(kuò)展的能力。

2、超高性能存儲(chǔ)

近10年,硬盤(pán)經(jīng)過(guò) HDD -> SATA SSD -> NVME SSD的發(fā)展。同時(shí),網(wǎng)絡(luò)接口也經(jīng)歷了10G -> 25G -> 100G的跨越式發(fā)展。然而CPU主頻幾乎沒(méi)有較大發(fā)展,平均在2-3GHZ,我們使用的一臺(tái)物理機(jī)可以掛6-8塊NVME盤(pán),意味著一臺(tái)物理機(jī)可以提供300-500萬(wàn)的IOPS.

傳統(tǒng)應(yīng)用云服務(wù)器軟件模式下,基于TCP的Epoll Loop, 網(wǎng)卡的收發(fā)包,IO的讀寫(xiě)要經(jīng)過(guò)用戶態(tài)、內(nèi)核態(tài)多層拷貝和切換,并且需要靠?jī)?nèi)核的中斷來(lái)喚醒,軟件很難壓榨出硬件的全部能力。例如在IOPS和時(shí)延上,只能靠疊加線程去增加IOPS,然而,IOPS很難隨著線程的增加而線性增長(zhǎng),此外時(shí)延抖動(dòng)也較高。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

我們希望通過(guò)引入零拷貝、用戶態(tài)、輪詢的技術(shù)方案來(lái)優(yōu)化上圖中的三種IO路徑,從而減少用戶態(tài)、內(nèi)核態(tài)、協(xié)議棧的多層拷貝和切換,并結(jié)合輪詢一起壓榨出硬件的全部能力。

最終,我們選擇了RDMA,VHOST,SPDK三個(gè)技術(shù)方案。

方案一:超高性能存儲(chǔ)-VHOST

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

傳統(tǒng)模式如下,IO經(jīng)過(guò)虛機(jī)和Qemu驅(qū)動(dòng),再經(jīng)過(guò)Unix Domain Socket到Client。 經(jīng)過(guò)多次用戶態(tài)內(nèi)核態(tài),以及IO路徑上的拷貝。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

而利用VHOST User模式,可以利用共享內(nèi)存進(jìn)行用戶態(tài)的VM到Client側(cè)的數(shù)據(jù)傳輸。在實(shí)際中,我們利用了SPDK VHOST。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

研發(fā)環(huán)境中,我們將Client收到IO請(qǐng)求后立即模擬返回給VM,也就是不向存儲(chǔ)后端發(fā)送數(shù)據(jù),得到的數(shù)據(jù)如上圖。單隊(duì)列時(shí)延可以降低90us,IOPS有幾十倍的提升。

方案二:超高性能存儲(chǔ)-RDMA+SPDK

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

RDMA提供了一種消息服務(wù),應(yīng)用程序利用RDMA可以直接訪問(wèn)遠(yuǎn)程計(jì)算機(jī)上的虛擬內(nèi)存,RDMA減少了CPU占用以及內(nèi)存帶寬瓶頸,提供了很高的帶寬,并利用Stack Bypass和零拷貝技術(shù),提供了低延遲的特性。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

SPDK可以在用戶態(tài)高并發(fā)零拷貝地以用戶態(tài)驅(qū)動(dòng)直接訪問(wèn)NVME 固態(tài)硬盤(pán)。并利用輪詢模式避免了內(nèi)核上下文切換和中斷處理帶來(lái)的開(kāi)銷。

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

目前團(tuán)隊(duì)正在研發(fā)利用RDMA和SPDK的存儲(chǔ)引擎框架,研發(fā)測(cè)試環(huán)境中,后端用一塊NVME固態(tài)盤(pán),我們?cè)趩侮?duì)列和IOPS上可以提升如下:

UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)

包括SPDK VHOST USER的Client側(cè),以及RDMA+SPDK的存儲(chǔ)側(cè)方案,預(yù)計(jì)12月會(huì)推出公測(cè)版。

看了以上關(guān)于UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn),如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。

 

 


分享標(biāo)題:UCloud云硬盤(pán)性能、優(yōu)勢(shì)體現(xiàn)
新聞來(lái)源:http://weahome.cn/article/jghdej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部