• 正文
    • 1.? 背景介紹
    • 2.? 方案介紹
    • 3.? 方案測試結(jié)果
    • 4.? 總結(jié)
    • 4.1. 方案優(yōu)勢
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于DPU的云原生裸金屬服務(wù)快速部署及存儲(chǔ)解決方案

2024/06/14
3210
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1.? 背景介紹

1.1. 業(yè)務(wù)背景

在云原生技術(shù)迅速發(fā)展的當(dāng)下,容器技術(shù)因其輕量級(jí)、可移植性和快速部署的特性而成為應(yīng)用部署的主流選擇,但裸金屬服務(wù)器依然有其獨(dú)特的價(jià)值和應(yīng)用場景,是云原生架構(gòu)中不可或缺的一部分。

裸金屬服務(wù)器是一種高級(jí)的云計(jì)算解決方案,它成功地融合了傳統(tǒng)云主機(jī)的靈活性、便捷性與物理服務(wù)器的強(qiáng)大性能與獨(dú)立性。作為一類特別設(shè)計(jì)的計(jì)算類云服務(wù),裸金屬服務(wù)器直接向用戶提供了云端部署的專屬物理服務(wù)器,這意味著客戶不再需要與其他租戶共享硬件資源,從而確保了資源的獨(dú)占性、性能的最優(yōu)化以及數(shù)據(jù)的最高級(jí)別安全。

這種服務(wù)模式特別適合那些運(yùn)行核心數(shù)據(jù)庫系統(tǒng)、承載關(guān)鍵業(yè)務(wù)應(yīng)用、實(shí)施大規(guī)模高性能計(jì)算項(xiàng)目或處理海量大數(shù)據(jù)分析的任務(wù)。裸金屬服務(wù)器以其強(qiáng)大的計(jì)算能力,能夠高效處理復(fù)雜的計(jì)算密集型作業(yè),同時(shí)保證了低延遲和高吞吐量,是驅(qū)動(dòng)企業(yè)數(shù)字化轉(zhuǎn)型和創(chuàng)新業(yè)務(wù)場景的重要基石。

1.2. 問題與挑戰(zhàn)

傳統(tǒng)的裸金屬服務(wù)通常采用Openstack Ironic架構(gòu),并通過PXE和TFTP實(shí)現(xiàn)安裝引導(dǎo)流程,服務(wù)器的本地盤作為裸金屬服務(wù)器的存儲(chǔ)資源。這種方式導(dǎo)致了用戶體驗(yàn)差、靈活性不足等諸多問題,難以滿足用戶越來越高的業(yè)務(wù)和技術(shù)需求。

Ironic 采用本地物理盤進(jìn)行啟動(dòng)時(shí),首先將遠(yuǎn)程鏡像下載并寫入到本地物理盤中,然后再從本地盤啟動(dòng)進(jìn)入系統(tǒng)。流程如下:

可以看到,其重點(diǎn)是通過 PXE 啟動(dòng)一個(gè)小系統(tǒng)(在內(nèi)存中運(yùn)行),這個(gè)小系統(tǒng)中運(yùn)行了 Ironic 定制的 ironic-python-agent(簡稱 IPA),IPA 負(fù)責(zé)從 Glance 下載真正的用戶鏡像,并寫入到本地磁盤上。

物理服務(wù)器支持基于云盤的無盤啟動(dòng)方式,Ironic 也支持無盤啟動(dòng),但目前支持的協(xié)議有限,僅支持 iSCSI Boot,且仍然依賴PXE。

目前在云原生生態(tài)中,提供裸金屬服務(wù)的開源組件只有 metal3(或稱Metal Kubed),但我們對(duì)其調(diào)研后發(fā)現(xiàn),metal3只是抽象了裸金屬的一個(gè)生命周期狀態(tài)機(jī),但裸金屬本身的網(wǎng)絡(luò)、存儲(chǔ)、鏡像管理等都依賴外部實(shí)現(xiàn),而且目前僅有基于 Ironic 的實(shí)現(xiàn)。因此,相關(guān)的方案架構(gòu)和 Ironic 沒有區(qū)別。

