• <nav id="5jebs"></nav>
    <button id="5jebs"></button>
        • 技術博客

          技術博客??>??對比VMware:深信服內存糾錯能力怎么樣?
          對比VMware:深信服內存糾錯能力怎么樣?
          背景圖 2024-09-12 21:02:22

          領跑AI品牌banner

          云平臺的穩定性,對于用戶業務承載尤為重要。在VMware替代的過程中,不少用戶也希望通過遷移替換,提升云平臺的穩定性。為確保用戶系統的持續運行,以及在發生故障時能夠迅速且自動地恢復,深信服特別成立專業的技術團隊,對如何有效保障用戶系統穩定可靠進行深度研發,并針對由服務器硬件故障所引起的計劃外停機問題,打磨有效的技術方案。

          從業界的服務器統計數據來看,硬件故障問題主要集中在內存、硬盤、CPU、主板、電源和網卡等關鍵部件。在云服務環境中,單個物理服務器可能承載多個不同業務和場景的虛擬機。一旦物理硬件發生故障,不僅影響服務提供商,也會給用戶帶來重大損失。在眾多故障類型中,內存故障尤為常見且影響嚴重。

          根據國內云服務商的綜合數據顯示,內存故障已成為數據中心最常見的硬件問題之一,普遍占比較高。盡管具體數值因服務商不同而有所差異,但均表明內存故障對運維構成重大挑戰。內存問題不僅頻繁發生,且是導致服務器宕機的首要原因,占比超過一半,尤其在可糾正錯誤后續的非突發宕機中,內存故障占比更是顯著上升,對系統穩定性和業務連續性構成了嚴重威脅。

          內存CE/UE介紹

          動態隨機存取內存(DRAM)的故障問題主要可以分為兩大類:

          瞬時性故障(軟錯誤):

          • 這類錯誤通常是暫時性的,可能由內存子系統中的電氣干擾引起,這些干擾可能發生在內存子系統的多個部位,如處理器內存控制器、內部總線、緩存、socket或連接器、主板布線、內存緩沖芯片(如果使用)、DIMM連接器或DRAM芯片本身。

          • 瞬時性故障可能由高能粒子撞擊或電路中的電噪聲導致。它們可能影響單個比特或多個比特,其中單比特錯誤和某些多比特錯誤可以通過定期或周期性的巡檢擦除(scrubbing)來糾正。

          永久性故障(硬錯誤):

          • 硬錯誤可能由物理損壞、靜電放電(ESD)、電氣過載、高溫條件、處理器或DRAM的制造缺陷、模塊組裝過程中的不規范操作引起。

          • 硬錯誤可能包括總線通道或DRAM單元的老化、設備內bank區域故障、引腳故障、列故障或單元故障等。這類錯誤是持久的,不會因為時間推移或系統重啟而自動解決。

          這些軟錯誤和硬錯誤最終會導致兩種類型的內存錯誤:

          • 可糾正錯誤(Correctable Errors, CE):這類錯誤可以通過系統內置的錯誤更正機制來修復,通常涉及單比特錯誤。
          • 不可糾正錯誤(Uncorrectable Errors, UCE):這類錯誤無法通過常規的錯誤更正機制修復,可能涉及多比特錯誤或更復雜的硬件故障。

          了解這些錯誤類型對于設計和維護高可靠性的內存系統至關重要,有助于采取適當的預防和修復措施。

          內存CE錯誤

          CE 指的是在服務器運行過程中,內存單元發生的位翻轉(bit flip),這類可糾正的錯誤通常由瞬時性或永久性故障引起。例如,偶發的地址或命令錯誤、X4顆粒內存的單顆粒多比特錯誤、X8顆粒內存的單顆粒單比特錯誤等。幸運的是,內存的 CE 錯誤是可以通過服務器中的 ECC(Error-Correcting Code)機制得到有效糾正的。

          在服務器領域,越來越多的案例表明,每個雙列直插式內存模塊 DIMM(Dual In-line Memory Module)都會不可避免的出現一定數量的CE錯誤。這些錯誤發生時,服務器會利用ECC機制迅速對出錯的內存單元進行糾正。盡管這種糾正過程能夠及時修復正在運行的進程中的錯誤,但它也會帶來一定的性能損耗,導致業務運行卡慢。

          內存UCE錯誤

          UCE,也簡寫為UE,指的是在服務器運行過程中發生的錯誤,這些錯誤無法通過ECC機制來糾正。這類錯誤可能由瞬時性故障或永久性故障的任何組合引起,但通常是由多個硬錯誤導致的。不可糾正錯誤分為兩大類:

          UCE-non-fatal(非致命不可糾正錯誤):

          這類錯誤指的是雖然發生了硬件故障,但系統能夠進行一定程度的恢復。以內存為例,處理這類錯誤的常見方法是識別并終止使用到錯誤內存的進程,這樣可以避免錯誤擴散到整個系統,從而不會影響系統的其他部分繼續運行。

          UCE-fatal(致命不可糾正錯誤):

          這類錯誤指的是產生了極為嚴重的錯誤,以至于CPU必須執行關機或重啟的操作。致命不可糾正錯誤通常涉及到關鍵硬件組件的故障,這些故障無法通過簡單的進程終止或系統恢復來解決,必須通過物理干預,如重啟或更換硬件來處理。

          UCE 錯誤是服務器運維中需要特別關注的一類問題,因為它們可能直接威脅到系統的穩定性和數據的完整性。因此,對于這類錯誤的預防、檢測和響應機制是服務器可靠性管理的重要組成部分。

          內存錯誤隔離方案的必要性

          在用戶使用場景中,內存作為直接向中央處理器提供數據緩存的關鍵部件。內存系統的故障將會直接導致系統宕機,影響或者中斷客戶業務。隨著客戶內存容量的需求越來越大,內存故障的發生概率也越來越高。所以在實際應用環境中,內存的穩定性對系統運行至關重要。

          現代內存模塊配備了ECC校驗功能,這使得它們能夠自動檢測并修正單個比特的錯誤,通常不會對系統造成影響。在某些情況下,ECC甚至能夠糾正一些多比特錯誤。然而,根據對問題內存條的研究和相關文獻的查閱,如果內存條在一段時間內頻繁出現可糾正錯誤(CE),那么該內存條未來出現問題的概率將顯著增加,這包括可糾正錯誤和不可糾正錯誤(UE),從而給系統運行帶來潛在的風險。

          當系統內的進程運行在存在可糾正錯誤(CE)的內存上時,CPU需要額外的資源來處理這些錯誤,這可能會導致系統響應速度下降或出現卡頓現象。

          在不可糾正錯誤(UE)的情況下,如果進程運行在有UE錯誤的內存上,系統會終止該進程并嘗試重新啟動,以分配新的內存資源。對于虛擬機進程而言,遭遇UE錯誤將導致虛擬機重啟,這會直接導致業務中斷。而對于宿主機操作系統(HostOS)的進程,尤其是那些關鍵的內核或驅動進程,如果它們遇到UE錯誤,可能會引起服務器系統崩潰,造成更嚴重的服務中斷。

          CE錯誤需要消耗額外的系統資源,UE錯誤往往會導致系統宕機。為了提高系統的可靠性,減少因內存問題引起的性能下降和宕機風險,僅依賴內存的自動糾錯功能是不夠的,需要采取額外的措施來增強系統的穩定性和可靠性。

          VMware處置CE/UE方案

          在vSphere環境中,為確保虛擬機的穩定性和性能,提供了一定的CE和UE處理策略:

          處理CE(可糾正錯誤):

          當檢測到CE時,vSphere會執行內存隔離操作,將發生錯誤的內存區域隔離,防止虛擬機再次訪問這些區域。這種隔離機制有助于防止錯誤擴散,減少對虛擬機性能的影響。

          處理UE(不可糾正錯誤):

          當 VMKernel 運行在UE錯誤的內存時,會導致系統宕機,觸發自動重啟來恢復系統。此時利用 Intel 的 MCE Safe(Machine Check Exception)機制可以避免代碼在內核運行從應用層拷貝,減少不必要的宕機。

          當虛擬機監控器(VMM)檢測到虛擬機運行在存在UE錯誤的內存上時,通常會觸發虛擬機的重啟,確保虛擬機能夠從錯誤狀態中恢復,并重新分配到健康的內存區域。對于ESXi主機上運行的用戶空間進程,如果它們運行在存在UE錯誤的內存上,ESXi會重啟受影響的應用進程,快速恢復。

          深信服處置CE/UE方案

          深信服的內存高可靠整體解決方案是一個全面且深入的策略,基于Intel合作優化內存UE恢復機制。結合多項創新技術和專利保護,如支持恢復部分內核UE內存地址、支持內核對內存的巡邏掃描(patrol scrubber)功能、支持對部分UE降級為CE處理等,涵蓋從最底層的BIOS,到最上層的操作系統OS、應用程序以及前端界面等各個模塊的技術創新,顯著提升系統的自我修復和容錯能力。

          深信服處置CE/UE方案

          內存錯誤預測

          深信服從大量實際采集的故障案例和硬件廠商共享的錯誤數據中分析得到的錯誤特征,能夠精準預測潛在的故障風險區域。通過在這些問題區域發生故障之前進行識別和隔離,有效預防約70%的服務器內存 CE 和 UE 錯誤。

          對于已預測的風險內存地址,深信服云平臺會在預定的時間段內進行深入掃描和確認。平臺會調度無效進程運行在這些風險內存地址上,以此快速準確地定位具體的內存條編號、物理插槽位置以及細分的錯誤類型等關鍵信息。

          深信服的平臺在掃描確認內存中的 CE 或 UE 錯誤后,會自動隔離出錯的內存塊地址,通常是2M大小的區域,以防止業務進程或內核進程訪問這些內存空間。這種超融合環境中的內存隔離是自動化的,能夠迅速恢復業務的正常運行,從而避免了在故障排查和定位上耗費大量時間。

          CE錯誤處置

          對于未能提前預測到的CE錯誤內存地址,深信服平臺一旦檢測到健康進程所使用的內存塊存在CE錯誤時,它會迅速采取行動,利用系統預留的額外資源來修復錯誤,即將數據遷移到健康的內存塊中。隨后,平臺會立即執行內存隔離操作,記錄下出現CE錯誤的內存塊地址。在未來的內存分配請求中,系統將規避這些已記錄的問題內存地址,確保它們不會被其他進程使用,從而防止這些錯誤再次對業務造成影響。這種隔離機制不僅有效減輕了對虛擬機性能的負面影響,而且通過防止故障內存塊的再次使用和錯誤擴散,進一步增強了系統的穩定性和可靠性。

          針對那些物理內存頻繁出現CE錯誤的主機,深信服平臺會自動將該主機標記為亞健康狀態,并通過報警系統通知管理員,以便及時采取相應的維護措施。此外,為了減少這些主機對新業務或現有業務的潛在影響,深信服平臺還會調整業務系統的運行策略、降低這些主機在虛擬機啟動、高可用性HA調度、動態資源調度等策略中的優先級。避免CE錯誤的內存塊對后續更多業務產生影響。

          UE錯誤處置

          深信服平臺通過錯誤降級、UE延遲處置、固化隔離等機制,來降低內存錯誤的影響。

          基于 Intel 的內存檢測技術,將UE進一步細分,識別并標出可以恢復的UE錯誤,如UCNA(Uncorrected No Action required)、SRAO(Software Recoverable Action Optional)、SRAR(Software Recoverable Action Required)等。深信服平臺對以上幾類錯誤預留必要資源以快速完成故障修復處置,減少系統宕機和重啟的風險。

          延遲處理機制,是指當平臺檢測到內存UE時,如果虛擬機未直接訪問該故障內存區域,系統會優先進行隔離處理而非立即重啟,這種延遲處理策略可以顯著降低因UE故障導致的虛擬機重啟概率。

          在主機系統遇到UE錯誤導致重啟時,系統會自動記錄并強制隔離故障的內存UE地址,這種固化隔離機制確保在重啟后,故障內存不會被重新分配和使用,從而避免再次發生UE錯誤,保障系統的穩定運行。

          如果在降級和隔離處理后,主機仍然出現內存UE故障,深信服平臺會自動將該主機標記為亞健康狀態,并生成警報通知系統管理員。此狀態將持續到故障徹底解決為止,期間該主機將限制新增虛擬機業務,以避免增加負載壓力,確?,F有業務及新增業務的穩定性。

          內存錯誤檢測的應用價值

          深信服平臺通過一系列先進的內存管理策略,顯著提升了對內存錯誤的處理效率和系統的可靠性。平臺利用主動預測、快速定位和自動隔離等手段,大大降低了對內存錯誤的處置開銷。這種策略使得在故障發生時,無需耗費大量時間進行排查和定位,從而提高了維護效率。

          通過主動預測潛在的故障和定期進行內存掃描,平臺能夠從源頭消除超過90%的故障錯誤告警。這不僅減少了系統告警的發生,也提高了故障處理的效率和準確性。內存隔離策略是分級實施的,對于單一內存條,如果隔離的內存不超過10%,則不影響其他內存空間的正常使用。這種設計確保了系統的平滑運行,同時,一旦隔離的內存超過20%,系統會自動提醒用戶更換內存條,以防止性能下降和進一步的穩定性風險。

          此外,平臺通過將不可恢復的UE錯誤降級為可恢復的UE錯誤,有效減少了60%因UE錯誤導致的系統立即宕機的情況。進一步地,將可恢復的UE錯誤降級為幾乎無感知的UE/CE錯誤,減少了70%因UE錯誤觸發的虛擬機重啟情況。

          內存錯誤檢測的應用價值

          深信服持續優化內存錯誤的處理機制,顯著提升系統的穩定性和業務連續性,為用戶提供了一個更加可靠和安全的虛擬化環境。

          分割線

          云話技術是深信服打造的一檔云技術內容專欄,將定期為大家推送云計算相關的技術解析、場景實踐等內容,為大家深度解析深信服在云計算領域的創新能力、技術動態、場景應用及前瞻分析。

          久久在精品线影院,久久视频这里只精品亚洲,99欧美精品含羞草,欧洲精品性爽视频