?

國產化混合云平臺建設與性能優化的研究

2024-02-29 04:22尚真真趙宇帆
計算機測量與控制 2024年2期
關鍵詞:交換機內存虛擬化

徐 揚,張 靜,尚真真,趙宇帆

(中國電子科技集團有限公司 第15研究所,北京 100083)

0 引言

混合云平臺搭建實踐的目的有兩個:1)適配驗證使用全桟國產化軟硬件產品構建混合云平臺的可行性;2)驗證時敏性業務遷移到國產化混合云平臺的可行性,研究針對4種混合云模式,即“物理機”“物理機+容器”“物理機+虛擬機”“物理機+虛擬機+容器”,探索并綜合使用多種調優技術,以達到提高云平臺實時性的目的[1-2]。目前,使用全桟國產化軟硬件產品搭建混合云平臺比較普遍,但是鑒于遷移工作量大、難度高,嚴格將業務運行在國產化虛擬機操作系統,或者經容器服務化后仍舊運行在國產化操作系統上便具有較大的挑戰性,加之滿足時敏性業務的高吞吐、低延時的指標要求,與同類研究相比,驗證過程積累的針對提高國產化云平臺實時性的實戰經驗與成果更具突破性和借鑒意義[3-5]。

1 混合云平臺的結構及原理

云平臺可以解釋為云計算平臺,是可以提供計算服務、網絡服務和存儲服務的平臺。與傳統的計算機系統平臺不同,云平臺將數據中心中的計算資源、網絡資源、存儲資源先進行池化,然后再以服務的方式提供給最終用戶[6]。云平臺不僅融合異構服務器、異構網絡設備和異構磁盤陣列,還打破地域的限制使得最終用戶可以在全球各地,使用各種終端,借助多種網絡通信技術,隨時訪問自己想要的信息。而混合云平臺則在此基礎上,融合多種資源池化技術形成的云,例如:“物理云”“虛擬云”“容器云”,靈活部署在一個云平臺上,統一向用戶提供云服務[7-8]?;旌显破脚_使用多種池化技術的目的,是為了提高云服務的能力,不同云適用于不同類型的應用,比如并發量高類型、復雜分析類型和綜合類型。其中綜合類型應用是本次搭建云平臺進行遷移上云的驗證對象,這種類型應用既要求非常高的實時性,又有較大的數據吞吐量負載[9-11]。

本次實驗搭建的云平臺技術架構如圖1所示。

云平臺技術架構由“云計算基礎設施”層和 “云計算操作系統”層組成,前者實現硬件資源的池化,后者實現池化后虛擬資源的管理,并為遷移至混合云平臺的應用提供“云操作系統”。這兩層也是在本實驗中國產化的關鍵技術攻關重點[12]。

在搭建國產化混合云平臺時,服務器選用基于進階精簡指令集(ARM,advanced risk machine)技術的處理器,資源虛擬化選用基于內核的虛擬機(KVM,kernel-based virtual machine)和OpenStack的云平臺,應用服務化選用基于Docker和Kubernetes的容器云平臺、“云操作系統”及宿主機操作系統均選用基于Linux內核的服務器版等使用國內主流軟硬件開源技術研制的產品,且為較成熟、有一定市場占有率的國產品牌[13-14]。

為提升基于國產化混合云平臺數據實時傳輸性能,解決時統應用要求延時不大于8 ms,組播應用丟包率(含數據包亂序情況)要求不大于10-6個/s的不達標問題,提出了一種基于混合云平臺的數據實時處理方法。主要從以下3個方面考慮:

1)實時性。在虛擬機和容器中綜合使用了基于直接內存訪問(DMA,direct memory access)和系統內存管理單元(SMMU,system memory management unit)的內存地址映射透傳技術,實現網卡和時統卡等外部設備不通過處理器而直接與虛擬機或者容器內的系統內存交換數據,從而縮短網口傳輸數據的等待時間和時統卡延時,提高數據訪問實時性。

