騰訊雲首次披露虛擬化技術發展線路圖,看好輕量級虛擬化的潛力

2020-12-08 騰訊網

在雲計算中,虛擬化技術、分布式資源管理技術、數據存儲技術、網絡技術是最為關鍵的幾個基礎技術體系。其中,虛擬化作為底層最核心的技術之一,其在高可用、高性能、快速創建等方面的技術指標,甚至直接關係到雲計算的商業模式能否成立。

虛擬化技術也分為技術流派,其中以 KVM、Xen、VMWare (Virtual Machine ware)等為主流。早在2013年,騰訊雲基於對虛擬化技術未來發展方向的判斷,放棄當時的主流XEN虛擬化技術,在業界率先擁抱開源的KVM技術,並將其不斷演進。

近日,騰訊雲虛擬化技術負責人陳立東,首次向外界詳細披露其在虛擬化技術上的技術演進路線。

虛擬化到底是什麼?

簡單來說,虛擬化主要是指伺服器資源的虛擬化,即在一臺物理機上為一個虛擬機構造一個完整的作業系統的運行環境,再通俗點說,就是「把一臺電腦虛擬成N臺電腦」。其中,虛擬化的資源包括 CPU、內存、網絡和存儲幾個部分。一般來說,在一個物理機上,通過虛擬化技術可以將多個完整的虛擬機以不同的形式售賣給不同的客戶,滿足客戶定製化的需求。

談到虛擬化技術,這其實並不是一個新鮮的詞彙,早在 60年代中期,IBM 就已經有了虛擬化技術。近十多年來,尤其是 2005年Intel 推出硬體輔助虛擬化,也就是在 CPU 指令上支持虛擬化,才讓這個技術有了一次重大的發展。

最初,虛擬化技術的主流是劍橋大學開發的 Xen。陳立東透露,2010 年騰訊做開放平臺時,採用的也是 Xen。之後推出騰訊雲公有雲產品時,騰訊雲選擇了 KVM。之所以做出這個選擇,陳立東表示,主要的原因是 KVM 技術是一個完全開源且輕量級的技術,內核對其的支持也做得比較好,是後續技術發展的方向。

為了解虛擬化技術的作用與意義,我們從一張騰訊的雲分布式調度系統 VStation 的整體架構圖中來看。VStation 作為騰訊雲計算作業系統,承擔了資源調度、請求排隊的工作。

虛擬化則負責為每臺 CVM(雲伺服器(Cloud Virtual Machine))構造出完整的 PC 運行環境,包括 CPU、內存、網絡、存儲各個部分資源。主要包含 libvirt、qemu、kvm 三部分:

qemu與kvm構成hypervisor,負責CVM資源的虛擬化,在物理機上,虛擬出一個個完整的PC環境;

libvirt負責提供統一對外的接口,用於管理hypervisor。

圖1. 整體架構

騰訊雲虛擬化技術演進路程

據陳立東介紹,在騰訊雲的大規模雲計算實踐過程中,他們遇到一些虛擬化方面的技術挑戰,也在不斷解決問題的過程中,走出了一條自己的虛擬化技術路線圖。

挑戰一:如何提高雲伺服器的可用性?

第一個挑戰體現在可用性方面。隨著目前硬體發展的趨勢,伺服器的集成度越來越高,單臺物理機故障對雲伺服器的影響面越來越大。如何在雲上規避物理伺服器宕機對虛擬化的影響,是騰訊雲面臨的第一個挑戰。

陳立東提到,在騰訊雲規模達到一定規模時遇到了一個問題,當時某個遊戲客戶投訴騰訊云云伺服器故障率高,雲伺服器突然宕機,導致遊戲玩家掉線,客戶甚至因此考慮遷移到其他雲。這給了陳立東團隊非常大的壓力。

通過統計伺服器常見的故障原因後,發現在伺服器故障中最主要的故障原因是內存故障。當內存發生多 bit UCE錯誤時,就會導致整個物理機宕機,一臺物理機上所有的虛擬機都會隨之宕機。

然而,問題是內存硬體上本身存在失效率,低概率的發生多 bit UCE 錯誤是無法完全避免的。為了提升雲伺服器的可用性,騰訊雲採用了多種優化方案,這裡介紹其中兩個利器:內存高級 RAS 特性MCA recovery 和熱遷移。

首先是MCA recovery。為了解決內存故障率的問題,騰訊雲聯合了 CPU 廠商,包括 Intel,針對騰訊雲單獨定製 CPU。在定製過程中,騰訊雲要求伺服器廠商為騰訊雲提供一些更高端的 CPU 特性,其中一個叫做 MCA Recovery。

之前,如果發生了內存UCE錯誤,原有的伺服器就會直接宕機,但在支持了 MCA Recovery後再發生內存錯誤時,伺服器不會宕機,只會發出警告內存有問題,再由上層決定解決如何處理。

騰訊雲是首家在數據中心中大規模使用MCA Recovery技術的雲廠商,剛開始進展並不順利。啟用了MCA Recovery後,大量的UCE錯誤並沒有成功規避。當時伺服器ODM廠商,Linux 內核對MCA Recovery支持並不完善。

針對硬體廠商缺陷導致的規避失敗案例,騰訊雲開發故障注入工具,作為伺服器 BIOS BMC 廠商引入標準。針對故障注入進行長時間壓力測試,確保硬體廠商都按照騰訊雲的標準完成硬體引入。

同時,騰訊雲還發現了多個 CPU架構優化的案例,通過修改 Linux 內核軟體儘量避免觸發,大大降低了不可恢復異常的觸發概率。同時,騰訊雲在CPU廠商的下一代CPU中進行改進優化。

對於Linux內核對MCA Recovery的支持,騰訊雲也針對性對內核的內存管理模塊和KVM進行優化。

相關的優化,在騰訊雲基於Intel Skylake及其以後代次的雲伺服器上都以全面落地。

除了 Intel,騰訊雲還聯合 AMD 落地多項內存RAS 特性,結合其他多項硬體可用性優化措施,提升騰訊雲AMD雲伺服器SA2實例的可用性。

目前,騰訊雲成為首家在數據中心中大規模使用MCA Recovery技術的公司,通過一系列的軟硬體結合優化,騰訊雲 CVM 雲伺服器通過 MCA Recovery 已規避大量的內存 UCE 錯誤,大大降低了內存故障率,將騰訊云云伺服器的可用性做到了業界領先。

第二個技術點是熱遷移技術

支持了 MCA Recovery等高級RAS特性 後,騰訊雲當物理伺服器出現硬體隱患時,雖然不會宕機,但是已經存在隱患了,需要儘快下線維修。這個時候正在運行的雲伺服器怎麼辦?

針對這個問題,騰訊雲用熱遷移技術來解決,可以把雲伺服器從一臺物理機無感知遷移另一臺,當一臺物理機存在硬體隱患時,把雲伺服器遷移到另一臺正常的物理機上。因此,通過熱遷移技術,騰訊雲將雲伺服器的可用性提升到高於物理機本身的可用性。

熱遷移示意圖

在大規模落地時,熱遷移的難度體現在兩個方面,一個是熱遷移的成功率,如果熱遷移所以來的伺服器負載過高,則熱遷移可能失敗,為了提高熱遷移的成功率,騰訊雲使用了包括RDMA 在內的多個熱遷移優化,將熱遷移成功率從原來的 70% 提升至 99%;第二個難點在於儘量減少熱遷移的停機時間,目前騰訊雲可實現在 50 毫秒以內的熱遷移停機時間,基本上可以達到無感知的水平。

挑戰二:如何降低虛擬化帶來的損耗?

第二個挑戰是,虛擬化在同一個物理機虛擬多個虛擬機帶來靈活性,但同時虛擬化本身會有一些性能損耗,業務希望虛擬化技術要保證性能與物理機相匹配,儘量減少虛擬化的損耗,這也是虛擬化技術面臨的很大的挑戰。

在降低虛擬化性能損耗上,陳立東以騰訊內部自研上雲的過程舉例。項目啟動不久,微信同事在測試時反饋其中一個模塊性能下降超過 30%。為此,騰訊雲投入了多個資深開發工程師進行分析,共做了 7 輪優化,最終將 KVM 的虛擬化損耗降低到 5%。

針對 Linux 子機場景,騰訊雲也做了一些與 KVM 虛擬化本身結合性的性能優化,對外推出了騰訊的 Linux 的發行版 Tencent Linux,目前已經開源。