因此,我們總結(jié)裸金屬服務(wù)器部署和存儲(chǔ)的關(guān)鍵痛點(diǎn):

  • 部署周期長:傳統(tǒng)裸金屬服務(wù)采用PXE+TFTP技術(shù)安裝引導(dǎo),部署時(shí)間長(約20分鐘),主要耗時(shí)在三個(gè)環(huán)節(jié):(1)兩次啟動(dòng),(2)鏡像下載,(3)鏡像寫入本地盤。這導(dǎo)致了業(yè)務(wù)彈性不足和效率低下,最終用戶體驗(yàn)較差。
  • 存儲(chǔ)能力弱:服務(wù)器本地盤作為系統(tǒng)盤,無法實(shí)現(xiàn)靈活擴(kuò)容、整機(jī)克隆和冷遷移等操作;數(shù)據(jù)保存在本地,如果掛載云存儲(chǔ)則需要侵入用戶鏡像,且云存儲(chǔ)客戶端運(yùn)行于 Host,消耗計(jì)算資源,影響運(yùn)維效率和使用體驗(yàn)。
  • 在云原生生態(tài)下無解決方案:目前在Kubenetes架構(gòu)下,無法支持裸金屬服務(wù),不能以云原生統(tǒng)一的方式實(shí)現(xiàn)裸金屬服務(wù)器的創(chuàng)建、刪除、重啟等操作,導(dǎo)致管理效率低下,服務(wù)器資源利用率低。

2.? 方案介紹

2.1. 整體架構(gòu)

為了解決傳統(tǒng)裸金屬服務(wù)方案的問題,中科馭數(shù)基于DPU開發(fā)了全新的云原生裸金屬服務(wù)解決方案,整體架構(gòu)圖如下:

在本方案中,DPU支持裸金屬服務(wù)器的網(wǎng)絡(luò)和存儲(chǔ)資源虛擬化,使得物理服務(wù)器能夠像虛擬機(jī)一樣靈活配置,動(dòng)態(tài)添加或刪除網(wǎng)卡、硬盤等資源。這為裸金屬服務(wù)器提供了類似云服務(wù)的彈性,同時(shí)保持了物理機(jī)級(jí)別的性能。另外,DPU能夠管理遠(yuǎn)程存儲(chǔ)資源,如云盤,使得裸金屬服務(wù)器可以使用云存儲(chǔ)服務(wù),同時(shí)通過DPU加速存儲(chǔ)I/O,提高讀寫性能,使得云盤接近本地存儲(chǔ)的體驗(yàn)。

我們定義了一類名為 BareMetalMachine 的 CRD 資源來管理裸金屬實(shí)例,并自研了相關(guān)的 Kubenetes組件管理裸金屬的生命周期,包含以下關(guān)鍵組件:

bmctl:類似于 kubectl 的一個(gè)便于操作裸金屬的命令行工具。

bm-controller:裸金屬核心控制器,工作在 master 節(jié)點(diǎn)。負(fù)責(zé)裸金屬對(duì)象生命周期的管理,通過 BMC 來操作裸金屬服務(wù)器的電源開關(guān)機(jī)、重啟等)狀態(tài)。

bm-api:作為K8s APIServer 的擴(kuò)展,封裝裸金屬的 api 接口,實(shí)現(xiàn) console、重啟等功能。

bm-handler:作為DaemonSet 部署在 DPU Soc 上,負(fù)責(zé)該DPU上裸金屬的管理。

ycloud-cni:為裸金屬提供虛擬網(wǎng)卡配置功能,調(diào)用 OVS 進(jìn)行配置。

ycloud-csi:為裸金屬提供云盤掛載功能,最終通過SPDK 進(jìn)行配置,SPDK 通過 PCIe給裸金屬模擬磁盤。是一個(gè)框架,對(duì)接到外部或開源的 CSI Driver。

以上組件均為自研,完全基于云原生生態(tài),在用戶平面實(shí)現(xiàn)和Kubevirt虛機(jī)類似的管理操作,填補(bǔ)了云原生生態(tài)中管理裸金屬服務(wù)的空白。

2.2. 方案描述

在基于DPU的裸金屬服務(wù)方案下,實(shí)現(xiàn)了裸金屬的部署啟動(dòng)、云盤熱插拔、熱擴(kuò)容、cloudinit、冷遷移、快照恢復(fù)及克隆等常用功能,以下對(duì)主要部分做詳細(xì)描述,并和傳統(tǒng) Ironic 方案進(jìn)行部分對(duì)比。

2.2.1.??基于DPU的無盤啟動(dòng)方案

在基于 DPU 的方案中,我們采用直接掛載云盤系統(tǒng)的方式,不使用本地盤,過程如下:

bm-controller 根據(jù)裸金屬資源描述,創(chuàng)建系統(tǒng)盤對(duì)應(yīng)的 PVC,指定從原始鏡像所在的PVC 進(jìn)行克隆。

