1. 方案背景和挑戰(zhàn)
裸金屬服務器作為一類特別設計的計算類云服務,向最終用戶提供了云端部署的專屬物理服務器,這意味著最終用戶不再需要與其他租戶共享硬件資源,從而確保了資源的獨占性、性能的最優(yōu)化以及數(shù)據(jù)的最高級別安全。
裸金屬服務器作為云上資源的重要部分,其網(wǎng)絡需要與云主機和容器同樣連接在VPC下,并且能夠像云主機和容器一樣使用云上的網(wǎng)絡功能和能力。
當前,基于OpenStack的裸金屬服務實現(xiàn)主要依賴于Ironic組件,并通過OpenStack的Neutron網(wǎng)絡組件來實現(xiàn)裸金屬服務器的網(wǎng)絡連接。在該方案下,裸金屬服務器的網(wǎng)絡使用的是物理網(wǎng)卡,因此網(wǎng)絡配置依賴于物理上的網(wǎng)絡拓撲(例如需要知道裸金屬網(wǎng)卡連接到交換機的端口編號),物理網(wǎng)絡拓撲連接完成后就確定了,為了實現(xiàn) VPC 等網(wǎng)絡功能,需要對裸金屬服務器的上聯(lián)交換機做一些動態(tài)配置,以實現(xiàn)網(wǎng)絡的切換。
Neutron原本是為虛擬機網(wǎng)絡環(huán)境設計的,因此在應用于裸金屬服務時,便暴露出了不足之處,帶來了一系列的問題與挑戰(zhàn),具體體現(xiàn)在以下幾個方面:
a. 網(wǎng)絡管理復雜性增加,提高了管理難度
- VLAN支持要求:Ironic的網(wǎng)絡實現(xiàn)需要物理交換機的VLAN支持,并且要實現(xiàn)VLAN和VPC的匹配和轉換,以確保裸金屬服務器能夠正確地接入網(wǎng)絡。這不僅增加了網(wǎng)絡配置的復雜性,也提高了管理難度。
- 拓撲要求:物理網(wǎng)絡拓撲需要能夠支持VLAN的劃分和管理,這可能涉及到復雜的網(wǎng)絡設備配置和維護。
b. SDN集成困難,降低網(wǎng)絡性能
- 流量轉換需求:在裸金屬場景下,直接使用軟件定義網(wǎng)絡(SDN)技術存在困難。通常需要將網(wǎng)絡流量引導到一個特定的網(wǎng)絡節(jié)點進行轉換,這不僅會降低網(wǎng)絡性能,還會增加網(wǎng)絡管理的復雜度。
- 性能與管理權衡:這種流量轉換機制可能導致網(wǎng)絡性能下降,同時也增加了網(wǎng)絡管理和維護的工作量。
c. 安全組實現(xiàn)困難,增加運維成本
- 安全組規(guī)則不適用:傳統(tǒng)裸金屬服務器直接連接到物理交換機,導致OpenStack的安全組規(guī)則無法直接應用于裸金屬服務器。安全組是OpenStack中用于控制網(wǎng)絡流量的安全機制,其規(guī)則定義了允許或拒絕的網(wǎng)絡流量類型。
- 交換機防火墻規(guī)則影響:如果嘗試通過物理交換機的防火墻規(guī)則來實現(xiàn)類似的安全控制,可能會影響到其他業(yè)務的正常運行,并且會大幅增加運維成本。
d. 網(wǎng)卡熱插拔支持不足,限制了系統(tǒng)靈活性
- 物理限制:傳統(tǒng)裸金屬服務器的物理網(wǎng)卡不支持熱插拔功能。這意味著在不關閉服務器的情況下,無法添加或移除網(wǎng)絡適配器,這限制了系統(tǒng)的靈活性和服務的可用性。
- 維護與更新挑戰(zhàn):缺乏熱插拔支持使得網(wǎng)絡維護和更新變得更加困難,可能需要計劃停機時間,從而影響服務的連續(xù)性和用戶體驗。
基于OpenStack的裸金屬服務網(wǎng)絡實現(xiàn),雖然借助Ironic和Neutron組件獲得了良好的表現(xiàn),但在網(wǎng)絡管理、SDN集成、安全組應用以及網(wǎng)卡熱插拔支持等方面仍面臨一系列挑戰(zhàn)。這些挑戰(zhàn)需要通過技術創(chuàng)新和架構優(yōu)化來逐步解決,以提高裸金屬服務的性能、安全性和管理效率。
2. 方案介紹
2.1. 整體方案架構
為了解決上文提到的問題與挑戰(zhàn),本方案創(chuàng)新性的引入了DPU組件,并仍然使用Openstack Ironic node資源來管理裸金屬實例。在開源Ironic組件(ironic-api、ironic-conductor)之外,我們自研了Ironic-dpu-agent組件,運行在每個裸金屬節(jié)點的DPU Soc中,用于管理裸金屬實例的存儲、網(wǎng)絡資源。
整體方案架構如下圖:
各組件作用如下:
Ironic-api:裸金屬rest api服務。
Ironic-conductor:裸金屬實例的任務控制服務,負責裸金屬開關機、重啟、部署等任務。
Ironic-dpu-agent:運行在DPU Soc上,與Ironic-conductor通過RPC通信,負責管理本節(jié)點裸金屬實例的存儲、網(wǎng)絡資源。
Neutron-server:OpenStack網(wǎng)絡服務,為裸金屬實例提供network、subnet、port管理功能。
2.2. 方案詳細描述
在基于DPU的OpenStack裸金屬網(wǎng)絡方案中,裸金屬服務器的網(wǎng)絡配置完全由DPU卡負責,裸金屬服務器本身不需要任何傳統(tǒng)的物理網(wǎng)卡。DPU卡為裸金屬服務器提供物理功能(PF)、虛擬功能(VF)或可分割功能(SF)設備,作為網(wǎng)絡接口。這些網(wǎng)絡接口完全由DPU的系統(tǒng)級芯片(SOC)側的Open vSwitch(OVS)進行配置,無需依賴外部物理交換機即可實現(xiàn)網(wǎng)絡連接。
在該方案中,DPU負責處理包括VXLAN、Geneve等在內的各種虛擬網(wǎng)絡協(xié)議,能夠支持虛擬機與裸金屬服務器之間的網(wǎng)絡互通,保證靈活且高效的網(wǎng)絡連接。這種網(wǎng)絡拓撲簡化了裸金屬服務器的部署流程,因為服務器無需依賴外部交換設備,所有的網(wǎng)絡管理和配置工作都在DPU卡上完成,大大減少了對傳統(tǒng)物理網(wǎng)絡基礎設施的依賴。
在控制節(jié)點上,OpenStack的Neutron組件負責網(wǎng)絡服務的管理,并通過OVN(Open Virtual Network)來與DPU通信。DPU的SOC上運行著OVS(Open vSwitch),這是整個方案中負責網(wǎng)絡流量轉發(fā)和管理的關鍵組件。同時,DPU的SOC側還運行著OVN控制器(ovn-controller)和Ironic-dpu-agent,分別負責虛擬網(wǎng)絡的控制和裸金屬網(wǎng)絡的管理。
OVN控制器:負責與Neutron進行通信,并根據(jù)網(wǎng)絡需求配置OVS,實現(xiàn)裸金屬服務器與虛擬機之間的網(wǎng)絡連接。
Ironic-dpu-agent:這是Ironic服務的一個代理,它通過控制和配置OVS上的端口,管理DPU網(wǎng)絡資源,負責為裸金屬服務器分配和管理網(wǎng)絡接口。
在這個架構下,DPU卡上提供的PF、VF等網(wǎng)絡設備通過其代表接口(pfRep和vfRep)連接到OVS。裸金屬服務器通過這些網(wǎng)絡設備與DPU卡通信,進而連接到整個虛擬網(wǎng)絡系統(tǒng)中。OVS通過在SOC上運行的p0和p1端口負責管理所有的網(wǎng)絡流量,從而使裸金屬服務器能夠無縫地加入虛擬網(wǎng)絡。
這種架構極大地提升了裸金屬服務器的網(wǎng)絡性能,同時減少了對外部交換機的依賴,降低了部署成本和復雜度。在實際應用中,這種基于DPU的網(wǎng)絡架構可以大幅提高數(shù)據(jù)中心的資源利用率,并為多租戶環(huán)境下的虛擬機和裸金屬服務器提供高效、安全的網(wǎng)絡隔離和互通。
裸金屬node節(jié)點綁定創(chuàng)建的虛擬port,Neutron Server 通過 OVN Plugin 將端口信息寫入 OVN NB DB,當Ironic-dpu-agent 獲得node綁定port信息后,配置OVS的interface中的iface-id,然后通過ovn-controller下發(fā)流表,跟虛擬機網(wǎng)絡流標下發(fā)方式一致。
網(wǎng)卡熱插拔
在原生Ironic中,可以實現(xiàn)一定程度網(wǎng)卡熱插拔,但是要求機器上有冗余的網(wǎng)卡設備,這些網(wǎng)卡設備可以在需要的時候被啟用/禁用。這種方式也有一些缺陷,一方面這不夠靈活,不同的用戶需求不一樣,冗余多少塊網(wǎng)卡不便于確定。另一方面,如果冗余的網(wǎng)卡沒有得到使用,造成了資源浪費。
在基于 DPU 的方案中,如前文所述,裸金屬的網(wǎng)卡是由DPU的 PF/VF/SF 設備提供的,而 DPU 往往提供了大量的 VF/SF(數(shù)百個以上),足夠滿足用戶的需求。那么網(wǎng)卡的熱插拔就變成了 PF/VF/SF 設備的動態(tài)插拔和配置問題,這仍然是由 Ironic-dpu-agent組件完成的。
3. 測試與驗證
3.1. 網(wǎng)絡拓撲
以下是示例網(wǎng)絡拓撲:
其中,普通業(yè)務流量和存儲流量最好劃分VLAN。BMC 帶外管理網(wǎng)和千兆管理網(wǎng)需要打通,測試時也可簡單用同一個網(wǎng)絡。
3.2. 軟件環(huán)境
依賴以下軟件環(huán)境:
類別 | 名稱 | 版本 | 來源 | 備注 |
OpenStack集群 | OpenStack | zed | 開源社區(qū) | |
網(wǎng)絡 | neutron | zed | 內部版本 | |
存儲 | volume-attacher | cloudV5.4-6 | 內部版本 | |
opi-bridge | cloudV2-4 | 內部版本 | ||
裸金屬組件 | ironic | zed | 內部版本 | |
ironic-dpu-agent | cloudV1.0 | 內部版本 |
3.3. 測試用例及結果
3.3.1.創(chuàng)建資源
創(chuàng)建網(wǎng)絡、子網(wǎng)、路由器、鏈接路由器和子網(wǎng)
openstack network create openstack subnet create --network --subnet-range --gateway --dns-nameserver ##路由器 openstack router create ###鏈接 openstack router add subnet |
創(chuàng)建flavor
openstack flavor create --ram --vcpus --disk ###裸機屬性設置 openstack flavor set --property resources:VCPU= --property resources:MEMORY_MB= --property resources:DISK_GB= --property capabilities:boot_option=local |
創(chuàng)建鏡像
openstack image create --disk-format raw --container-format bare --file --public openstack image set --property hypervisor_type=baremetal |
創(chuàng)建node
openstack baremetal node create --driver --driver-info ipmi_address= --driver-info ipmi_username= --driver-info ipmi_password= --property cpus= --property memory_mb= --property local_gb= --property cpu_arch= |
3.3.2. 創(chuàng)建裸金屬服務器實例
創(chuàng)建裸金屬實例與創(chuàng)建虛擬機操作流程一致,選擇裸金屬的flavor即可:
openstack server create --flavor bm-flavor-01 --image centos8.5 --boot-from-volume --network net01 bm-01 |
3.3.3.安全組
創(chuàng)建裸金屬實例與創(chuàng)建虛擬機安全組添加一樣,創(chuàng)建port的時候選擇一個安全組即可:
openstack port create --network net01 --vnic-type direct port01 --security-group default |
3.3.4.連通性驗證
在同一個net01下創(chuàng)建VM、BM,然后驗證BM和VM的網(wǎng)絡互通情況
創(chuàng)建VM:
openstack port create --network net01 --vnic-type direct port01 openstack server create --flavor test-flavor- --image centos8.5 --port port01 vm01 |
登錄通過bmc登錄裸機bm-01驗證:
ping |
3.3.5.網(wǎng)卡熱插拔
先卸載port,再添加port:
openstack port delete-port01 openstack baremetal port set --node --port |
4. 方案總結
DPU賦能的Openstack裸金屬網(wǎng)絡解決方案,在以下幾個方面具有顯著優(yōu)勢:
1)Overlay網(wǎng)絡終結在DPU側,降低網(wǎng)絡的復雜性:通過在DPU側終結Overlay網(wǎng)絡,可以減少中間網(wǎng)絡元素,擺脫了對物理交換機的依賴,簡化整體網(wǎng)絡拓撲架構。這種方式不僅降低了網(wǎng)絡的復雜性,提高了網(wǎng)絡的可管理性,還減少了設備成本和運維成本,使整個網(wǎng)絡更加經濟高效。
2)支持統(tǒng)一的SDN控制器,提升網(wǎng)絡靈活性和響應速度:采用統(tǒng)一的SDN控制器實現(xiàn)策略下發(fā)和調度,SDN網(wǎng)絡不僅支持VLAN還可以使用Vxlan和Geneve,擺脫VLAN網(wǎng)絡4096的限制。同時,有效簡化SDN軟件架構,提高網(wǎng)絡的靈活性和響應速度,降低維護和管理的復雜性。
3)通過SDN實現(xiàn)安全組,降低運維成本:通過SDN網(wǎng)絡的ACL功能,可以在不依賴物理交換機的情況下實現(xiàn)安全組功能。這樣可以直接在DPU上應用安全規(guī)則,而不需要通過物理交換機的防火墻規(guī)則,從而避免對其他業(yè)務的影響并降低運維成本。
4)支持網(wǎng)絡接口熱插拔,提升網(wǎng)絡設備靈活性:利用DPU的動態(tài)特性,可以實現(xiàn)網(wǎng)絡接口的熱插拔。這意味著在不影響服務器運行的情況下,可以增加新的網(wǎng)絡接口或移除現(xiàn)有接口,從而提高系統(tǒng)的靈活性和服務的可用性。
綜上所述,DPU驅動的Openstack裸金屬網(wǎng)絡方案通過一系列創(chuàng)新設計,不僅提高了網(wǎng)絡的可管理性、可擴展性和安全性,還增強了系統(tǒng)的靈活性和服務的可用性,從而為裸金屬服務器提供了更加強大和高效的網(wǎng)絡支持。
本方案來自于中科馭數(shù)軟件研發(fā)團隊,團隊核心由一群在云計算、數(shù)據(jù)中心架構、高性能計算領域深耕多年的業(yè)界資深架構師和技術專家組成,不僅擁有豐富的實戰(zhàn)經驗,還對行業(yè)趨勢具備敏銳的洞察力,該團隊致力于探索、設計、開發(fā)、推廣可落地的高性能云計算解決方案,幫助最終客戶加速數(shù)字化轉型,提升業(yè)務效能,同時降低運營成本。
審核編輯 黃宇
-
云計算
+關注
關注
39文章
7953瀏覽量
138980 -
VLAN
+關注
關注
1文章
283瀏覽量
36153 -
DPU
+關注
關注
0文章
386瀏覽量
24566 -
服務網(wǎng)絡
+關注
關注
0文章
14瀏覽量
7390 -
OpenStack
+關注
關注
1文章
71瀏覽量
19198
發(fā)布評論請先 登錄
相關推薦
中軟國際打造企業(yè)上云服務解決方案
芯啟源提供DPU產品與解決方案

匯川技術不斷優(yōu)化并完善其海外服務網(wǎng)絡
東風本田與京東汽車達成戰(zhàn)略合作,共建一體化服務網(wǎng)絡
基于DPU的OpenStack裸金屬服務快速部署及存儲解決方案

服務網(wǎng)格DPU卸載解決方案

Jtti:云服務器OpenStack的優(yōu)勢分析
中科馭數(shù)分析DPU在云原生網(wǎng)絡與智算網(wǎng)絡中的實際應用
IaaS+on+DPU(IoD)+下一代高性能算力底座技術白皮書
基于DPU的云原生計算資源共池管理解決方案

基于DPU的云原生裸金屬網(wǎng)絡解決方案

四維圖新攜手國家電網(wǎng),助力新能源車主提升充電服務體驗

埃安與蔚來實現(xiàn)充換電網(wǎng)絡互聯(lián)互通

金融信創(chuàng)優(yōu)秀解決方案-超低時延網(wǎng)絡解決方案

評論