第2章 云平臺運維
2.1 服務器
Q18.x86和ARM的區別是什么?
一、指令集
x86采用復雜指令集(Complex Instruction Set Computer,CISC)。CISC處理的是不等長指令集,其必須對不等長指令進行分割。因此,CISC 在執行單一指令的時候需要進行較多的處理工作,并且存在很多機器指令,這就使得硬件邏輯很復雜,晶體管數量龐大。為了高效地進行運算,x86 有較長的流水線,以達到指令級并行(Instruction-Level Parallelism,ILP)。
ARM采用精簡指令集(Reduced Instruction Set Computer,RISC)。RISC執行的是等長精簡指令集,CPU 在執行指令的時候速度較快,并且性能穩定。其以少量指令集就可以簡化硬件邏輯的設計,可以減少晶體管數量、降低功耗。
二、工藝
ARM和x86的一大區別是:ARM從來只設計低功耗處理器,如高通驍龍、華為海思等;x86 的強項是設計超高性能的臺式計算機、便攜式計算機、服務器處理器,如Intel的至強、AMD的霄龍等。
三、計算
對于64位計算,ARM和Intel也有一些顯著區別。Intel并沒有開發64位版本x86指令集。64位版本x86指令集的名稱為x86-64(有時簡稱為“x64”),其實際上是 AMD 設計開發的,就是 AMD64。它是 64 位版本的 x86 處理器的標準。Intel當前給出的移動方案,就采用了AMD開發的64位指令集的64位處理器。
在 ARM 的 big.LITTLE 架構中,處理器的類型可以是不同的。ARM 通過big.LITTLE 架構向移動設備推出了異構計算。這意味著,處理器中的核可以有不同的性能和功耗。采用 big.LITTLE 架構的處理器可以同時擁有 Cortex-A53 核(順序執行)和 Cortex-A57 核(亂序執行)。設備在正常運行時,使用低功耗的核;而設備在運行一款復雜的游戲時,使用高性能的核。
四、操作系統的兼容性
x86架構由微軟的Windows、Intel構建的Wintel聯盟形成巨大的用戶群。同時,x86 在硬件和軟件開發方面已經形成統一的標準,幾乎所有 x86 硬件平臺都可以直接使用微軟的視窗系統,以及現在流行的幾乎所有工具軟件,所以x86在兼容性方面具有無可比擬的優勢。
ARM 架構幾乎都采用 Linux 操作系統,而且幾乎所有硬件系統都要單獨構建自己的系統,與其他系統不能兼容,這也導致其應用軟件不能很方便地移植。這一點嚴重制約了ARM的發展和應用。
五、產品定位區別
ARM 本身定位于嵌入式平臺,用于應付輕量級、目的單一明確的程序,應用在移動設備上更加得心應手。
x86 定位于桌面和服務器,這些平臺上很多應用是計算密集型的,如多媒體編輯、科研計算、模擬等。
Q19.網絡云資源池硬件如何分區?
硬件資源池是同一個數據中心內同機房或同機房樓的一個或多個虛擬資源池的硬件組合,包括一組EOR交換機/EOR配對路由器及其下連的計算、存儲、網絡等硬件資源。
當有容災備份關系的多個網元部署在同一個資源池時,可能會被 VIM 分配到同一臺物理主機、同一個機柜,存儲也可能分配到同一套存儲設備上,因此存在單硬件設備(機架電源模塊、配電柜、存儲設備等)故障同時影響多個有容災備份關系網元的風險。為了避免該風險,需要在虛擬層劃分可用區(Availability Zone,AZ),初期設置兩個AZ,每個AZ內有獨立的服務器和分布式存儲集群。
由于 AZ 劃分基于硬件,因此一個虛擬資源池劃分成兩個 AZ,分別位于硬件資源池的兩個硬件分區,如圖 Q19-1 所示。每個物理設備節點只能屬于一個 AZ;每個AZ內有獨立的服務器、服務器所接入的 TOR、存儲服務器,兩個 AZ 共用成對設置的 EOR、CE(Customer Edge,用戶網絡邊緣設備)、防火墻等出口層設備。

