Hyper-V jako host w systemie Linux jest już rzeczywistością

Tux, maskotka jądra Linuksa

Po wydaniu Linuksa 6.14, okno scalania zmian zostało otwarte, z których wiele powstało jeszcze przed wydaniem aktualnej stabilnej wersji jądra.

Spośród tych zmian, które są przygotowywane na wydanie Linuksa 6.15, jedna przykuła uwagę, ponieważ zostały włączone istotne zmiany, które pozwalają na jego wykorzystanie jako środowisko główne (Dom0) dla Hyper-V, Hiperwizor firmy Microsoft.

Dla tych, którzy nie znają tej funkcjonalności, warto wiedzieć, że daje systemowi Linux kontrolę nad środowiskiem hostat, który obejmuje zarządzanie hiperwizorem, zarządzanie zasobami, uruchamianie systemu gościa i komunikację między maszynami wirtualnymi a sprzętem fizycznym.

Wcześniej organizacja hiperwizor w jądrach Linux i Windows różnił się, więc Implementacja Hyper-V dla systemu Linux wykorzystuje inne podejście aby skonfigurować podsystemy i zarządzać hiperpołączeniami. Dlatego Przepisano kod mapowania przerwań za pomocą IOMMU stosując podobną logikę, jak ta zastosowana przy obsłudze Xen w systemie Linux. Zarówno Xen, jak i Hyper-V korzystają z architektury bazującej na uprzywilejowanym środowisku root (Dom0) do administrowania systemem.

Linux już ma Zgodność z Hyper-V Dom0

Hiperwizor Zarządzanie Hyper-V w systemie Linux odbywa się teraz za pośrednictwem urządzenia /dev/mshv, co optymalizuje jego integrację z systemem. Ponadto wprowadzone poprawki umożliwiają wyłączanie rdzeni procesora podczas pracy (CPU offline), co pozwala na większą elastyczność w zarządzaniu zasobami systemowymi.

El Obsługa hosta Linux dla Hyper-V została po raz pierwszy wprowadzona w 2020 roku., choć do tej pory było ono dostępne wyłącznie za pośrednictwem określonych poprawek, gdyż Microsoft używał go w swojej dystrybucji Azure Linux oraz w swojej infrastrukturze chmurowej. Jednak jego uwzględnienie w głównym jądrze Linux pozwala każdemu projektowi innej firmy na skorzystanie z tej możliwości bez konieczności dodatkowych modyfikacji.

Główny powód za tą decyzją stoi rosnąca dominacja Linuksa w środowiskach wirtualizacji Microsoftu. Od 2018 roku liczba gościnnych systemów Linux na platformie Azure przewyższyła liczbę systemów Windows, co skłoniło firmę do zoptymalizowania swojej infrastruktury pod kątem tego trendu.

Ulepszenia podsystemu sieciowego

Kolejną ze zmian, która się wyróżnia W kolejnej wersji systemu Linux, 6.15, wprowadzono optymalizacje mające na celu poprawę wydajności sieci w systemach Linux. Ulepszenia te obejmują:

  • Ulepszenia w MPTCP: Wydajność protokołu Multipath TCP (MPTCP) została zoptymalizowana o 29% w scenariuszach pojedynczego podprzepływu.
  • Optymalizacja ruchu TCP: Włączenie funkcji GRO (Generic Receive Offload) w przypadku pakietów przekierowywanych przez XDP (eXpress Data Path) może podwoić przepustowość strumienia TCP.
  • Przyspieszenie połączenia TCP: Wydajność funkcji Connect() w sytuacjach wysokiej współbieżności została zwiększona o 200% dzięki zastąpieniu blokad spinowych wyszukiwaniem w strukturze RCU składającej się z 4 krotek. Po dostosowaniu rozkładu skrótu poprawa sięga 229%.
  • Optymalizacja ruchu UDP: Podczas ataków UDP flood wydajność odbioru wzrasta nawet o 10% dzięki zmniejszeniu liczby niepotrzebnych dostępów do znaczników czasu gniazd.

Ponadto wprowadzono nowe funkcje i udoskonalono zgodność, takie jak:

  • Śledzenie znaczników czasu TCP: Dodano możliwość zbierania znaczników czasu w BPF, aby monitorować dane wysyłane, rejestrowane i potwierdzane w połączeniach TCP, co umożliwia bardziej efektywne śledzenie przy mniejszym wpływie na wydajność.
  • Obsługa protokołu MCTP przez USB: Dodano sterownik transportu dla protokołu MCTP (Management Component Transport Protocol) do połączeń USB.
  • Dostęp do modułów SFP: Dostęp do modułów SFP (Small Form-factor Pluggable) jest teraz możliwy za pośrednictwem SMBus (System Management Bus).
  • Broadcom BNXT: Teraz obsługuje interfejs Intel Killer E5000 Ethernet.
  • Wsparcie dla Airoha RISC-V NPU: Dodano obsługę procesora pakietów (NPU) Airoha opartego na architekturze RISC-V.
  • Chipsety bezprzewodowe Realtek: Modele RTL8814AE i RTL8814AU zostały dodane do kontrolera RTW88.
  • Intel IWLWIFI: W sterowniku IWLWIFI wprowadzono nowy podsterownik iwlmld, który rozszerza obsługę różnych kombinacji sprzętu i oprogramowania sprzętowego.
  • Obsługa MLO na Mediatek MT76: Sterownik MT76 firmy Mediatek przygotowuje obsługę MLO, szczególnie dla chipsetu MT7996.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.