Vyhledávání na webu

Řada RHCSA: Základy virtualizace a správy hostů s KVM – část 15


Když si ve slovníku vyhledáte slovo virtualizovat, zjistíte, že to znamená „vytvořit virtuální (spíše než skutečnou) verzi něčeho“. V oblasti výpočetní techniky termín virtualizace odkazuje na možnost spouštění více operačních systémů současně a izolovaných jeden od druhého na stejném fyzickém (hardwarovém) systému, známém ve virtualizačním schématu jako hostitel.

Pomocí monitoru virtuálního počítače (známého také jako hypervisor) jsou virtuálním počítačům (označovaným jako hosté) poskytovány virtuální zdroje (tj. CPU, RAM, úložiště, síť rozhraní, abychom jmenovali alespoň některé) ze základního hardwaru.

S ohledem na to je zřejmé, že jednou z hlavních výhod virtualizace je úspora nákladů (na vybavení a síťové infrastruktuře a z hlediska nákladů na údržbu) a podstatné snížení fyzického prostoru potřebného k umístění veškerého potřebného hardwaru.

Protože tento stručný návod nemůže pokrýt všechny metody virtualizace, doporučuji vám nahlédnout do dokumentace uvedené v souhrnu, kde najdete další podrobnosti k tomuto tématu.

Mějte prosím na paměti, že tento článek je zamýšlen jako výchozí bod pro naučení se základů virtualizace v RHEL 7 pomocí KVM (kernel-based Virtual Machine) s nástroji příkazového řádku, a nikoli in - hluboká diskuse na dané téma.

Ověření hardwarových požadavků a instalace balíčků

Aby bylo možné nastavit virtualizaci, musí ji váš CPU podporovat. Zda váš systém splňuje požadavky, můžete ověřit pomocí následujícího příkazu:


grep -E 'svm|vmx' /proc/cpuinfo

Na následujícím snímku obrazovky můžeme vidět, že současný systém (s mikroprocesorem AMD) podporuje virtualizaci, jak naznačuje svm. Pokud bychom měli procesor Intel, ve výsledcích výše uvedeného příkazu bychom místo toho viděli vmx.

Kromě toho budete muset mít povoleny možnosti virtualizace ve firmwaru vašeho hostitele (BIOS nebo UEFI).

Nyní nainstalujte potřebné balíčky:

  1. qemu-kvm je open source virtualizér, který poskytuje hardwarovou emulaci pro hypervizor KVM, zatímco qemu-img poskytuje nástroj příkazového řádku pro manipulaci s obrazy disků.
  2. libvirt obsahuje nástroje pro interakci s virtualizačními schopnostmi operačního systému.
  3. libvirt-python obsahuje modul, který umožňuje aplikacím napsaným v Pythonu používat rozhraní dodávané libvirtem.
  4. libguestfs-tools: různé nástroje příkazového řádku správce systému pro virtuální stroje.
  5. virt-install: další nástroje příkazového řádku pro správu virtuálních strojů.

yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

Po dokončení instalace nezapomeňte spustit a povolit službu libvirtd:


systemctl start libvirtd.service
systemctl enable libvirtd.service

Ve výchozím nastavení bude každý virtuální počítač schopen komunikovat pouze se zbytkem na stejném fyzickém serveru a se samotným hostitelem. Abychom hostům umožnili přístup k dalším strojům v naší LAN a také internetu, musíme v našem hostiteli nastavit mostové rozhraní (řekněme například br0) tím, že:

1. přidání následujícího řádku do naší hlavní konfigurace NIC (s největší pravděpodobností /etc/sysconfig/network-scripts/ifcfg-enp0s3):


BRIDGE=br0

2. vytvoření konfiguračního souboru pro br0 (/etc/sysconfig/network-scripts/ifcfg-br0) s tímto obsahem (všimněte si, že možná budete muset změnit IP adresu, adresu brány a informace DNS):


DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
ONBOOT=yes
DNS1=8.8.8.8
DNS2=8.8.4.4

3. konečně povolením předávání paketů tím, že v /etc/sysctl.conf,


net.ipv4.ip_forward = 1

a načtení změn do aktuální konfigurace jádra:


sysctl -p

Upozorňujeme, že možná budete muset sdělit firewallu, že tento druh provozu by měl být povolen. Nezapomeňte, že pokud k tomu potřebujete pomoc, můžete si přečíst článek na toto téma ve stejné sérii (část 11: Řízení síťového provozu pomocí FirewallD a Iptables).