圖Q19-1 一個資源池劃分成兩個AZ
一、硬件分區對供電的要求
為了提升業務可靠性,采用不同電源系統為不同硬件分區供電的組合劃分,包括計算、存儲、網絡及其配套等硬件資源。
若采用交流供電,兩路供電分別來自兩套不同的UPS主機或UPS電源系統。
若采用直流供電,兩路供電來自同一套直流電源系統的兩個端子,當存在直流電源系統故障或輸入開關故障時,所有設備都有斷電的風險。因此,在條件允許的情況下,可采用兩套直流電源系統為不同的硬件分區供電,以提升業務可靠性。
二、硬件分區對存儲的要求
為避免存儲集群故障影響整個資源池內的網元,應配置至少兩套分布式存儲集群。
Q20.服務器的組網方式是什么?
一、計算型服務器
計算型服務器對外提供硬件管理GE網口及6×10GE網口,其中,硬件管理GE 網口連接硬件管理 TOR,6×10GE 網口劃分為管理平面、業務平面、存儲平面。不同平面間流量采用物理端口隔離,保證在物理層面互不干擾;同一平面內不同功能接口之間采用邏輯隔離。
對于VNF及VIM所在服務器,管理網口連接管理TOR,業務網口連接業務 TOR,存儲網口連接存儲TOR。對于 NFVO+、VNFM、EMS等管理網元所在服務器,管理網口連接管理 TOR,業務網口(業務管理流量、MANO 管理流量等)連接管理 TOR,存儲網口連接存儲 TOR。計算型服務器網口接線具體如圖Q20-1所示。
管理平面、業務平面、存儲平面盡量兩兩跨網卡 BOND 綁定。為便于維護,每個平面的TOR1跨網卡連接第一個網口,TOR2跨網卡連接第二個網口。

圖Q20-1 計算型服務器網口接線
二、存儲型服務器
存儲型服務器對外提供4×10GE網口及硬件管理GE網口。其中,硬件管理GE網口連接硬件管理TOR實現硬件管理;2×10GE網口跨網卡連接管理TOR,實現 OpenStack 管理;2×10GE 網口跨網卡連接存儲 TOR,實現數據存儲和存儲后端數據同步、重均衡,存儲前端和后端網絡共用存儲網口,如圖Q20-2所示。

