
Wirtualizacja w Enterprise Linux 9 – co nowego?

Enterprise Linux 9 jako nowe wydanie systemu wprowadza szereg zmian w wirtualizacji i w powiązanych z nią narzędziach. Wiele komponentów zostało zastąpionych nowocześniejszymi odpowiednikami, które zwiększają wydajność oraz wprowadzają nowe funkcje. Dzisiaj przyjrzymy się bliżej tym zmianom.
Wirtualizacja umożliwia nowoczesne i efektywniejsze wykorzystanie istniejących zasobów sprzętowych. Generuje duże oszczędności w zastosowaniach serwerowych, pozwala na budowanie elastycznego środowiska produkcyjnego i testowego oraz przygotowuje do transferu danych do chmury.
Enterprise Linux 9 (Rocky Linux, Almalinux, RHEL) wprowadza szereg zmian w wirtualizacji i w powiązanych z nią narzędziach. Wiele komponentów zostało zastąpionych nowocześniejszymi odpowiednikami, które zwiększają wydajność oraz wprowadzają nowe funkcje. Dzisiaj przyjrzymy się bliżej tym zmianom. Na temat wirtualizacji można przeczytać także w naszym artykule o KVM, QEMU, libvirt i virt-managerze.
Główne zmiany
libvirt
W Enterprise Linux 9 libvirt wykorzystuje modularne demony, co pozwala na dokładniejszy tuning m.in. monitoringu czy optymalizacji zasobów. Monolityczny demon libvirtd nie jest już wspierany. Zalecamy przełączenie konfiguracji na modularne demony. W tym celu należy wywołać następujące komendy jako root:
systemctl stop libvirtd.service
systemctl stop libvirtd{,-ro,-admin,-tcp,-tls}.socket
systemctl disable libvirtd.service
systemctl disable libvirtd{,-ro,-admin,-tcp,-tls}.socket
for drv in qemu interface network nodedev nwfilter secret storage do systemctl unmask virt${drv}d.service systemctl unmask virt${drv}d{,-ro,-admin}.socket systemctl enable virt${drv}d.service systemctl enable virt${drv}d{,-ro,-admin}.socket done
for drv in qemu network nodedev nwfilter secret storage do systemctl start virt${drv}d{,-ro,-admin}.socket done
Grafika
Protokół wyświetlania zdalnego SPICE nie jest wspierany w Enterprise Linux 9. Chociaż jest on dostępny z poziomu wyboru w virt-managerze, próba zaaplikowania go zakończy się wyjątkiem o treści:
Error changing VM configuration: unsupported configuration: spice graphics are not supported with this QEMU
Zalecamy wykorzystanie alternatywnych protokołów wyświetlania jak VNC, RDP, HP ZCentral Remote Boost czy Mechdyne TGX.
Na Enterprise Linux 9 maszyny wirtualne z systemami z interfejsem graficznym powinny korzystać z wirtualnych kart graficznych virtio-vga
i virtio-gpu
.
GNOME Boxes
Oprogramowanie GNOME Boxes zostało w Enterprise Linux 9 usunięte. Korzystało ono bowiem z protokołu graficznego SPICE, o którym pisaliśmy wyżej. GNOME Boxes można jednak zainstalować z repozytorium Flathub. Wersja ta nadal wykorzystuje protokół SPICE. Warto mieć na uwadze, że jest to nieoficjalna, niewspierana przez Enterprise Linux 9 metoda.
virt-manager
Graficzny interfejs zarządzania maszynami wirtualnymi virt-manager mimo występowania w repozytoriach Enterprise Linux 9 nie jest już oficjalnie wspierany w najnowszej wersji systemu. Do zarządzania wirtualizacją z poziomu graficznego interfejsu użytkownika zalecamy używanie konsoli webowej Cockpit. Warto pamiętać, że niektóre funkcje dostępne w virt-managerze mogą jeszcze nie być dostępne w Cockpicie.
Ze względu na wysokie zainteresowanie i przyzwyczajenia użytkowników virt-manager prawdopodobnie będzie również dostępny w niewspieranym, nieoficjalnym repozytorium EPEL po wyodrębnieniu z repozytoriów Enterprise Linux 9. Aby dodać to repozytorium, należy wykonać:
sudo dnf install -y epel-release
Migawki
Tworzenie migawek jest wspierane tylko dla maszyn działających w trybie legacy BIOS, a nie UEFI. Obecny mechanizm nie jest jednak oficjalnie wspierany do zastosowań produkcyjnych. W przyszłych wersjach minor Enterprise Linux 9 pojawi się nowa implementacja mechanizmu migawek.
Format wirtualnych dysków
Enterprise Linux 9 nie wspiera dysków w formacie qcow2-v2. Zalecamy używanie dysków w formacie qcow2-v3. Aby skonwertować dysk z formatu qcow-v2, należy skorzystać z polecenia qemu-img amend
.
Cockpit – przykład użycia
W tym części przedstawimy, jak zarządzać maszynami wirtualnymi z poziomu graficznej konsoli webowej Cockpit. Stworzymy w tym celu prostą maszynę wirtualną z systemem EuroLinux 8.
W pierwszej kolejności należy zainstalować wtyczkę machines dla Cockpit:
$ sudo dnf install cockpit-machines
oraz włączyć Cockpit:
$ sudo systemctl enable cockpit --now
Następnie należy otworzyć przeglądarkę, udać się pod adres http://127.0.0.1:9090
i zalogować się za pomocą loginu i hasła używanego w danym systemie.
Po przejściu do panelu Virtual Machines klikamy przycisk Create VM.
Wypełniamy formularz odpowiednimi danymi. Jako że EuroLinux jest binarnie zgodny z RHEL®, w zakładce Operating system wybieramy Red Hat® Enterprise Linux®. Maszyna wirtualna zostanie utworzona po kliknięciu przycisku Create.
Jak widać, maszyna została utworzona i mamy już dostęp do graficznej konsoli instalacyjnej systemu. Możemy więc zainstalować zwirtualizowany system EuroLinux 8.
Podsumowanie
Zmian w tematyce okołowirtualizacyjnej w Enterprise Linux 9 jest dosyć dużo w stosunku do technologii dostępnych w wydaniu nr 8. Zachęcamy do korzystania ze wspomnianych w artykule nowocześniejszych odpowiedników ówczesnych narzędzi i technologii przeglądarkowych.