另外,騰訊雲還針對 Windows 子機進行了大量優化,逆向分析Windows內核邏輯,專門優化了 KVM 對 Windows內核的支持,大大提升了 Windows 雲伺服器在騰訊雲上的性能。

挑戰三:如何提升虛擬化的穩定性?

第三點挑戰是在虛擬化後,包括 CPU 和內存都多出一個虛擬化層。業務希望虛擬化需要和物理機一樣的穩定性,滿足業務對響應延時的極致追求。

除了一些性能測試工具跑分的峰值性能,騰訊雲更注重性能的穩定性和業務的實際體現。

陳立東提到,Linux本身的內核度算法是CFS,但是分析了以後,Linux本身的CFS調度算法並不適合完全滿足虛擬化場景的需求,因此騰訊雲針對虛擬化場景,自研了一套Linux內核的調度的算法,在內部稱之為VMF。這套算法的核心思想要保證虛擬機的任務要優先執行。通過該技術,騰訊雲將虛擬化場景下的調度延時做到和物理機持平的穩定性。

挑戰四:如何快速交付?

第四點就是交付的效率,使用雲後,客戶希望儘可能快速地獲得大量計算資源,如何為客戶提供秒級交付體驗也是一個挑戰。

早期騰訊雲的客戶反饋GPU機型,購買後啟動比較慢,需要等幾分鐘後才能啟動,影響使用體驗。虛擬機啟動的時候,提前分配並鎖住全部的虛擬機內存,而虛擬機內存越大,啟動就越慢。這給用戶帶來非常糟糕的體驗,當時也是所有雲廠商都存在的一個問題。

在優化前,一臺700G規格的一個虛擬化啟動,在之前啟動需要大概270秒,優化以後,將其啟動時間縮短了22秒,大大提升了用戶的體驗,騰訊雲將相關的優化補丁已經貢獻到了社區。

輕量級虛擬化是未來發展方向

從騰訊虛擬化技術的演進路線中,可以看到虛擬化技術當前存在的一些技術難點與熱點,希望對雲計算開發者帶來一定的借鑑意義。

最後,陳立東還談到了虛擬化技術未來發展的趨勢和方向。他認為,虛擬化將來一個很大的發展方向就是輕量級虛擬化,而要實現這一點需要要把虛擬化層做得儘量簡單,從而降低損耗。

「總的來說,要實現把物理資源進行拆分的情況下,儘量減少虛擬化的損耗,這對整個底層的挑戰還是非常大的。」陳立東指出。