圖Q20-2 存儲型服務器網口接線
在組網中,計算型服務器與存儲型服務器有 BMC(硬件設備管理平面,用于帶外管理、硬件告警),以及 external_om(存儲運維平面,用于虛擬化告警、備份、NTP 等)、storage_om(存儲管理平面,需要與 OpenStack 管理平面三層通信)、storage_data (存儲業務平面,與計算節點三層互通)、storage_data0~storage_data1 (存儲數據平面,用于與存儲設備間三層通信);計算還含external_api(存儲 API 平面,用于運營 API 和少量的運維 API 調用,即運營平面)、public service(VIM 的通信平面,用于VIM 的運營和運維)、internal_base (存儲的內部通信)等平面。
Q21.內存ECC是什么?
內存ECC(Error Checking and Correcting,錯誤檢查和糾正)本意是指利用錯誤檢查和糾正技術,使內存中的錯誤數據被檢查和糾正過來。其機制為服務器內存的高容錯功能,發生該錯誤的常見情況有兩種。一種是可糾正的內存 ECC錯誤,簡稱 CE,此種錯誤并不會影響系統正常運行,只是代表內存中的錯誤數據被糾正的一條記錄,此時錯誤本身已經被糾正,產生的內存 ECC 錯誤記錄不會對服務器性能和穩定性產生影響,因此對于極少數不連續的報錯可以忽略;但是,當 CE 糾錯的頻率和次數達到一定閾值時(CE 風暴和 CE 溢出),須關注該內存健康狀態。另一種是不可糾正的內存 ECC 錯誤,簡稱 UCE,這種錯誤可能直接導致宕機,需要及時更換內存。
服務器上實現內存ECC,需要使用RDIMM(Registered Dual In-line Memory Module,帶寄存器的內存)、LRDIMM (Load Reduced Dual In-line Memory Module,低負載雙列直插內存)。這兩種內存,不同于 UDIMM (Unbuffered Dual In-line Memory Module,無緩沖雙列直插內存),除包含存儲正常數據的內存顆粒外,還會多幾個內存顆粒,用于存儲數據的 CRC (Cyclic Redundancy Check,循環冗余校驗)值和 PARITY(奇偶校驗位)值。這樣的內存也被稱為帶ECC的內存。
實現內存 ECC 的基本原理為,內存控制器每次向內存中寫入數據時,會同時將數據及計算出這些數據的 CRC 值+PARITY 值保存到 ECC 內存上。當 CPU需要用到這組數據時,內存控制器會同時讀取數據的CRC值+PARITY值;然后根據讀取出來的數據再計算一次 CRC 值和 PARITY 值。當發現 CRC 值和PARITY 值與讀取到原先存儲的 CRC 值和 PARITY 值不同時,內存控制器就會知道數據有錯誤,并根據 CRC 值和 PARITY 值進行糾正,將原本正確的數據傳送給 CPU,這樣就完成了一次內存數據的檢查和糾正。這一系列操作是由內存控制器中的純硬件(芯片)完成的。
內存 DRAM 是一種電子器件,由于其工藝特性,普遍存在硬件早期失效和軟失效,在其工作過程中出現部分比特位翻轉,從而導致數據錯誤,這是內存最普遍的問題。對于穩定性要求高的服務器產品來說,為了保證數據的正確性,采用帶ECC的內存來實現內存ECC。發生內存ECC不可避免,這些錯誤數據被糾正是為了保證數據的正確性,一般來說對業務沒有影響。
Q22.BMC是什么?
BMC(Baseboard Management Controller,基板管理控制器)是一種專用芯片控制器,也稱為服務器處理器,兼容服務器業界管理標準 IPMI2.0 規范,獨立于服務器系統之外的小型操作系統,是一個集成在主板上的芯片。它并不依賴服務器的處理器、BIOS 或操作系統來工作,有自己的固件、電源、MAC 地址與網絡接口,可謂非常獨立,是一個單獨在系統內運行的無代理管理子系統。BMC 主要實現遠程控制、告警管理、狀態監測、設備信息管理、散熱控制、支持IPMItool、支持Web 界面管理、支持賬號集中管理等功能。
Q23.什么是故障診斷最小化測試?
故障診斷最小化測試是指,從維修的角度判斷可使服務器開機或運行的最基本的硬件和軟件環境。
最小化測試有兩種形式與目的。
1.硬件最小化測試
硬件最小化測試系統由電源、主板和 CPU 組成。在這個系統中,沒有任何信號線的連接,只有電源到主板的電源連接。能夠使服務器啟動說明這些備件均正常,然后一件件地將其他備件插上去,直到某個備件引起錯誤為止,這樣可以逐一排除故障。
2.軟件最小化測試
軟件最小化測試系統由電源、主板、CPU、內存、顯示卡/顯示器、鍵盤和硬盤組成。軟件最小化測試的目的主要是判斷系統是否可完成正常啟動與運行。
故障診斷最小化測試系統配置為:CPU 一個,安裝在 CPU1 槽位;內存一個,安裝在DIMM000(A)槽位;電源一個,安裝在任意槽位。
- 計算機網絡與通信(第2版)
- 網絡協議工程
- Application Development with Qt Creator(Second Edition)
- 物聯網之魂:物聯網協議與物聯網操作系統
- 網絡故障現場處理實踐(第4版)
- HTML5 Game development with ImpactJS
- 世界互聯網發展報告·2019
- Mastering Dart
- The Kubernetes Workshop
- SAE原理與網絡規劃
- 網管第一課:網絡操作系統與配置管理
- TCP/IP基礎(第2版)
- 深入理解計算機網絡
- 世界互聯網發展報告2021
- Hands-On Cloud:Native Microservices with Jakarta EE