ycloud-csi 監(jiān)聽到 PVC 創(chuàng)建后,調(diào)用后端存儲(chǔ)以快照方式克隆原始鏡像卷,創(chuàng)建新的鏡像卷。遠(yuǎn)程存儲(chǔ)卷拷貝的時(shí)候采用的是快照方式(COW),并不是完整拷貝,速度很快,一般在數(shù)秒內(nèi)完成。

鏡像卷創(chuàng)建完成后,ycloud-csi 將其映射到DPU,調(diào)用 SPDK 進(jìn)行配置,給Host 側(cè)掛載對(duì)應(yīng)的系統(tǒng)盤。

系統(tǒng)盤掛載完成后,bm-controller 通過 BMC重啟裸金屬節(jié)點(diǎn),此時(shí)BIOS 能掃描到系統(tǒng)盤,啟動(dòng)進(jìn)入系統(tǒng),裸金屬啟動(dòng)完成。

與Ironic 方案相比,沒有 PXE 過程,也只需啟動(dòng)一次。

?

2.2.2.??存儲(chǔ)對(duì)接

Ironic 存儲(chǔ)對(duì)接方案:

Ironic 的存儲(chǔ)對(duì)接在 Host 側(cè),Host 網(wǎng)絡(luò)需和存儲(chǔ)網(wǎng)絡(luò)連通,且Host 中如安裝相關(guān)組件,如下圖:

為了完成云盤的掛載/卸載,Host 中需要安裝一個(gè) ironic-agent 及相應(yīng)存儲(chǔ)客戶端,ironic-agent調(diào)用存儲(chǔ)客戶端完成云盤的掛載/卸載操作。Ironic 的 StorageDriver 會(huì)配置好存儲(chǔ)服務(wù)端,并調(diào)用 ironic-agent 完成云盤的操作。

基于DPU的存儲(chǔ)對(duì)接方案:

在基于DPU 的方案中,存儲(chǔ)對(duì)接在DPU 側(cè),如下圖所示:

裸金屬上看到的盤,是DPU 上的 SPDK 通過 PCIe 模擬的設(shè)備。存儲(chǔ)網(wǎng)絡(luò)也是由 OVS 連接的和配置的。為了便于系統(tǒng)組件通過統(tǒng)一的框架屏蔽存儲(chǔ)的細(xì)節(jié),我們開發(fā)了ycloud-csi 這個(gè)基于 DPU的通用框架,可以和多種外部 CSI Driver進(jìn)行對(duì)接。ycloud-csi 和 API Server 通信,監(jiān)聽 PVC 的更新,通過 CSI Driver 調(diào)用后端存儲(chǔ),并調(diào)用 SPDK 給Host 配置相應(yīng)的模擬盤。

與 Ironic 方案相比,存儲(chǔ)相關(guān)組件全部下沉到了DPU側(cè),存儲(chǔ)網(wǎng)絡(luò)也統(tǒng)一通過 DPU 側(cè)OVS 對(duì)外連接,Host側(cè)屏蔽了網(wǎng)絡(luò)細(xì)節(jié)。

2.2.3.??硬盤熱插拔

如Ironic存儲(chǔ)對(duì)接方案中所示,Ironic 中的 StorageDriver 調(diào)用 Host 中的 ironic-agent 完成硬盤熱插拔,用戶鏡像需安裝相關(guān)依賴。

在基于 DPU 的方案中,由于裸金屬上的盤是 DPU 通過PCIe 模擬的,因此,通過動(dòng)態(tài)調(diào)整 DPU 上的 SPDK 配置,即可實(shí)現(xiàn)硬盤的熱插拔。

2.2.4.??硬盤熱擴(kuò)容

Ironic 中,支持云盤熱擴(kuò)容,在 Cinder 中調(diào)整存儲(chǔ)卷的大小后,刷新客戶端即可。

在基于 DPU 的方案中,ycloud-csi 調(diào)用存儲(chǔ)完成后端存儲(chǔ)卷的擴(kuò)容,然后通過 SPDK 支持 bdev 的熱擴(kuò)容,并通過PCIe 通知到 Host側(cè)。

3.? 方案測試結(jié)果

3.1. K8s上裸金屬創(chuàng)建及管理

與其他K8s 資源的創(chuàng)建類似,裸金屬的通過一個(gè)yaml描述進(jìn)行創(chuàng)建,類似以下命令:

kubectl apply -f bm-xxx.yaml

(由于描述yaml較長,這里不貼出)

創(chuàng)建后,可通過 kubectl 命令查看:

可以看到bm-01、bm-02及 bm-node3三個(gè)裸金屬實(shí)例,均為 Running 狀態(tài)。

我們提供了類似 kubectl 的一個(gè) bmctl 命令行工具,方便進(jìn)行管理維護(hù)。通過該命令,可以方便的進(jìn)行開關(guān)機(jī)、重啟、硬盤插拔、網(wǎng)卡插拔等操作:

3.2. 部署啟動(dòng)時(shí)間

我們定義裸金屬的部署啟動(dòng)時(shí)間為:下發(fā)創(chuàng)建裸金屬實(shí)例的命令,到裸金屬實(shí)例網(wǎng)絡(luò) IP 可以ping 通的時(shí)間。

在聯(lián)創(chuàng)萬通 LCWT R7220 服務(wù)器上,鏡像 OS 為 Ubuntu 22.04 Server,內(nèi)核版本為 5.15.0-106-generic 時(shí)測得的啟動(dòng)時(shí)間:

從創(chuàng)建到可ping 通共耗時(shí) 153 秒(2min33s)。

基于DPU的裸金屬服務(wù)方案啟動(dòng)時(shí)間在 2-3min 內(nèi),具體耗時(shí)取決于服務(wù)器類型和鏡像版本。相比之下,我們測試傳統(tǒng) Ironic 本地盤方式在 20min 以上。

3.3. CPU消耗

在裸金屬實(shí)例上對(duì)多塊盤同時(shí)執(zhí)行 fio 測試,查看 CPU 消耗,可以看到,由于存儲(chǔ)組件全部卸載到了DPU側(cè),Host幾乎沒有 CPU 消耗(fio 和 top 進(jìn)程除外):

相比之下,若 Host 直接運(yùn)行 Ceph RBD客戶端連接存儲(chǔ),fio 讀寫時(shí),通過Top可看到 RBD 內(nèi)核進(jìn)程:

將以上Ceph RBD 內(nèi)核進(jìn)程的消耗CPU 百分百相加,可以看到,fio讀寫時(shí)消耗CPU為235.2%,超過200%(即2個(gè)物理Core),在更多的盤讀寫時(shí),會(huì)消耗更多CPU:

3.4. 硬盤熱插拔

本測試為在不關(guān)機(jī)重啟的情況下插拔云盤,測試結(jié)果顯示可正常操作。

拔盤前:

拔盤后:

插入新盤后:

3.5. 硬盤熱擴(kuò)容

熱擴(kuò)容測試時(shí),使用 fio 對(duì)目標(biāo)盤進(jìn)行讀寫,擴(kuò)容過程中fio 的數(shù)據(jù)操作不受影響。

擴(kuò)容前:

擴(kuò)容后:

4.? 總結(jié)

4.1. 方案優(yōu)勢

本方案創(chuàng)新性地在云原生架構(gòu)框架下融入裸金屬服務(wù),依托自研的Kubenetes插件,巧妙運(yùn)用DPU技術(shù),實(shí)現(xiàn)系統(tǒng)盤與數(shù)據(jù)盤的云端托管,顯著優(yōu)化資源配置與管理效能。其核心優(yōu)勢概覽如下:

?填補(bǔ)空白,引領(lǐng)創(chuàng)新:鑒于目前云原生生態(tài)系統(tǒng)中缺乏成熟的開源裸金屬服務(wù)解決方案,本方案的成功實(shí)施不僅填補(bǔ)了這一市場和技術(shù)空白,更為行業(yè)樹立了新的標(biāo)桿,推動(dòng)了云原生技術(shù)的深入發(fā)展與應(yīng)用。

?加速部署,效率飛躍:依托DPU驅(qū)動(dòng)的云盤啟動(dòng)機(jī)制,與傳統(tǒng)的本地盤啟動(dòng)方式相比,本方案極大提升了裸金屬服務(wù)器的交付速度,部署時(shí)間從20分鐘銳減至大約2分鐘,顯著增強(qiáng)了業(yè)務(wù)敏捷性。

?深度整合,簡化管理:通過DPU掛載云盤,將裸金屬服務(wù)器的控制面與數(shù)據(jù)面下沉至DPU層面,無需依賴用戶自定義鏡像,且存儲(chǔ)客戶端功能與用戶系統(tǒng)完全隔離,確保了環(huán)境的純凈與管理的便捷。

