微軟更新內核補丁,Linux Hyper-V 代碼的基礎變更
Phoronix 報導稱,微軟工程師正在開發新的內核補丁,以圍繞Hyper-V 擴展對Linux 生態的支持。儘管Linux 早已支持Hyper-V,且Azure 上有至少50% 的虛擬機在基於Linux 的環境中運行,但微軟現正考慮為Linux 的根分區添加支持。
Hyper-V 架構圖示(來自:Microsoft 官網)
據悉,微軟Hypervisor 機構層級中的根分區,類似於至強的Dom0,後者用於億次啟動和管理非特權域。
在官方文檔中,微軟對根分區概念的描述為“其掌管著處理器和內存資源的虛擬化,為根分區中的虛擬化堆棧提供對子分區(虛擬機)的管理,並向虛擬機傳遞設備I/O 等相關服務”。
換言之,根分區實際擁有、並可直接訪問物理設備的輸入/ 輸出,且其中的虛擬化堆棧可為虛擬機、管理API 和虛擬化的I/O設備提供內存管理。
此外實現了設備仿真,提供集成電子部件(IDE)的磁盤控制器和PS/2 輸入,並且支持Hyper-C 的特定設備合成,以提升性能並減少開銷。
鑑於當前的主線Linux 內核不允許用於Hyper-V 的根分區,微軟才下決心要做出一些改變,並於今日新提交了一個內核補丁。
微軟工程師Wei Liu 解釋稱,該補丁是對Linux Hyper-V 代碼的基礎變更,該公司希望藉助Linux 和Hyper-V 來共建一個完整的虛擬化堆棧。
隨後的補丁系列,將為Linux 上的Hyper-V 應用提供設備節點(即/dev/mshv),以便在用戶空間創建和運行虛擬機程序。
與此同時,開發團隊正在移植雲端虛擬機管理應用(Cloud Hypervisor)。且自7 月下旬以來,就已支持在半虛擬化設備上啟動Linux 客戶端。
有趣的是,微軟所使用的Cloud-Hypervisor,其實是由英特爾幫忙開發的。而該虛擬化管理程序,又是用Rust語言編寫的。