2)穩定性。在虛擬機和容器的云資源管理平臺上,使用綁核技術,即時敏性業務所在的虛擬機或者容器可以獨占處理器(CPU,computer processor unit)資源,實現核調度策略的自主可控,優化云資源管理的調度機制,提高時敏性等關鍵業務的穩定性[15-16]。

3)高帶寬。首先在網卡上應用單根虛擬化(SR-IOV,single root-input/output virtualization)技術,實現網卡虛擬化由物理網卡自行實現,而不是依賴其他虛擬化技術實現。SR-IOV通過讓每個虛擬網口都具有固化在網卡上的獨立數據緩存空間、中斷、內存直接訪問數據流,且不需要虛擬化管理程序(比如虛擬化技術的中間層)的協調干預,實現大幅提升網絡吞吐性能。其次應用MAC虛擬網卡(MACVLAN,MAC virtualization)技術,實現當在同一塊以太網卡虛擬出來的虛擬網口之間進行數據傳輸時,不需要先將數據經由這塊物理以太網卡傳輸到外部的交換機,再由交換機傳回到這塊物理以太網卡才能送至指定的目標虛擬網口,而是在這塊物理以太網卡內部完成數據的傳送。SR-IOV明顯提高同一個物理機內,不同虛擬機或者容器之間的數據傳輸速度,達到縮短延遲的目的[17-18]。

2 混合云平臺硬件設計

2.1 混合云平臺硬件環境架構

2.1.1 硬件環境

1)服務器A:7臺,64顆飛騰2000+,256 GB內存,10 G光纖網卡;

2)服務器B:5臺,64顆飛騰2000+,256 GB內存,1 000 MBaseT網卡;

3)交換機:千兆交換機4臺和萬兆交換機1臺。

網絡設備、服務器和訪問終端部署如圖2所示。

圖2 云平臺硬件環境結構圖

其中:

1)“匯聚交換機”實現跨網段訪問;

2)“終端接入交換機”提供外接終端訪問后端服務器的網段192.168.2X.X;

3)“核心/業務交換機”提供萬兆業務網段192.168.4X.X;

4)“管理交換機”提供管理網段192.168.2Y.X;

5)“業務01交換機”通過VLAN功能提供業務網段192.168.3X.X和192.168.4X.X;

6)“服務器A萬兆”分別與“核心/業務交換機”“管理交換機”相連,實現測控業務運行在萬兆192.168.4X.X網段,日常管理運行在192.168.2Y.X網段;

7)“服務器B千兆”分別與“業務01交換機”“管理交換機”相連,實現測控業務運行在192.168.3X.X網段,日常管理運行在192.168.2Y.X網段;

8)“服務器C千兆”分別與“業務01交換機”“管理交換機”相連,實現測控業務運行在192.168.4X.X網段,日常管理運行在192.168.2Y.X網段;

9)“訪問終端”通過192.168.2X.X網段,經由“終端接入交換機”“核心/業務交換機”和“匯聚交換機”訪問接入各個網段的后端服務器。

2.1.2 操作系統

目前4種模型在使用不同的優化措施的前提下,全部通過適配驗證。每種模型的操作系統配置如下:

1)“物理機”:LINUX實時操作系統;

2)其他3種模型“物理機+虛擬機”“物理機+容器”和“物理機+虛擬機+容器”,LINUX非實時操作系統。

4種模型的軟件版本為:

1)固件:最新版本;

2)操作系統:LINUX非實時服務器版操作系統,“物理機”模型使用實時服務器版操作系統,虛擬云專用服務器版操作系統(部署虛擬機的宿主機)。

2.2 混合云平臺性能硬件調優技術

驗證前針對在混合云平臺上部署組播、時統這類時敏性應用做了大量的調研工作,經過討論,將實時性性能指標定為時統應用延時不大于8 ms,組播應用丟包率(含數據包亂序數量)不大于10-6個/s,在硬件層面主要應用以下兩種關鍵技術:

1)外部設備透傳技術,即物理機和虛擬機分別支持DMA和SMMU技術。

