更新到用 Rust 編寫的 Intel Cloud Hypervisor 0.3 和 Amazon Firecracker 0.19 虛擬機器管理程序

英特爾 опубликовала 新版本的虛擬機器管理程序 雲端管理程式 0.3。 虛擬機器管理程式是基於元件構建
聯合項目 Rust-VMM其中,除了英特爾之外,阿里巴巴、亞馬遜、谷歌和紅帽也參與其中。 Rust-VMM 採用 Rust 語言編寫,可讓您建立特定於任務的虛擬機器管理程式。 Cloud Hypervisor 就是這樣一種虛擬機器管理程序,它提供在 KVM 之上運行並針對雲端原生任務進行最佳化的高級虛擬機器監視器 (VMM)。 專案程式碼 有空 在 Apache 2.0 下獲得許可。

Cloud Hypervisor 專注於使用基於 virtio 的半虛擬化設備運行現代 Linux 發行版。 提到的關鍵目標包括:高反應能力、低記憶體消耗、高效能、簡化配置和減少可能的攻擊向量。

仿真支援保持在最低限度,重點是半虛擬化。 目前僅支援 x86_64 系統,但計劃支援 AArch64。 對於來賓系統,目前僅支援 64 位元 Linux 版本。 CPU、記憶體、PCI 和 NVDIMM 在組裝階段進行配置。 可以在伺服器之間遷移虛擬機器。

在新版本中:

  • 將半虛擬化 I/O 轉移到單獨進程的工作仍在繼續。 增加了使用後端與區塊設備互動的能力 虛擬主機使用者區塊。 此變更可讓您將基於 vhost-user 模組的區塊裝置連接到 Cloud Hypervisor,例如 軟件開發工具包,作為半虛擬化儲存的後端;
  • 支援將網路操作移至後端,在上一個版本中引入 虛擬主機使用者網路,擴展了基於虛擬網路驅動程式的新後端 TAP。 後端是用 Rust 編寫的,現在在 Cloud Hypervisor 中用作主要的半虛擬化網路架構;
  • 為了提高主機環境和客戶系統之間通訊的效率和安全性,提出了透過 virtio 工作的具有 AF_VSOCK 尋址的套接字(虛擬網路套接字)的混合實現。 實施以專案為基礎的發展 鞭炮,由亞馬遜開發。 VSOCK可讓您使用標準的POSIX Sockets API進行來賓和主機端應用程式之間的交互,這使得可以輕鬆地適應普通網路程式進行這種交互,並實現多個客戶端程式與一個伺服器應用程式的交互;
  • 為使用 HTTP 協定的管理 API 提供了初步支援。 未來,該API將使得在客戶系統上發起非同步作業成為可能,例如熱插拔資源和遷移環境;
  • 新增了基於 virtio MMIO(記憶體映射 virtio)的傳輸實作層,可用於建立不需要 PCI 匯流排模擬的簡約客戶系統;
  • 作為擴充對運行嵌套來賓系統支援計畫的一部分,Cloud Hypervisor 增加了透過 virtio 轉送半虛擬化 IOMMU 裝置的功能,從而提高了裝置嵌套和直接轉送的安全性。
  • 提供了對Ubuntu 19.10的支援;
  • 新增了運行具有超過 64 GB RAM 的來賓系統的能力。

此外,還可以注意到 新問題 鄰近的 發達 虛擬機器監視器 鞭炮,也是用 Rust 編寫的,基於 Rust-VMM 並運行在 KVM 之上。 Firecracker 是該專案的一個分支 交叉虛擬機,由 Google 用於啟動應用程式 Linux и Android 在 Chrome 作業系統中。 Firecracker 是由 Amazon Web Services 開發的,旨在提高 AWS Lambda 和 AWS Fargate 平台的效能和效率。

該平台旨在以最小的開銷運行虛擬機,並提供用於建立和管理使用無伺服器開發模型(功能即服務)建構的隔離環境和服務的工具。 Firecracker 提供稱為 microVM 的輕量級虛擬機,它使用硬體虛擬化技術提供完全隔離,同時提供傳統容器的效能和靈活性。 例如,使用 Firecracker 時,從 microVM 啟動到開始執行應用程式的時間不超過 125 毫秒,這使您可以每秒啟動高達 150 個環境的強度的新虛擬機器。

新版本的 Firecracker 新增了一種無需啟動 API 處理程序(「—no-api」)的操作模式,將環境限制在設定檔中硬編碼的設定。 靜態配置透過「--config-file」選項指定,並以 JSON 格式定義。 在命令列選項中,還添加了對「—」分隔符號的支持,其後指定的標誌將沿著鏈傳遞而不進行處理。

開發 Firecracker 的亞馬遜也 宣布了 為 Rust 程式語言的開發者提供贊助。 值得注意的是,Rust 在該公司的專案中越來越多地使用,並且其開發已經在 Lambda、EC2 和 S3 等服務中實施。 Amazon 為 Rust 專案提供了基礎設施,用於在 S3 中儲存版本和構建,在 EC2 中執行回歸測試,並維護一個 docs.rs 站點,其中包含 crates.io 儲存庫中所有套件的文件。

亞馬遜也 引進 該計劃 AWS 促銷積分,開源專案可以免費存取AWS服務,這些服務可用於資源儲存、建置、持續整合和測試。 在已經批准參與該計劃的項目中,除了 Rust 之外,還有 AdoptOpenJDK、Maven Central、Kubernetes、Prometheus、Envoy 和 Julia。 接受來自 OSI 批准的許可證下交付的任何開源專案的提交。

來源: opennet.ru

添加評論