徐 揚(yáng),張 靜,尚真真,趙宇帆
(中國(guó)電子科技集團(tuán)有限公司 第15研究所,北京 100083)
混合云平臺(tái)搭建實(shí)踐的目的有兩個(gè):1)適配驗(yàn)證使用全桟國(guó)產(chǎn)化軟硬件產(chǎn)品構(gòu)建混合云平臺(tái)的可行性;2)驗(yàn)證時(shí)敏性業(yè)務(wù)遷移到國(guó)產(chǎn)化混合云平臺(tái)的可行性,研究針對(duì)4種混合云模式,即“物理機(jī)”“物理機(jī)+容器”“物理機(jī)+虛擬機(jī)”“物理機(jī)+虛擬機(jī)+容器”,探索并綜合使用多種調(diào)優(yōu)技術(shù),以達(dá)到提高云平臺(tái)實(shí)時(shí)性的目的[1-2]。目前,使用全桟國(guó)產(chǎn)化軟硬件產(chǎn)品搭建混合云平臺(tái)比較普遍,但是鑒于遷移工作量大、難度高,嚴(yán)格將業(yè)務(wù)運(yùn)行在國(guó)產(chǎn)化虛擬機(jī)操作系統(tǒng),或者經(jīng)容器服務(wù)化后仍舊運(yùn)行在國(guó)產(chǎn)化操作系統(tǒng)上便具有較大的挑戰(zhàn)性,加之滿足時(shí)敏性業(yè)務(wù)的高吞吐、低延時(shí)的指標(biāo)要求,與同類研究相比,驗(yàn)證過程積累的針對(duì)提高國(guó)產(chǎn)化云平臺(tái)實(shí)時(shí)性的實(shí)戰(zhàn)經(jīng)驗(yàn)與成果更具突破性和借鑒意義[3-5]。
云平臺(tái)可以解釋為云計(jì)算平臺(tái),是可以提供計(jì)算服務(wù)、網(wǎng)絡(luò)服務(wù)和存儲(chǔ)服務(wù)的平臺(tái)。與傳統(tǒng)的計(jì)算機(jī)系統(tǒng)平臺(tái)不同,云平臺(tái)將數(shù)據(jù)中心中的計(jì)算資源、網(wǎng)絡(luò)資源、存儲(chǔ)資源先進(jìn)行池化,然后再以服務(wù)的方式提供給最終用戶[6]。云平臺(tái)不僅融合異構(gòu)服務(wù)器、異構(gòu)網(wǎng)絡(luò)設(shè)備和異構(gòu)磁盤陣列,還打破地域的限制使得最終用戶可以在全球各地,使用各種終端,借助多種網(wǎng)絡(luò)通信技術(shù),隨時(shí)訪問自己想要的信息。而混合云平臺(tái)則在此基礎(chǔ)上,融合多種資源池化技術(shù)形成的云,例如:“物理云”“虛擬云”“容器云”,靈活部署在一個(gè)云平臺(tái)上,統(tǒng)一向用戶提供云服務(wù)[7-8]?;旌显破脚_(tái)使用多種池化技術(shù)的目的,是為了提高云服務(wù)的能力,不同云適用于不同類型的應(yīng)用,比如并發(fā)量高類型、復(fù)雜分析類型和綜合類型。其中綜合類型應(yīng)用是本次搭建云平臺(tái)進(jìn)行遷移上云的驗(yàn)證對(duì)象,這種類型應(yīng)用既要求非常高的實(shí)時(shí)性,又有較大的數(shù)據(jù)吞吐量負(fù)載[9-11]。
本次實(shí)驗(yàn)搭建的云平臺(tái)技術(shù)架構(gòu)如圖1所示。
云平臺(tái)技術(shù)架構(gòu)由“云計(jì)算基礎(chǔ)設(shè)施”層和 “云計(jì)算操作系統(tǒng)”層組成,前者實(shí)現(xiàn)硬件資源的池化,后者實(shí)現(xiàn)池化后虛擬資源的管理,并為遷移至混合云平臺(tái)的應(yīng)用提供“云操作系統(tǒng)”。這兩層也是在本實(shí)驗(yàn)中國(guó)產(chǎn)化的關(guān)鍵技術(shù)攻關(guān)重點(diǎn)[12]。
在搭建國(guó)產(chǎn)化混合云平臺(tái)時(shí),服務(wù)器選用基于進(jìn)階精簡(jiǎn)指令集(ARM,advanced risk machine)技術(shù)的處理器,資源虛擬化選用基于內(nèi)核的虛擬機(jī)(KVM,kernel-based virtual machine)和OpenStack的云平臺(tái),應(yīng)用服務(wù)化選用基于Docker和Kubernetes的容器云平臺(tái)、“云操作系統(tǒng)”及宿主機(jī)操作系統(tǒng)均選用基于Linux內(nèi)核的服務(wù)器版等使用國(guó)內(nèi)主流軟硬件開源技術(shù)研制的產(chǎn)品,且為較成熟、有一定市場(chǎng)占有率的國(guó)產(chǎn)品牌[13-14]。
為提升基于國(guó)產(chǎn)化混合云平臺(tái)數(shù)據(jù)實(shí)時(shí)傳輸性能,解決時(shí)統(tǒng)應(yīng)用要求延時(shí)不大于8 ms,組播應(yīng)用丟包率(含數(shù)據(jù)包亂序情況)要求不大于10-6個(gè)/s的不達(dá)標(biāo)問題,提出了一種基于混合云平臺(tái)的數(shù)據(jù)實(shí)時(shí)處理方法。主要從以下3個(gè)方面考慮:
1)實(shí)時(shí)性。在虛擬機(jī)和容器中綜合使用了基于直接內(nèi)存訪問(DMA,direct memory access)和系統(tǒng)內(nèi)存管理單元(SMMU,system memory management unit)的內(nèi)存地址映射透?jìng)骷夹g(shù),實(shí)現(xiàn)網(wǎng)卡和時(shí)統(tǒng)卡等外部設(shè)備不通過處理器而直接與虛擬機(jī)或者容器內(nèi)的系統(tǒng)內(nèi)存交換數(shù)據(jù),從而縮短網(wǎng)口傳輸數(shù)據(jù)的等待時(shí)間和時(shí)統(tǒng)卡延時(shí),提高數(shù)據(jù)訪問實(shí)時(shí)性。
2)穩(wěn)定性。在虛擬機(jī)和容器的云資源管理平臺(tái)上,使用綁核技術(shù),即時(shí)敏性業(yè)務(wù)所在的虛擬機(jī)或者容器可以獨(dú)占處理器(CPU,computer processor unit)資源,實(shí)現(xiàn)核調(diào)度策略的自主可控,優(yōu)化云資源管理的調(diào)度機(jī)制,提高時(shí)敏性等關(guān)鍵業(yè)務(wù)的穩(wěn)定性[15-16]。
3)高帶寬。首先在網(wǎng)卡上應(yīng)用單根虛擬化(SR-IOV,single root-input/output virtualization)技術(shù),實(shí)現(xiàn)網(wǎng)卡虛擬化由物理網(wǎng)卡自行實(shí)現(xiàn),而不是依賴其他虛擬化技術(shù)實(shí)現(xiàn)。SR-IOV通過讓每個(gè)虛擬網(wǎng)口都具有固化在網(wǎng)卡上的獨(dú)立數(shù)據(jù)緩存空間、中斷、內(nèi)存直接訪問數(shù)據(jù)流,且不需要虛擬化管理程序(比如虛擬化技術(shù)的中間層)的協(xié)調(diào)干預(yù),實(shí)現(xiàn)大幅提升網(wǎng)絡(luò)吞吐性能。其次應(yīng)用MAC虛擬網(wǎng)卡(MACVLAN,MAC virtualization)技術(shù),實(shí)現(xiàn)當(dāng)在同一塊以太網(wǎng)卡虛擬出來的虛擬網(wǎng)口之間進(jìn)行數(shù)據(jù)傳輸時(shí),不需要先將數(shù)據(jù)經(jīng)由這塊物理以太網(wǎng)卡傳輸?shù)酵獠康慕粨Q機(jī),再由交換機(jī)傳回到這塊物理以太網(wǎng)卡才能送至指定的目標(biāo)虛擬網(wǎng)口,而是在這塊物理以太網(wǎng)卡內(nèi)部完成數(shù)據(jù)的傳送。SR-IOV明顯提高同一個(gè)物理機(jī)內(nèi),不同虛擬機(jī)或者容器之間的數(shù)據(jù)傳輸速度,達(dá)到縮短延遲的目的[17-18]。
2.1.1 硬件環(huán)境
1)服務(wù)器A:7臺(tái),64顆飛騰2000+,256 GB內(nèi)存,10 G光纖網(wǎng)卡;
2)服務(wù)器B:5臺(tái),64顆飛騰2000+,256 GB內(nèi)存,1 000 MBaseT網(wǎng)卡;
3)交換機(jī):千兆交換機(jī)4臺(tái)和萬兆交換機(jī)1臺(tái)。
網(wǎng)絡(luò)設(shè)備、服務(wù)器和訪問終端部署如圖2所示。
圖2 云平臺(tái)硬件環(huán)境結(jié)構(gòu)圖
其中:
1)“匯聚交換機(jī)”實(shí)現(xiàn)跨網(wǎng)段訪問;
2)“終端接入交換機(jī)”提供外接終端訪問后端服務(wù)器的網(wǎng)段192.168.2X.X;
3)“核心/業(yè)務(wù)交換機(jī)”提供萬兆業(yè)務(wù)網(wǎng)段192.168.4X.X;
4)“管理交換機(jī)”提供管理網(wǎng)段192.168.2Y.X;
5)“業(yè)務(wù)01交換機(jī)”通過VLAN功能提供業(yè)務(wù)網(wǎng)段192.168.3X.X和192.168.4X.X;
6)“服務(wù)器A萬兆”分別與“核心/業(yè)務(wù)交換機(jī)”“管理交換機(jī)”相連,實(shí)現(xiàn)測(cè)控業(yè)務(wù)運(yùn)行在萬兆192.168.4X.X網(wǎng)段,日常管理運(yùn)行在192.168.2Y.X網(wǎng)段;
7)“服務(wù)器B千兆”分別與“業(yè)務(wù)01交換機(jī)”“管理交換機(jī)”相連,實(shí)現(xiàn)測(cè)控業(yè)務(wù)運(yùn)行在192.168.3X.X網(wǎng)段,日常管理運(yùn)行在192.168.2Y.X網(wǎng)段;
8)“服務(wù)器C千兆”分別與“業(yè)務(wù)01交換機(jī)”“管理交換機(jī)”相連,實(shí)現(xiàn)測(cè)控業(yè)務(wù)運(yùn)行在192.168.4X.X網(wǎng)段,日常管理運(yùn)行在192.168.2Y.X網(wǎng)段;
9)“訪問終端”通過192.168.2X.X網(wǎng)段,經(jīng)由“終端接入交換機(jī)”“核心/業(yè)務(wù)交換機(jī)”和“匯聚交換機(jī)”訪問接入各個(gè)網(wǎng)段的后端服務(wù)器。
2.1.2 操作系統(tǒng)
目前4種模型在使用不同的優(yōu)化措施的前提下,全部通過適配驗(yàn)證。每種模型的操作系統(tǒng)配置如下:
1)“物理機(jī)”:LINUX實(shí)時(shí)操作系統(tǒng);
2)其他3種模型“物理機(jī)+虛擬機(jī)”“物理機(jī)+容器”和“物理機(jī)+虛擬機(jī)+容器”,LINUX非實(shí)時(shí)操作系統(tǒng)。
4種模型的軟件版本為:
1)固件:最新版本;
2)操作系統(tǒng):LINUX非實(shí)時(shí)服務(wù)器版操作系統(tǒng),“物理機(jī)”模型使用實(shí)時(shí)服務(wù)器版操作系統(tǒng),虛擬云專用服務(wù)器版操作系統(tǒng)(部署虛擬機(jī)的宿主機(jī))。
驗(yàn)證前針對(duì)在混合云平臺(tái)上部署組播、時(shí)統(tǒng)這類時(shí)敏性應(yīng)用做了大量的調(diào)研工作,經(jīng)過討論,將實(shí)時(shí)性性能指標(biāo)定為時(shí)統(tǒng)應(yīng)用延時(shí)不大于8 ms,組播應(yīng)用丟包率(含數(shù)據(jù)包亂序數(shù)量)不大于10-6個(gè)/s,在硬件層面主要應(yīng)用以下兩種關(guān)鍵技術(shù):
1)外部設(shè)備透?jìng)骷夹g(shù),即物理機(jī)和虛擬機(jī)分別支持DMA和SMMU技術(shù)。
外部設(shè)備透?jìng)骷夹g(shù)是指輸入/輸出設(shè)備(如網(wǎng)卡、時(shí)統(tǒng)卡)與總線之間的地址轉(zhuǎn)換橋,實(shí)現(xiàn)直接內(nèi)存存取?;趪?guó)產(chǎn)化處理器飛騰是ARM服務(wù)器架構(gòu)不同于基于英特爾X86架構(gòu)的服務(wù)器,在虛擬機(jī)中的網(wǎng)口和時(shí)統(tǒng)卡應(yīng)用DMA時(shí),服務(wù)器必須嵌入系統(tǒng)內(nèi)存管理單元SMMU,并且需要上層的虛擬化技術(shù)(如KVM)支持才能提高虛擬機(jī)中虛擬網(wǎng)卡傳輸速度以及縮短時(shí)統(tǒng)卡的延時(shí)。DMA與SMMU協(xié)同工作的原理描述如下:
(1)DMA提供網(wǎng)卡和時(shí)統(tǒng)卡等外部設(shè)備不通過CPU干預(yù)而直接與系統(tǒng)內(nèi)存交換數(shù)據(jù)的接口。外設(shè)可以通過調(diào)用DMA接口,將數(shù)據(jù)批量直接保存到內(nèi)存的指定地址,然后再發(fā)送一個(gè)中斷通知CPU讀取并處理。整個(gè)傳輸存儲(chǔ)過程不占用CPU時(shí)間片,不但可以及時(shí)啟動(dòng)數(shù)據(jù)傳輸過程,而且減少CPU為了等待數(shù)據(jù)傳輸而產(chǎn)生的空閑時(shí)間,提高了CPU使用率[19]。
(2)在虛擬化場(chǎng)景中(如圖3所示),所有的虛擬機(jī)都運(yùn)行在中間層上,每個(gè)虛擬機(jī)訪問的內(nèi)存地址是虛擬機(jī)內(nèi)存的物理地址,并非實(shí)際的物理地址(即宿主機(jī)的內(nèi)存物理地址),導(dǎo)致虛擬機(jī)無法正常地將連續(xù)的物理地址分給外部設(shè)備使用。
圖3 虛擬化場(chǎng)景
因此,引入了系統(tǒng)內(nèi)存管理單元SMMU解決上述問題,支持基于ARM架構(gòu)的飛騰處理器實(shí)現(xiàn)虛擬化擴(kuò)展。它提供3種階段的內(nèi)存地址轉(zhuǎn)換:階段1是轉(zhuǎn)換虛擬地址到物理內(nèi)存地址,階段2是轉(zhuǎn)換虛擬內(nèi)存地址到中間內(nèi)存物理地址,或者(階段1+階段2)轉(zhuǎn)換虛擬內(nèi)存地址到中間內(nèi)存物理地址再到物理內(nèi)存地址[20-21]。
2)外部設(shè)備支持SR-IOV技術(shù):SR-IOV技術(shù)是一種基于硬件的虛擬化解決方案,可以提高性能和伸縮性。SR-IOV標(biāo)準(zhǔn)將一個(gè)快速外設(shè)組件互連(PCIe,peripheral component interconnect express)的網(wǎng)絡(luò)控制器虛擬化成多個(gè)PCIe設(shè)備,并且每個(gè)虛擬化設(shè)備可以直接分配給一個(gè)虛擬機(jī),允許在虛擬機(jī)之間高效共享一個(gè)PCIe設(shè)備。由于這個(gè)虛擬化過程是在硬件中實(shí)現(xiàn)的,可以獲得能夠與本機(jī)性能媲美的 I/O 性能。根據(jù)該標(biāo)準(zhǔn)創(chuàng)建的新設(shè)備可允許將虛擬機(jī)直接連接到 I/O 設(shè)備,越過了虛擬化(KVM)的中間層和虛擬交換機(jī)層,帶來低延遲和接近線纜的速度,非常適用于對(duì)延遲敏感的組播應(yīng)用。單個(gè)PCIe 資源啟用SR-IOV后可供許多虛擬機(jī)共享,每個(gè)虛擬化后的設(shè)備為所屬虛擬機(jī)提供獨(dú)立的內(nèi)存空間、中斷以及DMA流,并且還使用共享的通用資源(例如以太網(wǎng)端口)。這樣,每個(gè)虛擬機(jī)都可訪問唯一的資源,不需要虛擬化管理程序(比如虛擬化技術(shù)KVM的中間層或者容器化技術(shù)的Docker等)的協(xié)調(diào)干預(yù),從而大幅提升網(wǎng)絡(luò)吞吐性能。
使用SR-IOV需要滿足以下條件:
1)處理器需要支持系統(tǒng)內(nèi)存管理單元;
2)固件需要支持系統(tǒng)內(nèi)存管理單元;
3)處理器根橋需要支持訪問控制服務(wù)或者等價(jià)特性;
4)PCIe設(shè)備需要支持訪問控制服務(wù)或者等價(jià)特性,否則只能分配給1臺(tái)虛機(jī)。
在實(shí)踐驗(yàn)證過程中,為了應(yīng)用上述兩項(xiàng)技術(shù),除了在硬件層中選用支持DMA和SMMU的CPU飛騰2000+,遵循SR-IOV標(biāo)準(zhǔn)的網(wǎng)卡和時(shí)統(tǒng)卡;在軟件層對(duì)服務(wù)器固件、操作系統(tǒng)和虛擬化云平臺(tái)相關(guān)參數(shù)進(jìn)行調(diào)試,并改進(jìn)時(shí)統(tǒng)卡驅(qū)動(dòng)程序以實(shí)現(xiàn)其中斷越過KVM中間層直達(dá)虛擬機(jī)。因此外部設(shè)備透?jìng)骷夹g(shù)和SR-IOV技術(shù)盡管隸屬于硬件技術(shù),也需要軟件配合才能成功啟用,達(dá)到云計(jì)算基礎(chǔ)設(shè)施層降低延時(shí)、提高吞吐量的目的。
實(shí)踐驗(yàn)證的混合云平臺(tái)軟件配置如下:
1)虛擬化平臺(tái):基于KVM開源虛擬化技術(shù)框架;
2)容器云平臺(tái):基于Docker開源服務(wù)化技術(shù)框架;
3)驗(yàn)證工具以及應(yīng)用:“物理機(jī)”“物理機(jī)+虛擬機(jī)”“物理機(jī)+容器”和“物理機(jī)+虛擬機(jī)+容器”4種模型支持實(shí)時(shí)業(yè)務(wù)運(yùn)行的驗(yàn)證環(huán)境,運(yùn)用業(yè)務(wù)組提供的時(shí)統(tǒng)測(cè)試程序和組播測(cè)試程序作為驗(yàn)證工具模擬真實(shí)應(yīng)用場(chǎng)景、實(shí)時(shí)監(jiān)控執(zhí)行狀態(tài)、采集測(cè)試數(shù)據(jù)形成驗(yàn)證報(bào)告。
經(jīng)過反復(fù)實(shí)踐驗(yàn)證,軟件層面主要應(yīng)用以下3種關(guān)鍵技術(shù):
1)虛擬機(jī)綁核,即物理處理器與虛擬處理器固定綁核:虛擬機(jī)綁核基于KVM虛擬化技術(shù),當(dāng)虛擬機(jī)中對(duì)單顆CPU進(jìn)行虛擬化形成的邏輯處理器(vCPU,virtualizedCPU)數(shù)量不是很多時(shí),可以通過將vCPU與指定的CPU綁定的方式提高虛擬機(jī)性能?;贙VM虛擬出來的虛擬機(jī)不僅運(yùn)行在指定的單個(gè)或者多個(gè)vCPU上,并且獨(dú)占指定的CPU資源,規(guī)避了與其他虛擬機(jī)共享CPU計(jì)算資源,減少KVM調(diào)度CPU時(shí)間片帶來的時(shí)間耗費(fèi),達(dá)到提高虛擬機(jī)性能的目的。因此,虛擬機(jī)綁核技術(shù)是操作系統(tǒng)級(jí)的性能調(diào)優(yōu)技術(shù)。
2)MACVLAN技術(shù):MACVLAN提供了網(wǎng)卡鏈路層的虛擬化抽象,與SR-IOV和容器技術(shù)結(jié)合后,可以明顯提高使用同一塊以太網(wǎng)卡虛擬出來的虛擬網(wǎng)口的虛擬機(jī)或者容器之間數(shù)據(jù)傳輸?shù)乃俣?,適用于提高組播應(yīng)用的性能。
基于這種技術(shù)虛擬化形成的網(wǎng)口擁有4種模式:橋接模式、虛擬以太網(wǎng)口聚合模式、私有模式和透?jìng)髂J健?/p>
容器云采用的是橋接模式如圖4所示,實(shí)現(xiàn)了當(dāng)在同一塊以太網(wǎng)卡虛擬出來的虛擬網(wǎng)口之間進(jìn)行數(shù)據(jù)傳輸時(shí),不需要先將數(shù)據(jù)經(jīng)由這塊物理以太網(wǎng)卡傳輸?shù)酵獠康慕粨Q機(jī),再由交換機(jī)傳回到這塊物理以太網(wǎng)卡才能送至指定的目標(biāo)虛擬網(wǎng)口,而是在這塊物理以太網(wǎng)卡內(nèi)部完成數(shù)據(jù)從源虛擬網(wǎng)口到目標(biāo)虛擬網(wǎng)口的傳送,達(dá)到縮短延遲的目的。
圖4 MACVLAN橋接模式
3)容器資源綁定技術(shù),即容器與CPU、內(nèi)存固定綁定:容器資源綁定技術(shù)與虛擬機(jī)的綁核技術(shù)類似,將容器與CPU、內(nèi)存資源進(jìn)行捆綁,容器被設(shè)置運(yùn)行在指定的CPU或vCPU上、使用指定的內(nèi)存空間,避免與其他多個(gè)容器競(jìng)爭(zhēng)計(jì)算資源。為了充分發(fā)揮基于ARM架構(gòu)的處理器性能,通常使用非均勻內(nèi)存訪問(NUMA,none-uniform memory access)架構(gòu)加快CPU訪問內(nèi)存的速度。在NUMA架構(gòu)中,CPU訪問本地內(nèi)存的速度比非本地內(nèi)存(即通過NUMA總線,跳轉(zhuǎn)到其他CPU的本地內(nèi)存)明顯快一些。NUMA架構(gòu)通常采用環(huán)形總線,鑒于同一時(shí)刻只能一顆CPU占用總線,CPU需要得到Token令牌才允許占用總線傳輸數(shù)據(jù),數(shù)據(jù)傳輸結(jié)束后釋放Token。在頻繁訪問非本地內(nèi)存的情況下,CPU會(huì)因等待Token令牌而造成內(nèi)存讀寫延時(shí)。通過容器化技術(shù),將CPU與本地內(nèi)存固定捆綁,形成相對(duì)獨(dú)立的運(yùn)行環(huán)境,為實(shí)時(shí)性業(yè)務(wù)提供獨(dú)占的計(jì)算資源。容器資源綁定技術(shù)相對(duì)虛擬機(jī)綁核而言,是進(jìn)程級(jí)調(diào)優(yōu)技術(shù)。
支撐實(shí)時(shí)業(yè)務(wù)的混合云平臺(tái)測(cè)試目標(biāo)應(yīng)滿足以下指標(biāo)要求:
1)時(shí)統(tǒng)業(yè)務(wù)延時(shí)<8 ms,并持續(xù)運(yùn)行48 h;
2)組播業(yè)務(wù)丟包率<10-6個(gè)/s,并持續(xù)運(yùn)行48 h;
3)云平臺(tái)在硬件層面具備普適性,即兩個(gè)品牌的服務(wù)器均支持;
4)云平臺(tái)在軟件層面具備版本一致性,即固件、操作系統(tǒng)(含內(nèi)核)版本統(tǒng)一。
實(shí)驗(yàn)按照從低到高分層適配的原則,采取遞進(jìn)式測(cè)試方法推進(jìn)。從低到高的層級(jí)為:硬件、操作系統(tǒng)、虛擬機(jī)、容器和業(yè)務(wù)應(yīng)用,性能優(yōu)化技術(shù)在每個(gè)層級(jí)上的驗(yàn)證路徑如圖5所示。實(shí)驗(yàn)步驟如下:
圖5 混合云平臺(tái)性能優(yōu)化技術(shù)路徑
1)排查硬件故障,保證主機(jī)、交換機(jī)、網(wǎng)線等硬件要素的正常工作;
2)在兩個(gè)品牌服務(wù)器上分別按照“物理機(jī)”“物理機(jī)+虛擬機(jī)”“物理機(jī)+容器”和“物理機(jī)+虛擬機(jī)+容器”順序搭建混合云平臺(tái)模式;
3)在每個(gè)混合云平臺(tái)模式上單獨(dú)測(cè)試組播業(yè)務(wù)模擬程序和時(shí)統(tǒng)業(yè)務(wù)模擬程序;
4)在每個(gè)混合云平臺(tái)模式上組合測(cè)試組播業(yè)務(wù)模擬程序和時(shí)統(tǒng)業(yè)務(wù)模擬程序。
按照上述步驟開展實(shí)驗(yàn)可以提高排查效率,快速鎖定故障點(diǎn)所在的層級(jí),進(jìn)而對(duì)該層級(jí)的調(diào)優(yōu)技術(shù)執(zhí)行有針對(duì)性的修正。
實(shí)驗(yàn)?zāi)M實(shí)時(shí)業(yè)務(wù)場(chǎng)景如圖6所示,部署3個(gè)業(yè)務(wù)節(jié)點(diǎn)A、B和C。節(jié)點(diǎn)A模擬組播發(fā)包業(yè)務(wù),節(jié)點(diǎn)B模擬組播同時(shí)接收與發(fā)送業(yè)務(wù),節(jié)點(diǎn)C配置時(shí)統(tǒng)卡模擬時(shí)統(tǒng)和組播接收業(yè)務(wù)。組播吞吐量為單路680 Mbps,驗(yàn)證時(shí)模擬組播業(yè)務(wù)峰值情況,即節(jié)點(diǎn)A并發(fā)30路,節(jié)點(diǎn)B接收30路的同時(shí)發(fā)送30路,節(jié)點(diǎn)C接收30路。
圖6 模擬實(shí)時(shí)業(yè)務(wù)場(chǎng)景
在測(cè)試過程中對(duì)上述場(chǎng)景測(cè)試了多個(gè)用例,這些用例覆蓋了兩個(gè)品牌服務(wù)器,4個(gè)混合云模式,共8個(gè)混合云測(cè)試模型,其關(guān)鍵軟硬件配置描述如表1所示。
表1 8個(gè)混合云測(cè)試模型關(guān)鍵軟硬件配置
經(jīng)過應(yīng)用上述5種軟硬件調(diào)優(yōu)技術(shù),8個(gè)混合云模型的測(cè)試結(jié)果均滿足指標(biāo)要求,監(jiān)測(cè)結(jié)果示例如圖7所示。
圖7 監(jiān)測(cè)結(jié)果示例
實(shí)驗(yàn)數(shù)據(jù)總結(jié)如表2所示。
表2 實(shí)驗(yàn)數(shù)據(jù)總結(jié)
可以看出“物理機(jī)”和“物理機(jī)+容器”兩種模式的測(cè)試結(jié)果優(yōu)于其他兩種模式,而且4種模式都滿足實(shí)時(shí)性能指標(biāo)要求且優(yōu)于指標(biāo)要求,得出時(shí)敏性業(yè)務(wù)可以遷移上國(guó)產(chǎn)化混合云平臺(tái)的結(jié)論。
通過分析得出4個(gè)混合云模型的優(yōu)劣勢(shì)如表3所示。
表3 混合云模型優(yōu)劣勢(shì)
綜上所述,實(shí)踐共驗(yàn)證8個(gè)混合云測(cè)試模型。這些場(chǎng)景為了達(dá)到用戶業(yè)務(wù)實(shí)時(shí)性的要求,多多少少都需要優(yōu)化,比如:調(diào)整系統(tǒng)參數(shù),CPU的綁核,容器的綁核、時(shí)統(tǒng)卡驅(qū)動(dòng)的優(yōu)化等,對(duì)原有云平臺(tái)的功能會(huì)有以下影響:
1)造成了虛擬云的集群高可靠性使用受限。例如:經(jīng)過CPU綁核后,虛擬機(jī)無法遷移而只能依賴容器的集群實(shí)現(xiàn)高可用。當(dāng)一個(gè)容器發(fā)生故障時(shí),容器集群會(huì)在另外一個(gè)指定的虛機(jī)上啟動(dòng)這個(gè)容器。承載這個(gè)容器的目標(biāo)虛擬機(jī)必須預(yù)先綁核而且綁核的數(shù)量需與源虛擬機(jī)一致,才能在保證性能的前提下實(shí)現(xiàn)高可用;
2)對(duì)業(yè)務(wù)應(yīng)用開發(fā)的影響。由于飛騰FT2000+不支持時(shí)統(tǒng)卡的中斷透?jìng)鞯教摂M層,導(dǎo)致時(shí)統(tǒng)業(yè)務(wù)應(yīng)用在虛擬機(jī)里運(yùn)行的性能無法達(dá)到時(shí)延要求。經(jīng)改進(jìn)該卡的驅(qū)動(dòng)后雖然滿足了性能要求,但是在一個(gè)虛擬機(jī)中只能運(yùn)行一個(gè)時(shí)統(tǒng)業(yè)務(wù)進(jìn)程,因此需要軟件研發(fā)人員做相應(yīng)調(diào)整。
3)對(duì)云平臺(tái)穩(wěn)定性的影響。目前參加驗(yàn)證的固件、內(nèi)核的版本,除了“物理機(jī)”模型,其他模型的操作系統(tǒng),如LINUX和虛擬化專用操作系統(tǒng),均為內(nèi)測(cè)版,固件也是為此驗(yàn)證實(shí)踐而專門研發(fā)的非工程化版本。
4)若需要將實(shí)驗(yàn)驗(yàn)證中的性能調(diào)優(yōu)技術(shù)大規(guī)模推廣,需要產(chǎn)品定制化程序。實(shí)驗(yàn)中優(yōu)化相關(guān)的步驟大部分是專家現(xiàn)場(chǎng)調(diào)配,并未經(jīng)過反復(fù)重現(xiàn)與定型,暫未形成體系化標(biāo)準(zhǔn)化的操作手冊(cè)或者可發(fā)布產(chǎn)品版本。如果實(shí)施大規(guī)模統(tǒng)一部署,需要服務(wù)器廠商進(jìn)一步固化版本,生成補(bǔ)丁。