外部設備透傳技術是指輸入/輸出設備(如網卡、時統卡)與總線之間的地址轉換橋,實現直接內存存取?;趪a化處理器飛騰是ARM服務器架構不同于基于英特爾X86架構的服務器,在虛擬機中的網口和時統卡應用DMA時,服務器必須嵌入系統內存管理單元SMMU,并且需要上層的虛擬化技術(如KVM)支持才能提高虛擬機中虛擬網卡傳輸速度以及縮短時統卡的延時。DMA與SMMU協同工作的原理描述如下:

(1)DMA提供網卡和時統卡等外部設備不通過CPU干預而直接與系統內存交換數據的接口。外設可以通過調用DMA接口,將數據批量直接保存到內存的指定地址,然后再發送一個中斷通知CPU讀取并處理。整個傳輸存儲過程不占用CPU時間片,不但可以及時啟動數據傳輸過程,而且減少CPU為了等待數據傳輸而產生的空閑時間,提高了CPU使用率[19]。

(2)在虛擬化場景中(如圖3所示),所有的虛擬機都運行在中間層上,每個虛擬機訪問的內存地址是虛擬機內存的物理地址,并非實際的物理地址(即宿主機的內存物理地址),導致虛擬機無法正常地將連續的物理地址分給外部設備使用。

圖3 虛擬化場景

因此,引入了系統內存管理單元SMMU解決上述問題,支持基于ARM架構的飛騰處理器實現虛擬化擴展。它提供3種階段的內存地址轉換:階段1是轉換虛擬地址到物理內存地址,階段2是轉換虛擬內存地址到中間內存物理地址,或者(階段1+階段2)轉換虛擬內存地址到中間內存物理地址再到物理內存地址[20-21]。

2)外部設備支持SR-IOV技術:SR-IOV技術是一種基于硬件的虛擬化解決方案,可以提高性能和伸縮性。SR-IOV標準將一個快速外設組件互連(PCIe,peripheral component interconnect express)的網絡控制器虛擬化成多個PCIe設備,并且每個虛擬化設備可以直接分配給一個虛擬機,允許在虛擬機之間高效共享一個PCIe設備。由于這個虛擬化過程是在硬件中實現的,可以獲得能夠與本機性能媲美的 I/O 性能。根據該標準創建的新設備可允許將虛擬機直接連接到 I/O 設備,越過了虛擬化(KVM)的中間層和虛擬交換機層,帶來低延遲和接近線纜的速度,非常適用于對延遲敏感的組播應用。單個PCIe 資源啟用SR-IOV后可供許多虛擬機共享,每個虛擬化后的設備為所屬虛擬機提供獨立的內存空間、中斷以及DMA流,并且還使用共享的通用資源(例如以太網端口)。這樣,每個虛擬機都可訪問唯一的資源,不需要虛擬化管理程序(比如虛擬化技術KVM的中間層或者容器化技術的Docker等)的協調干預,從而大幅提升網絡吞吐性能。

使用SR-IOV需要滿足以下條件:

1)處理器需要支持系統內存管理單元;

2)固件需要支持系統內存管理單元;

3)處理器根橋需要支持訪問控制服務或者等價特性;

4)PCIe設備需要支持訪問控制服務或者等價特性,否則只能分配給1臺虛機。

在實踐驗證過程中,為了應用上述兩項技術,除了在硬件層中選用支持DMA和SMMU的CPU飛騰2000+,遵循SR-IOV標準的網卡和時統卡;在軟件層對服務器固件、操作系統和虛擬化云平臺相關參數進行調試,并改進時統卡驅動程序以實現其中斷越過KVM中間層直達虛擬機。因此外部設備透傳技術和SR-IOV技術盡管隸屬于硬件技術,也需要軟件配合才能成功啟用,達到云計算基礎設施層降低延時、提高吞吐量的目的。

3 混合云平臺軟件設計

3.1 混合云平臺軟件配置

實踐驗證的混合云平臺軟件配置如下:

1)虛擬化平臺:基于KVM開源虛擬化技術框架;

2)容器云平臺:基于Docker開源服務化技術框架;

