Na této stránce
- Co je QEMU?
KVM je zkratka pro Virtuální stroj založený na jádře , jedná se o technologické řešení pro virtualizaci založené na modulu jádra Linuxu. KVM je softwarové řešení s otevřeným zdrojovým kódem běžící na stroji Linux x86 s podporou hardwarových virtualizačních rozšíření Intel VT nebo AMD-V . Modul jádra KVM byl dodáván do jádra Linuxu od verze 2.6.20 a byl portován do jiných operačních systémů, jako je FreeBSD a Illumos jako zaváděcí moduly jádra.
Technologie KVM změní linuxový stroj na virtualizaci hypervisoru, která se nazývá hostitelský stroj. Na hostitelském počítači budete moci vytvořit několik izolovaných systémů nazývaných virtuální stroje (VM). Každý virtuální stroj má svůj systém (může to být Linux, Windows nebo BSD), má také soukromý virtualizovaný hardware, jako je paměť, CPU, síťová karta, disk, grafika atd.
Co je QEMU?
QEMU nebo Rychlý emulátor je open-source systémový emulátor a virtualizér pro hardwarovou virtualizaci. Obecně se používá jako virtualizér s modulem jádra KVM ke spouštění virtuálních strojů. K dosažení skvělého výkonu pro hostující stroje/virtuální stroje bude využívat výhod hardwarových virtualizačních rozšíření, jako jsou Intel VT nebo AMD-V. Virtualizace QEMU/KVM se většinou používá jako hypervizor v datovém centru.
V této příručce se dozvíte, jak nastavit virtualizaci KVM/QEMU na počítači Manjaro/Archlinux. Také se naučíte, jak vytvořit první virtuální stroj pomocí GUI aplikace "virt-manager" - desktopové uživatelské rozhraní pro správu virtuálních strojů.
Předpoklady
- Manjaro/Archlinux s x86 nebo 64bitovou architekturou.
- CPU/procesor s podporou virtualizace (Intel VT nebo AMD-V).
- Uživatel bez oprávnění root s právy sudo root.
Kontrola architektury systému a podpory virtualizace CPU
Nejprve zkontrolujte architekturu stroje a hardwarovou podporu virtualizační akcelerace Intel VT pro CPU Intel a AMD-v pro CPU AMD.
1. Provedením následujícího příkazu zkontrolujte systémovou architekturu vašeho systému.
uname -m
Získáte následující výstup.
Linux machine1 5.4.134-1 #1 SMP PREEMPT Tue Jul 06 08:10:03 UTC 2021 x86_64 GNU/Linux
Jak je vidět, v současné době používáme systém Linux s "x86_64 “ nebo „64bitový " architektura a verze jádra "5.4 ".
."2. Dále zkontrolujte podporu virtualizace hardwaru spuštěním následujícího příkazu.
sudo lscpu | Virtualizace grep
U procesoru Intel uvidíte podobný výstup jako níže.
Virtualizace: VT-x
A pro procesory AMD je níže podobný výstup.
Virtualizace: AMD-V
3. Volitelně můžete na svém počítači povolit vnořenou virtualizaci pomocí následujícího příkazu.
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1
Poté spusťte následující příkaz k ověření vnořené virtualizace.
cat /sys/module/kvm_intel/parameters/nested
Pokud dostanete výstup jako "Y" nebo "1" , znamená to, že je povolena vnořená virtualizace. V opačném případě se zobrazí chybová zpráva "Žádný takový soubor nebo adresář" .
Instalace balíčků QEMU a Virt-Manager
1. Chcete-li nainstalovat balíčky qemu a virt-manager, spusťte níže uvedený příkaz.
sudo pacman -S qemu virt-manager libvirt virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables libguestfs
U systému manjaro dojde ke konfliktu balíčků mezi "iptables “ a „pohledové tabulky ". Zadejte "y." " k odstranění výchozího balíčku iptables a jeho nahrazení "ebtables “ a „nftables ".
."Níže jsou uvedeny základní balíčky, které musíte znát:
- qemu:emulátor a virtualizér počítače s otevřeným zdrojovým kódem.
- virt-manager; GUI aplikace pro správu virtuálních strojů.
- libvirt:API pro ovládání virtualizačních modulů, jako jsou KVM, QEMU atd.
- dnsmasq:Odlehčený DNS forwarder a DHCP server.
- bridge-utils:Nástroje pro konfiguraci ethernetového mostu Linuxu.
- libguestfs:Sada nástrojů pro úpravu obrazů disků virtuálních strojů (VM).
2. Dále spusťte a povolte službu libvirtd pomocí následujícího příkazu.
sudo systemctl enable --now libvirtd
Získáte podobný výstup jako níže.
Vytvořen symbolický odkaz /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service.
Vytvořen symbolický odkaz /etc/systemd/system/ sockets.target.wants/virtlockd.socket → /usr/lib/systemd/system/virtlockd.socket.
Vytvořen symbolický odkaz /etc/systemd/system/sockets.target.wants/virtlogd.socket → /usr/lib /systemd/system/virtlogd.socket.
Vytvořen symbolický odkaz /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket.
Vytvořeno symbolický odkaz /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.
3. Poté spusťte následující příkaz pro kontrolu stavu služby libvirtd.
sudo systemctl status libvirtd
A měli byste vidět podobný výstup jako níže. Jak je vidět, služba libvritd je aktivní a běží.
? libvirtd.service – Virtualizační démon
Načteno:načteno (/usr/lib/systemd/system/libvirtd.service; zakázáno; přednastaveno dodavatelem:zakázáno)
Aktivní:aktivní (běžící) od pá 2021-07- 23 10:33:25 UTC; před 6s
TriggeredBy:? libvirtd-ro.socket
? libvirtd.socket
? libvirtd-admin.socket
Dokumenty:man:libvirtd(8)
https://libvirt.org
Hlavní PID:16828 (libvirtd)
Úkoly:326 (limity:326 )
Paměť:16,4 M
CPU:226 ms
CGroup:/system.slice/libvirtd.service
??16828 /usr/bin/libvirtd -->Povolit uživatelům bez oprávnění root používat virtualizaci KVM/QEMU
Ve výchozím nastavení může virtuální stroje vytvářet a spravovat pouze uživatel „root“. Chcete-li umožnit uživatelům bez oprávnění root vytvářet a spravovat virtuální stroje, měli byste postupovat podle konfigurace libvirtd níže.
1. Provedením následujícího příkazu upravte konfiguraci libvirtd.
sudo nano /etc/libvirt/libvirtd.confOdkomentujte možnost „unix_sock_group “ a zadejte název skupiny jako „libvirt ".
."# Nastavení vlastnictví skupiny soketů domény UNIX. Toto lze použít k
# umožnění přístupu „důvěryhodné“ skupině uživatelů k možnostem správy
#, aniž by se stali rootem.
#
# Toto nastavení není vyžadováno ani respektováno při použití systemd socket
# aktivace.
#
# Toto je ve výchozím nastavení omezeno na 'root'.
unix_sock_group ="libvirt"Poté odkomentujte možnost „unix_sock_rw_perms “ a ponechte oprávnění jako výchozí „0770 ".
."# Nastavte oprávnění soketu UNIX pro soket R/W. Toto se používá
# pro úplnou správu virtuálních počítačů
#
# Toto nastavení není vyžadováno ani respektováno, pokud používáte systemd socket
# aktivaci.
#
# Výchozí povoluje pouze root. Pokud je na soketu povolen PolicyKit,
# výchozí nastavení se změní tak, aby umožňovalo všem (např. 0777)
#
# Pokud nepoužíváte PolicyKit a nastavujete pro přístup vlastnictví skupiny
# ovládání, pak možná budete chtít uvolnit i toto.
unix_sock_rw_perms ="0770"Uložte konfiguraci stisknutím Ctrl+x a zadejte y a poté zadejte .
2. Dále přidejte svého uživatele do skupiny „libvirt " pomocí následujícího příkazu.
sudo usermod -a -G uživatelské jméno libvirt3. Poté restartujte službu libvirtd a použijte novou konfiguraci.
sudo systemctl restart libvirtdNyní budou všichni uživatelé ve skupině "libvirt" moci vytvářet a konfigurovat virtuální stroje.
Ověřte instalaci QEMU/KVM pomocí virt-manager
Nyní otevřete aplikaci „virt-manager " z nabídky aplikace.
1. Klikněte na nabídku Upravit -> Podrobnosti připojení " v aplikaci virt-manager.
2. Na kartě „Přehled “ uvidíte, že virt-manager se automaticky připojí k „qemu:///system ".
."
3. Přejděte na karty „Virtuální sítě “ a zobrazí se „výchozí " konfigurace sítě.
- Rozhraní:virbr0
- Automatické spuštění při spuštění:ano
- IP adresa:192.168.122.0/24
- Rozsah IP adresy DHCP:192.168.122.2 – 192.168.122.254
- Typ sítě:NAT
4. Nyní přejděte na kartu „Úložiště “, a uvidíte „výchozí " konfigurace úložiště bazénu.
- Typ:Adresář systému souborů
- Velikost:Závisí na disku
- Umístění:/var/lib/libvirt/images
- Automatické spuštění při spuštění:ano
Všechny obrazy virtuálních strojů budou dostupné v tomto výchozím úložišti, adresáři "/var/lib/libvirt/images ".
."
5. Dále klikněte na tlačítko „+ " k vytvoření nového úložiště pro soubory obrazů ISO. V tomto fondu budou k dispozici všechny operační systémy souborů ISO.
Postupujte podle níže uvedené konfigurace úložiště:
- Název:ISO
- Typ:dir:Adresář systému souborů
- Cílová cesta:/cesta/adresář/k/vašemu/iso/
Klikněte na tlačítko Dokončit dokončete proces. Poté jste připraveni vytvořit nové virtuální stroje.
Vytvořit nový virtuální počítač pomocí virt-manager
1. V aplikaci virt-manager klikněte na tlačítko „+ " k vytvoření nového virtuálního počítače.
2. Vyberte „Místní instalační médium ", chcete-li pro instalaci použít obraz ISO, a klikněte na tlačítko "Vpřed pro pokračování.
3. Klikněte na tlačítko Procházet " pro výběr souboru ISO.
Nyní vyberte úložiště bazénu „ISO “ a vyberte soubor iso pro instalaci (pro tento příklad je „Debian 10 “), poté klikněte na „Vybrat hlasitost ".
."
Zrušte zaškrtnutí možnosti „Automaticky detekovat z instalačního média/zdroje “, zadejte operační systém, který chcete nainstalovat (pro tento příklad je „Debian 10 “), poté klikněte na „Přeposlat pro pokračování znovu stiskněte tlačítko “.
4. Zvolte, kolik paměti a CPU pro virtuální počítač, a poté klikněte na „Vpřed ".
."
5. Vyberte velikost disku pro virtuální počítač a klikněte na „Přeposlat ".
."
6. Znovu zkontrolujte konfiguraci a klikněte na „Dokončit " k instalaci.
7. Nyní je virtuální stroj v provozu s virtualizací QEMU/KVM a můžete pokračovat v instalaci operačního systému.
Závěr
Gratulujeme! naučili jste se, jak nastavit virtualizaci QEMU/KVM na stroji Manjaro/Archlinux. Také, jak používat aplikaci virt-manager pro vytváření virtuálních strojů. Nyní můžete vytvářet virtuální stroje s preferovaným operačním systémem. Můžete použít jinou distribuci Linuxu, operační systém Windows nebo rodinu BSD.