?強(qiáng)化安全,隱匿復(fù)雜性:該方案有效屏蔽存儲(chǔ)網(wǎng)絡(luò)架構(gòu)及后端存儲(chǔ)細(xì)節(jié),既增強(qiáng)了存儲(chǔ)層面的安全防御能力,又簡化了運(yùn)維視圖,提升了整體系統(tǒng)的安全性和可維護(hù)性。

?資源優(yōu)化,專注業(yè)務(wù):通過將存儲(chǔ)功能外移到DPU,徹底釋放了裸金屬服務(wù)器本身的資源約束,確保所有服務(wù)器資源都能集中服務(wù)于業(yè)務(wù)需求,極大提升了資源的有效利用率。

?性能卓越,逼近本地:充分利用DPU提供的硬件加速能力,本方案中的云盤性能逼近甚至達(dá)到本地硬盤水平,確保了數(shù)據(jù)訪問的高速度與低延遲,滿足了高性能計(jì)算與大數(shù)據(jù)處理的嚴(yán)苛要求。

綜上所述,本方案憑借其在部署效率、資源管理、安全性能、資源優(yōu)化及技術(shù)創(chuàng)新方面的顯著優(yōu)勢,為云原生環(huán)境下的裸金屬服務(wù)應(yīng)用開辟了新的路徑,展現(xiàn)了強(qiáng)大的競爭力和前瞻視野。

4.2. 未來與展望

隨著企業(yè)對(duì)高性能計(jì)算、數(shù)據(jù)安全及業(yè)務(wù)敏捷性的需求日益增長,本方案將進(jìn)一步整合云原生架構(gòu)的靈活性與物理服務(wù)器的性能優(yōu)勢,助力客戶在激烈的市場競爭中脫穎而出??蛻魧⑾硎艿礁痰臉I(yè)務(wù)上線時(shí)間、更低的總體擁有成本(TCO)、更強(qiáng)的數(shù)據(jù)安全性和定制化的高性能計(jì)算環(huán)境,從而加速數(shù)字化轉(zhuǎn)型,推動(dòng)業(yè)務(wù)創(chuàng)新與發(fā)展。

伴隨云原生技術(shù)的普及與深化,裸金屬服務(wù)作為關(guān)鍵基礎(chǔ)設(shè)施之一,其市場需求將持續(xù)攀升,特別是在金融、電信、醫(yī)療、大數(shù)據(jù)分析和AI訓(xùn)練等對(duì)計(jì)算性能和數(shù)據(jù)隔離有著極高要求的行業(yè)。本方案以其獨(dú)特的技術(shù)優(yōu)勢,有望成為行業(yè)標(biāo)準(zhǔn),吸引更廣泛的客戶群體,推動(dòng)整個(gè)云服務(wù)市場的多元化與高端化發(fā)展。

本方案來自于中科馭數(shù)軟件研發(fā)團(tuán)隊(duì),團(tuán)隊(duì)核心由一群在云計(jì)算、數(shù)據(jù)中心架構(gòu)、高性能計(jì)算領(lǐng)域深耕多年的業(yè)界資深架構(gòu)師和技術(shù)專家組成,不僅擁有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),還對(duì)行業(yè)趨勢具備敏銳的洞察力,該團(tuán)隊(duì)致力于探索、設(shè)計(jì)、開發(fā)、推廣可落地的高性能云計(jì)算解決方案,幫助最終客戶加速數(shù)字化轉(zhuǎn)型,提升業(yè)務(wù)效能,同時(shí)降低運(yùn)營成本。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
FTSH-110-01-L-DV-K-P-TR 1 Samtec Inc Board Connector, 20 Contact(s), 2 Row(s), Male, Straight, 0.05 inch Pitch, Surface Mount Terminal, Locking, Receptacle, ROHS COMPLIANT

ECAD模型

下載ECAD模型
$5.05 查看
PMR205AB6100M047R30 1 KEMET Corporation RC Network, Isolated, 47ohm, 250V, 0.1uF, Through Hole Mount, 2 Pins, RADIAL LEADED, ROHS COMPLIANT
$4.84 查看
T491X476K035AT 1 KEMET Corporation Tantalum Capacitor, Polarized, Tantalum (dry/solid), 35V, 10% +Tol, 10% -Tol, 47uF, Surface Mount, 2917, CHIP

ECAD模型

下載ECAD模型
$2.75 查看

相關(guān)推薦