3)驗證工具以及應用:“物理機”“物理機+虛擬機”“物理機+容器”和“物理機+虛擬機+容器”4種模型支持實時業務運行的驗證環境,運用業務組提供的時統測試程序和組播測試程序作為驗證工具模擬真實應用場景、實時監控執行狀態、采集測試數據形成驗證報告。

3.2 混合云平臺軟件性能調優技術

經過反復實踐驗證,軟件層面主要應用以下3種關鍵技術:

1)虛擬機綁核,即物理處理器與虛擬處理器固定綁核:虛擬機綁核基于KVM虛擬化技術,當虛擬機中對單顆CPU進行虛擬化形成的邏輯處理器(vCPU,virtualizedCPU)數量不是很多時,可以通過將vCPU與指定的CPU綁定的方式提高虛擬機性能?;贙VM虛擬出來的虛擬機不僅運行在指定的單個或者多個vCPU上,并且獨占指定的CPU資源,規避了與其他虛擬機共享CPU計算資源,減少KVM調度CPU時間片帶來的時間耗費,達到提高虛擬機性能的目的。因此,虛擬機綁核技術是操作系統級的性能調優技術。

2)MACVLAN技術:MACVLAN提供了網卡鏈路層的虛擬化抽象,與SR-IOV和容器技術結合后,可以明顯提高使用同一塊以太網卡虛擬出來的虛擬網口的虛擬機或者容器之間數據傳輸的速度,適用于提高組播應用的性能。

基于這種技術虛擬化形成的網口擁有4種模式:橋接模式、虛擬以太網口聚合模式、私有模式和透傳模式。

容器云采用的是橋接模式如圖4所示,實現了當在同一塊以太網卡虛擬出來的虛擬網口之間進行數據傳輸時,不需要先將數據經由這塊物理以太網卡傳輸到外部的交換機,再由交換機傳回到這塊物理以太網卡才能送至指定的目標虛擬網口,而是在這塊物理以太網卡內部完成數據從源虛擬網口到目標虛擬網口的傳送,達到縮短延遲的目的。

圖4 MACVLAN橋接模式

3)容器資源綁定技術,即容器與CPU、內存固定綁定:容器資源綁定技術與虛擬機的綁核技術類似,將容器與CPU、內存資源進行捆綁,容器被設置運行在指定的CPU或vCPU上、使用指定的內存空間,避免與其他多個容器競爭計算資源。為了充分發揮基于ARM架構的處理器性能,通常使用非均勻內存訪問(NUMA,none-uniform memory access)架構加快CPU訪問內存的速度。在NUMA架構中,CPU訪問本地內存的速度比非本地內存(即通過NUMA總線,跳轉到其他CPU的本地內存)明顯快一些。NUMA架構通常采用環形總線,鑒于同一時刻只能一顆CPU占用總線,CPU需要得到Token令牌才允許占用總線傳輸數據,數據傳輸結束后釋放Token。在頻繁訪問非本地內存的情況下,CPU會因等待Token令牌而造成內存讀寫延時。通過容器化技術,將CPU與本地內存固定捆綁,形成相對獨立的運行環境,為實時性業務提供獨占的計算資源。容器資源綁定技術相對虛擬機綁核而言,是進程級調優技術。

4 實驗結果與分析

4.1 實驗步驟和方法

支撐實時業務的混合云平臺測試目標應滿足以下指標要求:

1)時統業務延時<8 ms,并持續運行48 h;

2)組播業務丟包率<10-6個/s,并持續運行48 h;

3)云平臺在硬件層面具備普適性,即兩個品牌的服務器均支持;

4)云平臺在軟件層面具備版本一致性,即固件、操作系統(含內核)版本統一。

實驗按照從低到高分層適配的原則,采取遞進式測試方法推進。從低到高的層級為:硬件、操作系統、虛擬機、容器和業務應用,性能優化技術在每個層級上的驗證路徑如圖5所示。實驗步驟如下:

圖5 混合云平臺性能優化技術路徑

1)排查硬件故障,保證主機、交換機、網線等硬件要素的正常工作;

