Выпуск Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² Xen 4.16 ΠΈ Intel Cloud Hypervisor 20.0

ПослС восьми мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· свободного Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Xen 4.16. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ выпуска приняли участиС Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Amazon, Arm, Bitdefender, Citrix ΠΈ EPAM Systems. Выпуск ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ для Π²Π΅Ρ‚ΠΊΠΈ Xen 4.16 продлится Π΄ΠΎ 2 июня 2023 Π³ΠΎΠ΄Π°, Π° публикация исправлСний уязвимостСй Π΄ΠΎ 2 дСкабря 2024 Π³ΠΎΠ΄Π°.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ измСнСния Π² Xen 4.16:

  • Π’ TPM Manager, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² для хранСния криптографичСских ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (vTPM), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° Π±Π°Π·Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ физичСского TPM (Trusted Platform Module), внСсСны исправлСния для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ спСцификации TPM 2.0.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ прослойки PV Shim, примСняСмой для запуска Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… гостСвых систСм (PV) Π² окруТСниях PVH ΠΈ HVM. Π’ дальнСйшСм использованиС 32-разрядных ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… гостСвых систСм Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ PV Shim, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство мСст Π² Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ уязвимости.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° устройствах Intel Π±Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (PIT, Programmable Interval Timer).
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° чистка ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° сборка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° «qemu-xen-traditional» ΠΈ PV-Grub (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹Ρ… спСцифичных для Xen Ρ„ΠΎΡ€ΠΊΠ°Ρ… ΠΏΡ€ΠΎΠΏΠ°Π»Π° послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Xen Π² основной состав QEMU ΠΈ Grub).
  • Для гостСвых систСм с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚Ρ€ΠΎΠΉ ARM Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… счётчиков для отслСТивания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Performance Monitor Counters).
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° dom0less, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· развёртывания окруТСния dom0 ΠΏΡ€ΠΈ запускС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвСра. ВнСсённыС измСнСния ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ 64-разрядных систСм ARM с EFI-ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°ΠΌΠΈ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Ρ… 64-разрядных систСм ARM Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ big.LITTLE, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ‡ΠΈΠΏΠ΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅, Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ энСргии, ядра, ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ энСргоэффСктивныС ядра.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ компания Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° выпуск Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Cloud Hypervisor 20.0, построСнного Π½Π° основС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² совмСстного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust-VMM, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΡ€ΠΎΠΌΠ΅ Intel Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Alibaba, Amazon, Google ΠΈ Red Hat. Rust-VMM написан Π½Π° языкС Rust ΠΈ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ спСцифичныС для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρ‹. Cloud Hypervisor являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт высокоуровнСвый ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин (VMM), Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ… KVM ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, свойствСнных для ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… систСм. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° доступСн ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Cloud Hypervisor cфокусирован Π½Π° запускС соврСмСнных дистрибутивов Linux с использованиСм ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… устройств Π½Π° Π±Π°Π·Π΅ virtio. Из ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ упоминаСтся: высокая ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти, высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ настройки ΠΈ сокращСниС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² для Π°Ρ‚Π°ΠΊ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° эмуляции свСдСна ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΠΈ ставка дСлаСтся Π½Π° ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ систСмы x86_64, Π½ΠΎ Π² ΠΏΠ»Π°Π½Π°Ρ… имССтся ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° AArch64. Из гостСвых систСм ΠΏΠΎΠΊΠ° поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 64-разрядныС сборки Linux. Настройка CPU, памяти, PCI ΠΈ NVDIMM производится Π½Π° этапС сборки. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ x86_64 ΠΈ aarch64 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ допускаСтся созданиС Π΄ΠΎ 16 PCI-сСгмСнтов, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ число допустимых PCI-устройств с 31 Π΄ΠΎ 496.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° привязки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… CPU ΠΊ физичСским ядрам CPU (CPU pinning). Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ vCPU Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ хостовых CPU, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… допускаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ прямом ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ (1:1) рСсурсов хоста ΠΈ гостСвой систСмы ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ запускС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ ΡƒΠ·Π»Π΅ NUMA.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½ VFIO Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сниТаСт число ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ проброса устройств Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ.
  • Π’ ΠΊΠΎΠ΄Π΅ Π½Π° языкС Rust ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π·Π°ΠΌΠ΅Π½Π΅ unsafe-сСкций Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, выполняСмыС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ safe. Для ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ unsafe-сСкций Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ с пояснСниСм ΠΏΠΎΡ‡Π΅ΠΌΡƒ оставлСнный unsafe-ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ бСзопасным.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru