1. 背景介紹
1.1. 業(yè)務背景
在云原生技術迅速發(fā)展的當下,容器技術因其輕量級、可移植性和快速部署的特性而成為應用部署的主流選擇,但裸金屬服務器依然有其獨特的價值和應用場景,是云原生架構中不可或缺的一部分。
裸金屬服務器是一種高級的云計算解決方案,它成功地融合了傳統(tǒng)云主機的靈活性、便捷性與物理服務器的強大性能與獨立性。作為一類特別設計的計算類云服務,裸金屬服務器直接向用戶提供了云端部署的專屬物理服務器,這意味著客戶不再需要與其他租戶共享硬件資源,從而確保了資源的獨占性、性能的最優(yōu)化以及數(shù)據(jù)的最高級別安全。
這種服務模式特別適合那些運行核心數(shù)據(jù)庫系統(tǒng)、承載關鍵業(yè)務應用、實施大規(guī)模高性能計算項目或處理海量大數(shù)據(jù)分析的任務。裸金屬服務器以其強大的計算能力,能夠高效處理復雜的計算密集型作業(yè),同時保證了低延遲和高吞吐量,是驅動企業(yè)數(shù)字化轉型和創(chuàng)新業(yè)務場景的重要基石。
1.2. 問題與挑戰(zhàn)
傳統(tǒng)的裸金屬服務通常采用Openstack Ironic架構,并通過PXE和TFTP實現(xiàn)安裝引導流程,服務器的本地盤作為裸金屬服務器的存儲資源。這種方式導致了用戶體驗差、靈活性不足等諸多問題,難以滿足用戶越來越高的業(yè)務和技術需求。
Ironic 采用本地物理盤進行啟動時,首先將遠程鏡像下載并寫入到本地物理盤中,然后再從本地盤啟動進入系統(tǒng)。流程如下:
可以看到,其重點是通過 PXE 啟動一個小系統(tǒng)(在內存中運行),這個小系統(tǒng)中運行了 Ironic 定制的 ironic-python-agent(簡稱 IPA),IPA 負責從 Glance 下載真正的用戶鏡像,并寫入到本地磁盤上。
物理服務器支持基于云盤的無盤啟動方式,Ironic 也支持無盤啟動,但目前支持的協(xié)議有限,僅支持 iSCSI Boot,且仍然依賴PXE。
目前在云原生生態(tài)中,提供裸金屬服務的開源組件只有 metal3(或稱Metal Kubed),但我們對其調研后發(fā)現(xiàn),metal3只是抽象了裸金屬的一個生命周期狀態(tài)機,但裸金屬本身的網絡、存儲、鏡像管理等都依賴外部實現(xiàn),而且目前僅有基于 Ironic 的實現(xiàn)。因此,相關的方案架構和 Ironic 沒有區(qū)別。
因此,我們總結裸金屬服務器部署和存儲的關鍵痛點:
- 部署周期長:傳統(tǒng)裸金屬服務采用PXE+TFTP技術安裝引導,部署時間長(約20分鐘),主要耗時在三個環(huán)節(jié):(1)兩次啟動,(2)鏡像下載,(3)鏡像寫入本地盤。這導致了業(yè)務彈性不足和效率低下,最終用戶體驗較差。
- 存儲能力弱:服務器本地盤作為系統(tǒng)盤,無法實現(xiàn)靈活擴容、整機克隆和冷遷移等操作;數(shù)據(jù)保存在本地,如果掛載云存儲則需要侵入用戶鏡像,且云存儲客戶端運行于 Host,消耗計算資源,影響運維效率和使用體驗。
- 在云原生生態(tài)下無解決方案:目前在Kubenetes架構下,無法支持裸金屬服務,不能以云原生統(tǒng)一的方式實現(xiàn)裸金屬服務器的創(chuàng)建、刪除、重啟等操作,導致管理效率低下,服務器資源利用率低。
2. 方案介紹
2.1. 整體架構
為了解決傳統(tǒng)裸金屬服務方案的問題,中科馭數(shù)基于DPU開發(fā)了全新的云原生裸金屬服務解決方案,整體架構圖如下:
在本方案中,DPU支持裸金屬服務器的網絡和存儲資源虛擬化,使得物理服務器能夠像虛擬機一樣靈活配置,動態(tài)添加或刪除網卡、硬盤等資源。這為裸金屬服務器提供了類似云服務的彈性,同時保持了物理機級別的性能。另外,DPU能夠管理遠程存儲資源,如云盤,使得裸金屬服務器可以使用云存儲服務,同時通過DPU加速存儲I/O,提高讀寫性能,使得云盤接近本地存儲的體驗。
我們定義了一類名為 BareMetalMachine 的 CRD 資源來管理裸金屬實例,并自研了相關的 Kubenetes組件管理裸金屬的生命周期,包含以下關鍵組件:
bmctl:類似于 kubectl 的一個便于操作裸金屬的命令行工具。
bm-controller:裸金屬核心控制器,工作在 master 節(jié)點。負責裸金屬對象生命周期的管理,通過 BMC 來操作裸金屬服務器的電源(開關機、重啟等)狀態(tài)。
bm-api:作為K8s APIServer 的擴展,封裝裸金屬的 api 接口,實現(xiàn) console、重啟等功能。
bm-handler:作為DaemonSet 部署在 DPU Soc 上,負責該DPU上裸金屬的管理。
ycloud-cni:為裸金屬提供虛擬網卡配置功能,調用 OVS 進行配置。
ycloud-csi:為裸金屬提供云盤掛載功能,最終通過SPDK 進行配置,SPDK 通過 PCIe給裸金屬模擬磁盤。是一個框架,對接到外部或開源的 CSI Driver。
以上組件均為自研,完全基于云原生生態(tài),在用戶平面實現(xiàn)和Kubevirt虛機類似的管理操作,填補了云原生生態(tài)中管理裸金屬服務的空白。
2.2. 方案描述
在基于DPU的裸金屬服務方案下,實現(xiàn)了裸金屬的部署啟動、云盤熱插拔、熱擴容、cloudinit、冷遷移、快照恢復及克隆等常用功能,以下對主要部分做詳細描述,并和傳統(tǒng) Ironic 方案進行部分對比。
2.2.1.基于DPU的無盤啟動方案
在基于 DPU 的方案中,我們采用直接掛載云盤系統(tǒng)的方式,不使用本地盤,過程如下:
bm-controller 根據(jù)裸金屬資源描述,創(chuàng)建系統(tǒng)盤對應的 PVC,指定從原始鏡像所在的PVC 進行克隆。
ycloud-csi 監(jiān)聽到 PVC 創(chuàng)建后,調用后端存儲以快照方式克隆原始鏡像卷,創(chuàng)建新的鏡像卷。遠程存儲卷拷貝的時候采用的是快照方式(COW),并不是完整拷貝,速度很快,一般在數(shù)秒內完成。
鏡像卷創(chuàng)建完成后,ycloud-csi 將其映射到DPU,調用 SPDK 進行配置,給Host 側掛載對應的系統(tǒng)盤。
系統(tǒng)盤掛載完成后,bm-controller 通過 BMC重啟裸金屬節(jié)點,此時BIOS 能掃描到系統(tǒng)盤,啟動進入系統(tǒng),裸金屬啟動完成。
與Ironic 方案相比,沒有 PXE 過程,也只需啟動一次。
2.2.2.存儲對接
Ironic 存儲對接方案:
Ironic 的存儲對接在 Host 側,Host 網絡需和存儲網絡連通,且Host 中如安裝相關組件,如下圖:
為了完成云盤的掛載/卸載,Host 中需要安裝一個 ironic-agent 及相應存儲客戶端,ironic-agent調用存儲客戶端完成云盤的掛載/卸載操作。Ironic 的 StorageDriver 會配置好存儲服務端,并調用 ironic-agent 完成云盤的操作。
基于DPU的存儲對接方案:
在基于DPU 的方案中,存儲對接在DPU 側,如下圖所示:
裸金屬上看到的盤,是DPU 上的 SPDK 通過 PCIe 模擬的設備。存儲網絡也是由 OVS 連接的和配置的。為了便于系統(tǒng)組件通過統(tǒng)一的框架屏蔽存儲的細節(jié),我們開發(fā)了ycloud-csi 這個基于 DPU的通用框架,可以和多種外部 CSI Driver進行對接。ycloud-csi 和 API Server 通信,監(jiān)聽 PVC 的更新,通過 CSI Driver 調用后端存儲,并調用 SPDK 給Host 配置相應的模擬盤。
與 Ironic 方案相比,存儲相關組件全部下沉到了DPU側,存儲網絡也統(tǒng)一通過 DPU 側OVS 對外連接,Host側屏蔽了網絡細節(jié)。
2.2.3.硬盤熱插拔
如Ironic存儲對接方案中所示,Ironic 中的 StorageDriver 調用 Host 中的 ironic-agent 完成硬盤熱插拔,用戶鏡像需安裝相關依賴。
在基于 DPU 的方案中,由于裸金屬上的盤是 DPU 通過PCIe 模擬的,因此,通過動態(tài)調整 DPU 上的 SPDK 配置,即可實現(xiàn)硬盤的熱插拔。
2.2.4.硬盤熱擴容
Ironic 中,支持云盤熱擴容,在 Cinder 中調整存儲卷的大小后,刷新客戶端即可。
在基于 DPU 的方案中,ycloud-csi 調用存儲完成后端存儲卷的擴容,然后通過 SPDK 支持 bdev 的熱擴容,并通過PCIe 通知到 Host側。
3. 方案測試結果
3.1. K8s上裸金屬創(chuàng)建及管理
與其他K8s 資源的創(chuàng)建類似,裸金屬的通過一個yaml描述進行創(chuàng)建,類似以下命令:
kubectl apply -f bm-xxx.yaml |
(由于描述yaml較長,這里不貼出)
創(chuàng)建后,可通過 kubectl 命令查看:
可以看到bm-01、bm-02及 bm-node3三個裸金屬實例,均為 Running 狀態(tài)。
我們提供了類似 kubectl 的一個 bmctl 命令行工具,方便進行管理維護。通過該命令,可以方便的進行開關機、重啟、硬盤插拔、網卡插拔等操作:
3.2. 部署啟動時間
我們定義裸金屬的部署啟動時間為:下發(fā)創(chuàng)建裸金屬實例的命令,到裸金屬實例網絡 IP 可以ping 通的時間。
在聯(lián)創(chuàng)萬通 LCWT R7220 服務器上,鏡像 OS 為 Ubuntu 22.04 Server,內核版本為 5.15.0-106-generic 時測得的啟動時間:
從創(chuàng)建到可ping 通共耗時 153 秒(2min33s)。
基于DPU的裸金屬服務方案啟動時間在 2-3min 內,具體耗時取決于服務器類型和鏡像版本。相比之下,我們測試傳統(tǒng) Ironic 本地盤方式在 20min 以上。
3.3. CPU消耗
在裸金屬實例上對多塊盤同時執(zhí)行 fio 測試,查看 CPU 消耗,可以看到,由于存儲組件全部卸載到了DPU側,Host幾乎沒有 CPU 消耗(fio 和 top 進程除外):
相比之下,若 Host 直接運行 Ceph RBD客戶端連接存儲,fio 讀寫時,通過Top可看到 RBD 內核進程:
將以上Ceph RBD 內核進程的消耗CPU 百分百相加,可以看到,fio讀寫時消耗CPU為235.2%,超過200%(即2個物理Core),在更多的盤讀寫時,會消耗更多CPU:
3.4. 硬盤熱插拔
本測試為在不關機重啟的情況下插拔云盤,測試結果顯示可正常操作。
拔盤前:
拔盤后:
插入新盤后:
3.5. 硬盤熱擴容
熱擴容測試時,使用 fio 對目標盤進行讀寫,擴容過程中fio 的數(shù)據(jù)操作不受影響。
擴容前:
擴容后:
4. 總結
4.1. 方案優(yōu)勢
本方案創(chuàng)新性地在云原生架構框架下融入裸金屬服務,依托自研的Kubenetes插件,巧妙運用DPU技術,實現(xiàn)系統(tǒng)盤與數(shù)據(jù)盤的云端托管,顯著優(yōu)化資源配置與管理效能。其核心優(yōu)勢概覽如下:
?填補空白,引領創(chuàng)新:鑒于目前云原生生態(tài)系統(tǒng)中缺乏成熟的開源裸金屬服務解決方案,本方案的成功實施不僅填補了這一市場和技術空白,更為行業(yè)樹立了新的標桿,推動了云原生技術的深入發(fā)展與應用。
?加速部署,效率飛躍:依托DPU驅動的云盤啟動機制,與傳統(tǒng)的本地盤啟動方式相比,本方案極大提升了裸金屬服務器的交付速度,部署時間從20分鐘銳減至大約2分鐘,顯著增強了業(yè)務敏捷性。
?深度整合,簡化管理:通過DPU掛載云盤,將裸金屬服務器的控制面與數(shù)據(jù)面下沉至DPU層面,無需依賴用戶自定義鏡像,且存儲客戶端功能與用戶系統(tǒng)完全隔離,確保了環(huán)境的純凈與管理的便捷。
?強化安全,隱匿復雜性:該方案有效屏蔽存儲網絡架構及后端存儲細節(jié),既增強了存儲層面的安全防御能力,又簡化了運維視圖,提升了整體系統(tǒng)的安全性和可維護性。
?資源優(yōu)化,專注業(yè)務:通過將存儲功能外移到DPU,徹底釋放了裸金屬服務器本身的資源約束,確保所有服務器資源都能集中服務于業(yè)務需求,極大提升了資源的有效利用率。
?性能卓越,逼近本地:充分利用DPU提供的硬件加速能力,本方案中的云盤性能逼近甚至達到本地硬盤水平,確保了數(shù)據(jù)訪問的高速度與低延遲,滿足了高性能計算與大數(shù)據(jù)處理的嚴苛要求。
綜上所述,本方案憑借其在部署效率、資源管理、安全性能、資源優(yōu)化及技術創(chuàng)新方面的顯著優(yōu)勢,為云原生環(huán)境下的裸金屬服務應用開辟了新的路徑,展現(xiàn)了強大的競爭力和前瞻視野。
4.2. 未來與展望
隨著企業(yè)對高性能計算、數(shù)據(jù)安全及業(yè)務敏捷性的需求日益增長,本方案將進一步整合云原生架構的靈活性與物理服務器的性能優(yōu)勢,助力客戶在激烈的市場競爭中脫穎而出??蛻魧⑾硎艿礁痰臉I(yè)務上線時間、更低的總體擁有成本(TCO)、更強的數(shù)據(jù)安全性和定制化的高性能計算環(huán)境,從而加速數(shù)字化轉型,推動業(yè)務創(chuàng)新與發(fā)展。
伴隨云原生技術的普及與深化,裸金屬服務作為關鍵基礎設施之一,其市場需求將持續(xù)攀升,特別是在金融、電信、醫(yī)療、大數(shù)據(jù)分析和AI訓練等對計算性能和數(shù)據(jù)隔離有著極高要求的行業(yè)。本方案以其獨特的技術優(yōu)勢,有望成為行業(yè)標準,吸引更廣泛的客戶群體,推動整個云服務市場的多元化與高端化發(fā)展。
本方案來自于中科馭數(shù)軟件研發(fā)團隊,團隊核心由一群在云計算、數(shù)據(jù)中心架構、高性能計算領域深耕多年的業(yè)界資深架構師和技術專家組成,不僅擁有豐富的實戰(zhàn)經驗,還對行業(yè)趨勢具備敏銳的洞察力,該團隊致力于探索、設計、開發(fā)、推廣可落地的高性能云計算解決方案,幫助最終客戶加速數(shù)字化轉型,提升業(yè)務效能,同時降低運營成本。
審核編輯 黃宇
-
云計算
+關注
關注
39文章
7846瀏覽量
137617 -
存儲
+關注
關注
13文章
4338瀏覽量
86002 -
DPU
+關注
關注
0文章
365瀏覽量
24218 -
云原生
+關注
關注
0文章
251瀏覽量
7958 -
中科馭數(shù)
+關注
關注
0文章
123瀏覽量
3999
發(fā)布評論請先 登錄
相關推薦
評論