當前位置: 華文世界 > 財經

微軟精心打造Rust虛擬機器管理程式,為Azure工作負載提供動力

2024-10-22財經

來源:至頂網

微軟本月早些時候釋出了用 Rust 編寫的新管理程式/虛擬機器監控程式(VMM)的程式碼。

OpenVMM是第二類管理程式,執行在作業系統之上,這與第一類管理程式不同,後者執行在裸機之上並直接與硬件互動。因此,它更類似於Oracle VM VirtualBox、VMware Workstation 或 Microsoft Virtual PC,而不是VMware ESXi、KVM 或 Microsoft Hyper-V。

事實證明,Rust在虛擬化領域相當受歡迎。雲管理程式Cloud Hypervisor是用Rust編寫的第二類VMM,可追溯到2019年。亞馬遜和谷歌也開發了基於Rust的VMM,分別是Firecracker(類別1)和 crosvm(類別2)。

不過,OpenVMM還在不斷完善中,微軟警告說,它還沒有準備好用於生產,並指出它在傳統主機環境中的執行體驗並不那麽令人愉快。

該專案網站稱:「目前,主機上的OpenVMM還不能用於執行終端使用者工作負載,應將其視為實作OpenVMM新功能的開發平台,而不是可隨時部署的應用程式。」

此外,該軟件的管理界面還沒有完善的文件記錄,器材效能仍未最佳化,某些功能缺失,API也沒有穩定性保證。

但除此以外,該專案至少表明微軟和其他同行一樣,正在擴大Rust的覆蓋範圍,以提供更強的記憶體安全保證——這已成為一項國際任務,因為安全問題已變得相當重要。微軟的開發人員還表達了他們對Rust的現代語言特性、crates生態系、分析工具以及仍然使用 C API 直接與硬件對話的能力的贊賞。

OpenVMM可在Linux(x64,透過 KVM 或 MSHV API)、macOS(Aarch64,透過 Hypervisor.framework API)和Windows(x64 和Aarch64,透過Windows Hypervisor Platform API)上執行。

OpenVMM的開發主要是為了與 OpenHCL 配合使用,OpenHCL是基於Linux的輔助虛擬化層,用於保密虛擬機器,也是用Rust構建的。正如上個月在奧地利維也納舉行的Linux Plumbers大會上所討論的,OpenHCL是一種將 OpenVMM 作為paravisor(準管理程式)執行的執行環境。

和執行在獨立主機或者根分區中的管理程式不同,paravisor以更高的許可權級別在客戶機中執行。

正如會議演講所解釋的,「客戶機作業系統通常需要修改,即所謂的enlightments,才能在不同的機密計算架構(如 AMD SEV-SNP 或 Intel TDX)下執行。要支持未開放的客戶機,需要一個名為paravisor的軟件元件。」

「paravisor在客戶機中以更高的許可權級別執行,以提供適當的抽象和安全保證,而未開放客戶機無法實作這些功能。paravisor還可以提供額外的服務,如仿真器材(如TPM,可信平台模組)或主機與未開放的客戶機之間的器材轉換。」

為什麽要這麽做?對微軟來說,這種方法允許現有工作負載使用其Azure Boost硬件加速器,而無需修改客戶虛擬機器映像——客戶可以透過新的虛擬化層直接存取更快的IO和安全功能,而不是透過主機。它還允許現有作業系統在硬件支持的Confidential VMs中執行,並支持Trusted Launch VMs。

在未來的某個時候,OpenVMM 可能會得到足夠的完善,使用起來就不會那麽痛苦了。