2)在兩個品牌服務器上分別按照“物理機”“物理機+虛擬機”“物理機+容器”和“物理機+虛擬機+容器”順序搭建混合云平臺模式;

3)在每個混合云平臺模式上單獨測試組播業務模擬程序和時統業務模擬程序;

4)在每個混合云平臺模式上組合測試組播業務模擬程序和時統業務模擬程序。

按照上述步驟開展實驗可以提高排查效率,快速鎖定故障點所在的層級,進而對該層級的調優技術執行有針對性的修正。

實驗模擬實時業務場景如圖6所示,部署3個業務節點A、B和C。節點A模擬組播發包業務,節點B模擬組播同時接收與發送業務,節點C配置時統卡模擬時統和組播接收業務。組播吞吐量為單路680 Mbps,驗證時模擬組播業務峰值情況,即節點A并發30路,節點B接收30路的同時發送30路,節點C接收30路。

圖6 模擬實時業務場景

在測試過程中對上述場景測試了多個用例,這些用例覆蓋了兩個品牌服務器,4個混合云模式,共8個混合云測試模型,其關鍵軟硬件配置描述如表1所示。

表1 8個混合云測試模型關鍵軟硬件配置

4.2 實驗數據

經過應用上述5種軟硬件調優技術,8個混合云模型的測試結果均滿足指標要求,監測結果示例如圖7所示。

圖7 監測結果示例

實驗數據總結如表2所示。

表2 實驗數據總結

4.3 實驗結果與分析

可以看出“物理機”和“物理機+容器”兩種模式的測試結果優于其他兩種模式,而且4種模式都滿足實時性能指標要求且優于指標要求,得出時敏性業務可以遷移上國產化混合云平臺的結論。

通過分析得出4個混合云模型的優劣勢如表3所示。

表3 混合云模型優劣勢

5 結束語

綜上所述,實踐共驗證8個混合云測試模型。這些場景為了達到用戶業務實時性的要求,多多少少都需要優化,比如:調整系統參數,CPU的綁核,容器的綁核、時統卡驅動的優化等,對原有云平臺的功能會有以下影響:

1)造成了虛擬云的集群高可靠性使用受限。例如:經過CPU綁核后,虛擬機無法遷移而只能依賴容器的集群實現高可用。當一個容器發生故障時,容器集群會在另外一個指定的虛機上啟動這個容器。承載這個容器的目標虛擬機必須預先綁核而且綁核的數量需與源虛擬機一致,才能在保證性能的前提下實現高可用;

2)對業務應用開發的影響。由于飛騰FT2000+不支持時統卡的中斷透傳到虛擬層,導致時統業務應用在虛擬機里運行的性能無法達到時延要求。經改進該卡的驅動后雖然滿足了性能要求,但是在一個虛擬機中只能運行一個時統業務進程,因此需要軟件研發人員做相應調整。

3)對云平臺穩定性的影響。目前參加驗證的固件、內核的版本,除了“物理機”模型,其他模型的操作系統,如LINUX和虛擬化專用操作系統,均為內測版,固件也是為此驗證實踐而專門研發的非工程化版本。

4)若需要將實驗驗證中的性能調優技術大規模推廣,需要產品定制化程序。實驗中優化相關的步驟大部分是專家現場調配,并未經過反復重現與定型,暫未形成體系化標準化的操作手冊或者可發布產品版本。如果實施大規模統一部署,需要服務器廠商進一步固化版本,生成補丁。

猜你喜歡
交換機內存虛擬化
外部高速緩存與非易失內存結合的混合內存體系結構特性評測
“春夏秋冬”的內存
基于OpenStack虛擬化網絡管理平臺的設計與實現
修復損壞的交換機NOS
對基于Docker的虛擬化技術的幾點探討
虛擬化技術在計算機技術創造中的應用
使用鏈路聚合進行交換機互聯
存儲虛擬化還有優勢嗎?
PoE交換機雷擊浪涌防護設計
羅克韋爾自動化交換機Allen-Bradley ArmorStratix 5700
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合