Úvod
Co je virtuální počítač (VM)?
Virtuální stroj (VM) je virtuální prostředí, které funguje jako virtuální počítačový systém s vlastním CPU, pamětí, síťovým rozhraním a úložištěm, vytvořeným na fyzickém hardwarovém systému (umístěném mimo nebo na místě). Software nazývaný hypervizor odděluje prostředky stroje od hardwaru a vhodně je zajišťuje, aby je mohl používat VM.
Jak virtuální počítače fungují?
Technologie virtualizace umožňuje sdílet systém s mnoha virtuálními prostředími. Hypervizor spravuje hardware a odděluje fyzické zdroje od virtuálních prostředí. Prostředky jsou podle potřeby rozděleny z fyzického prostředí na virtuální počítače.
Co je to KVM?
KVM neboli (kernel-based Virtual Machine) je úplné virtualizační řešení pro Linux. To je součástí linuxového jádra od 2.6.20 a je stabilní a rychlé pro většinu pracovních zátěží.
Začněme s našimi postupy:
Krok 1:Kontrola hardwarových virtualizačních rozšíření
U hostitelů s procesorem Intel ověřte, zda je k dispozici rozšíření virtualizace CPU [vmx].
U hostitelů založených na AMD ověřte, zda je k dispozici rozšíření virtualizace CPU [svm].
Také ověřte, že jsou v jádře načteny moduly KVM.
RHEL nebo Ubuntu
root@W10GCHF473:~# grep -c vmx /proc/cpuinfo
8
root@W10GCHF473:~#
root@W10GCHF473:~#
root@W10GCHF473:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Krok 2:Nainstalujte balíčky a nástroje KVM
Nainstalujeme qemu-kvm a qemu-img nejprve balíčky. Tyto balíčky poskytují KVM a správce obrazu disku na uživatelské úrovni.
Ubuntu:
root@W10GCHF473:~# apt install qemu-kvm libvirt-daemon-system libvirt-clients
RHEL:
[root@rhelab~]# yum install qemu-kvm qemu-img
nainstalujeme také nejdůležitější nástroje pro správu virtuálních počítačů:
- virt-manager poskytuje nástroj GUI pro správu vašich virtuálních strojů.
- libvirt-client poskytuje nástroj CL pro správu vašeho virtuálního prostředí, tento nástroj se nazývá virsh.
- virt-install poskytuje příkaz „virt-install“ k vytvoření vašich virtuálních strojů z CLI.
- libvirt poskytuje knihovny na straně serveru a hostitele pro interakci s hypervizory a hostitelskými systémy.
RHEL:
[root@rhelab ~]# yum install virt-manager libvirt libvirt-python libvirt-client
Krok 3:Povolte a spusťte službu virtualizace (libvirtd)
RHEL/Ubuntu
[root@rhelab ~]#systemctl enable libvirtd
[root@rhelab ~]#systemctl restart libvirtd
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
Active: active (running) since Mon 2021-04-26 15:48:46 EET; 14s ago
Main PID: 15401 (libvirtd)
Krok 4: Začněte budovat svůj virtuální počítač
Část 1:
Stroj si můžete sestavit pomocí virt-manager .
Ačkoli virt-manager je nástroj založený na GUI, můžeme jej také spustit/spustit z terminálu i z GUI.
RHEL/UBUNTU
root@W10GCHF473:~# virt-manager
Můžete si vybrat nejlepší způsob instalace OS
- Obrázek ISO nebo disk CDROM
- Importovat existující obraz disku
- PXE, HTTP, NFS a FTP
Část 2:
Sestavte svůj virtuální počítač pomocí qemu
Qemu je velmi starý a velký projekt, který má různé uživatelské základny a kříží se s různými projekty. Qemu se používá v projektu Linux Kernel Virtualization s názvem KVM. Tento projekt tedy také poskytuje Qemu různé názvy příkazů, ale s více funkcemi.qemu_system_x86_64 je binární nebo příkaz pro Qemu, který se používá k vytváření 64bitových x86 virtuálních počítačů
root@W10GCHF473:~# qemu-system-x86_64 -bios Data/OVMF.fd -drive file=CentOS-7-x86_64-DVD-1708.iso,media=cdrom,readonly -net nic -net user -m 5172 -vga qxl --enable-kvm -smp 4
Každou volbu můžete znát pomocí volby -h s příkazem qemu-system-x86_64
root@W10GCHF473:~# qemu-system-x86_64 -h|more
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.14)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
usage: qemu-system-x86_64 [options] [disk_image]
'disk_image' is a raw hard disk image for IDE hard disk 0
Standard options:
-h or -help display this help and exit
-version display version information and exit
...
memory-encryption=@var{} memory encryption object to use (default=none)
-cpu cpu select CPU ('-cpu help' for list)
...
-m [size=]megs[,slots=n,maxmem=size]
configure guest RAM
size: initial amount of guest memory
slots: number of hotplug slots (default: none)
maxmem: maximum amount of guest memory (default: none)
...