相關焦點

  • 雲伺服器怎麼虛擬化形成的
    雲伺服器怎麼虛擬化形成的?雲伺服器是基於雲計算技術虛擬而來,現在虛擬化已經從數據中心的新技術變成了主流技術。虛擬化有助於減輕運維負擔,通過把物理機轉化成虛擬機,從而降低企業硬體採購和管理成本,以及數據中心的佔地面積。
  • Xen和虛擬化技術學習指南
    1.引言現代計算機具有足夠強大的能力來利用虛擬化技術支持多個虛擬機(VM:virtualmachines),並且在每個虛擬機上各自運行單獨的作業系統實例。這直接導致了虛擬機技術發展的又一個春天。
  • Sun Fire T1000和T2000伺服器的虛擬化技術
    Sun針對基於酷線程技術的Sun Fire T1000和T2000伺服器的虛擬化技術叫做LDom。該技術允許客戶通過Solaris Containers功能同時運行多個作業系統;幫助客戶減少伺服器佔地面積,同時提高伺服器的利用率和數據中心的效能。
  • 名詞解釋:什麼是網絡虛擬化
    網絡虛擬化的內容一般指虛擬專用網絡 (VPN)。VPN 對網絡連接的概念進行了抽象,允許遠程用戶訪問組織的內部網絡,就像物理上連接到該網絡一樣。網絡虛擬化可以幫助保護 IT 環境,防止來自 Internet 的威脅,同時使用戶能夠快速安全的訪問應用程式和數據。
  • EMC與IBM同時更新虛擬機備份軟體 助力虛擬化管理
    兩家公司的發言人都提到了同樣的背景:虛擬化管理人員的需求與傳統存儲和備份管理人員的需求不同,因此也應為其設計相應的軟體。傳統的備份軟體是集中的,包括長期的保留計劃,並且受到嚴格的控制。相反地,「在虛擬化中工作的人們正在用更快的部署來評估一個不同的環境。」IBM存儲市場官方發言人Doug O'Flaherty解釋說。
  • 阿里雲發布雲上首個輕量級GPU實例 可用更細粒度計算資源開啟業務
    當地時間3月18日,在矽谷舉辦的2019年NVIDIA GPU技術大會(GTC)上,阿里雲發布了國內首個公共雲上的輕量級GPU異構計算產品——VGN5i實例,該實例打破了傳統直通模式的局限,可以提供比單顆物理GPU更細粒度的服務,從而讓客戶以更低成本、更高彈性開展業務。  在該實例發布之前,業內均採用以單顆物理GPU為單位的雲端異構計算服務。
  • 騰訊上線「直播+雲遊戲」互動玩法 但云遊戲商業化還需時間
    目前,騰訊雲已經服務了國內超過70%的遊戲公司,APP Annie 2020 全球前 10 名遊戲中也有超過半數產品運行在騰訊雲上,市佔率行業第一。騰訊雲副總裁魏偉介紹,近年來雲計算、大數據、人工智慧等技術與遊戲產業結合越發緊密,社交互動在遊戲行業中應用也越來越頻繁,遊戲行業場景變得更加人性化、多元化、智能化。
  • 騰訊雲首次披露區塊鏈能力全景圖:已全面落地7大領域
    基於騰訊雲在區塊鏈方面的最佳實踐,本文將從技術方向闡述區塊鏈的原理、作用,並介紹騰訊雲在區塊鏈技術與應用方面的積累,幫助讀者形成對區塊鏈新基建的直觀認識。一、區塊鏈的定義「區塊鏈是一個分布式的共享帳本和資料庫,具有去中心化、不可篡改、全程留痕、可以追溯、集體維護、公開透明等特點。
  • 數據中心向虛擬化的平滑過渡解決方案
    實際上,伺服器使用率通常都會低於25%,這也就是為什麼伺服器虛擬化在過去的幾年中發展極快的原因。  那麼,除了虛擬化一個單一的伺服器及其應用程式以外,你還能做些什麼呢?如果你能夠控制數據中心中的所有伺服器--物理的或者虛擬的--並且根據特殊的業務或技術需要而中心組合它們,又是怎樣的一種結果呢?
  • 2020國內遊戲市場收入或超2700億元,騰訊雲拿下超7成遊戲公司
    圖片來源:主辦方供圖網際網路巨頭都在爭先恐後深度布局產業網際網路,在遊戲雲這個細分賽道,作為遊戲行業龍頭,騰訊本身就具備先天優勢。記者了解到,目前國內70%以上的遊戲公司選擇的都是騰訊的遊戲雲服務。報告顯示,從遊戲用戶的關注度排序看,遊戲的平衡性、社交性、內容以及技術層面的表現分列前幾位;而遊戲的卡頓延遲、伺服器不穩定等技術層面的問題則是遊戲用戶流失的重要原因。騰訊雲給各行各業提供不同服務,但遊戲行業有其特殊性。騰訊雲泛網際網路產品總監陳亮在接受記者採訪時表示,遊戲在擴縮容的時候,標準短連接的擴縮容實現不了。
  • 客戶首選 EMC Vplex存儲虛擬化引擎
    不斷發展的變化,如伺服器虛擬化以及用戶網絡中的多個站點的增長,已對存儲管理以及信息訪問的方式有新的要求。為跟上這些新的要求,存儲必須改進,以提供新的將數據從物理設備中解放出來的方法。存儲必須能夠連接到虛擬環境,同時仍然可以提供自動化、與現有基礎架構的集成、按需使用、安全性、成本效益、可用性和安全性。
  • 華為全面啟動數據基礎設施戰略,開源數據虛擬化引擎HetuEngine
    11月19日,華為在深圳舉辦2019全球數據基礎設施論壇,面向鯤鵬計算產業, 宣布全面啟動數據基礎設施戰略,並開源數據虛擬化引擎HetuEngine(河圖引擎),希望讓夥伴像使用「資料庫」一樣使用「大數據」,讓數據治理、使用更簡單。
  • 你未必知道 十大伺服器虛擬化優化竅門
    虛擬機執行匱乏的現狀阻礙了虛擬化技術的普及。以下的十大虛擬機優化小竅門能幫助用戶輕鬆解決每個難題。本文列出的十個小技巧能提高效率,減少意料之外的宕機並讓你的虛擬化努力物有所值。1.對硬體更新換代雖然在你的虛擬基礎架構上使用***的硬體系統能明顯優化性能,但升級硬體主要指的是對防火牆和BIOS的升級。
  • 深根固柢 雲起磐石——移動雲大雲磐石伺服器重磅推出
    中國移動雲能力中心在2020年中國移動全球合作夥伴大會移動雲分論壇上,發布了新型自研軟硬融合彈性計算架構——大雲磐石伺服器。該架構以自主設計的可編程晶片HyperCard和輕量級Hypervisor為核心,將存儲、網絡虛擬化能力卸載到硬體晶片,徹底突破物理機和虛擬機之間的界限,同時擁有雲主機的靈活彈性和物理機的高效性能。大雲磐石伺服器究竟強大在哪裡?
  • 對話紅手指:雲遊戲是風口,支持百度等大廠做好雲遊戲
    文 | 競核今天為大家介紹移動雲遊戲創業公司:湖南微算互聯信息科技有限公司(產品「紅手指雲手機」)本篇文章為微算互聯專訪稿,要點如下:核心技術:基於ARM架構的硬體級虛擬化技術黃小勇:這要講一講我們的成長史,團隊比較擅長虛擬化技術。2012年,ARM公司宣布最新的ARM晶片支持硬體虛擬化,當時我們認為基於移動的虛擬化技術未來一定有特別好的場景,想場景的時候就想到了雲遊戲。
  • 人類尋找不到外星人的兩個原因:文明自我毀滅,文明虛擬化
    人類開始以為地球是宇宙的中心,後又認為太陽是宇宙的中心,但隨著人類天文學的發展,人類已經知道,地球並不是宇宙的中心,相反人類所處的銀河系是是宇宙的「窮鄉僻壤」極其偏遠,空曠的所在。人類文明有天花板,人類文明發展到一定程度,就會發明終結文明的「基本技術」地球現代科技文明不超過300年,但人類在近幾十年已經創造出足以毀滅地球文明多次的核武器。
  • 騰訊雲成為MariaDB基金會白金會員,成全球資料庫開源中堅力量
    騰訊雲專家工程師程彬加入基金會成員組,成為全球僅有的7位官方成員之一。程彬負責騰訊雲資料庫CDB以及內核TXSQL的研發,專注於資料庫和分布式存儲領域相關技術和產品。他將代表騰訊雲的資料庫團隊參加基金會每周的技術會議,提供MariaDB資料庫的意見和建議,並在內部推動騰訊雲MariaDB的開源進程,推動MariaDB在中國的開源工作。
  • 京東私有雲三大技術方向解析
    京東雲平臺首席架構師、系統技術部負責人 劉海鋒要強調的是,劉海鋒和他的團隊所負責的是京東私有雲項目(京東基礎雲服務)。不是對外提供雲服務的京東公有雲。而這種共存的狀態,在亞馬遜、阿里、騰訊以及其他多家網際網路企業中都存在。京東的發展速度有目共睹。
  • 騰訊雲香港雲伺服器線路直連是否繞路測試
    騰訊雲中國香港地域雲伺服器國內是直連的嗎?騰訊雲香港伺服器網絡延遲多少速度快嗎?騰訊雲香港伺服器運營商帶寬是直連的嗎?有部分繞路嗎?關於騰訊雲香港伺服器線路哪個快網來詳細說下:騰訊雲香港雲伺服器網絡線路的問題騰訊雲香港雲伺服器不用備案而且國內訪問速度比較快,中國香港節點是很多用戶的選擇。那麼問題來了,騰訊雲香港雲伺服器國內訪問速度快嗎?網絡延遲多少?騰訊雲香港雲伺服器是直連的嗎?走的什麼線路?騰訊雲香港帶寬會繞路嗎?