GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat Linux KVM a vytvořit hostovaný virtuální počítač s příklady

KVM znamená virtuální stroj založený na jádře.

Jak název napovídá, jedná se o technologii virtualizace založenou na jádře pro OS Linux na hardwaru, který podporuje virtualizaci.

Hostující operační systémy mohou být plně virtualizované nebo paravirtualizované.

Paravirtualizace umožňuje několika operačním systémům běžet na jedné sadě hardwaru efektivním využitím zdrojů, jako jsou procesory a paměť. Ve virtualizaci Para je operační systém upraven tak, aby pracoval s virtuálním strojem, což minimalizuje dobu potřebnou k provádění operací, které se jinak ve virtuálním prostředí spouštějí obtížně.

Toto je 1. článek z pokračující série článků o KVM.

1. Nástroje pro správu VM

Balíček KVM poskytuje qemu-kvm, nástroj specifický pro hypervizor pro správu virtuálních strojů.

Místo tohoto nástroje můžete použít softwarový balíček známý jako libvirt, který je pohodlnější a doporučený způsob správy virtuálních strojů. Tento software obsahuje knihovnu API, démona (libvirtd) a nástroj příkazového řádku (virsh).

Tento nástroj libvirt můžete použít ke správě jakýchkoli existujících virtuálních strojů běžících na KVM, Xen, VMWARE ESX atd. Úplný seznam podporovaných hypervizorů je uveden na libvirt.

Existuje několik dalších dostupných nástrojů, které můžete použít ke správě hostovaného virtuálního počítače.

  • virt-manager (Virtual Machine Manager):Grafický nástroj pro správu pro hosty VM.
  • vm-install:Obslužný program řízený pomocí skriptu, který definuje hosta virtuálního počítače a nainstaluje jeho operační systém.
  • virt-viewer:Klient prohlížeče X pro hosty VM, který podporuje šifrování TLS/SSL pro ověřování certifikátem x509 a ověřování SASL.

2. Zkontrolujte podporu virtualizace na vašem hardwaru

Chcete-li zkontrolovat, zda váš procesor podporuje virtualizaci hardwaru, proveďte následující příkaz.

# egrep '(vmx|svm)' /proc/cpuinfo

Pokud ve výstupu v sekci flags vidíte vmx nebo svm, pak váš hardware (CPU) podporuje virtualizaci.

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm 
constant_tsc archrfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni 
dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 
popcnt lahf_lm tpr_shadow vnmi flexprioritpt vpid
.

3. Nainstalujte balíčky KVM

Nainstalujte balíčky KVM pomocí nástroje pro správu balíčků specifického pro vaše distro (například yum na RedHat a CentOS).

# yum install kvm

Jakmile nainstalujete hlavní balíček kvm, nainstalujte následující balíčky související s KVM, které vám pomohou spravovat virtuální počítače ve vašem systému.

# yum install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools

Níže jsou uvedeny balíčky související s KVM, které jsou nainstalovány na mém počítači. Číslo verze ve vašem systému se může mírně lišit.

# rpm -qa | egrep "virt|kvm|qemu"
python-virtinst-0.600.0-18.el6.noarch
qemu-img-0.12.1.2-2.415.el6.x86_64
libvirt-0.10.2-29.el6.x86_64
virt-viewer-0.5.6-8.el6.x86_64
qemu-kvm-0.12.1.2-2.415.el6.x86_64
libvirt-python-0.10.2-29.el6.x86_64
virt-manager-0.9.0-19.el6.x86_64
virt-top-1.0.4-3.15.el6.x86_64
libvirt-client-0.10.2-29.el6.x86_64
gpxe-roms-qemu-0.9.7-6.10.el6.noarch
virt-what-1.11-1.2.el6.x86_64

Po instalaci balíčků se doporučuje restartovat počítač, aby se načetly všechny moduly KVM a libvirt, i když je můžete znovu načíst pomocí příkazu modprobe.

Hostující OS můžete nainstalovat pomocí správce strojů Virtul, který vm-install (pro SUSE Linux) a virt-install (pro RedHat).

Když je vaše zobrazení nastaveno (pomocí překračování, reflexeX nebo některých jiných správců zobrazení), poskytuje grafické rozhraní pro vytvoření průvodce virtuálním strojem, který vás provede procesem instalace. Pokud není nastaveno zobrazení, tj. při připojení počítače pomocí ssh bez přesměrování X11, vm-install nabízí průvodce příkazovým řádkem pro interaktivní nastavení hosta virtuálního počítače pro instalaci.

4. Network Pre-req to Create Guest VM

Ve výchozím nastavení budou mít virtuální počítače síťový přístup pouze k jiným virtuálním počítačům na stejném serveru (a k samotnému hostiteli). Pokud chcete, aby virtuální počítače měly přístup k vaší VLAN, musíte na hostiteli vytvořit síťový most, jak je vysvětleno zde.

Upravte /etc/sysconfig/network-scripts/ifcfg-eth0 a přidejte řádek „BRIDGE=br0“ (nezapomeňte odstranit všechny statické IP adresy).

Vytvořte soubor /etc/sysconfig/network-scripts/ifcfg-br0 a přidejte položky, jak je uvedeno níže. Můžete použít statické nebo dhcp. V tomto případě jsem použil statickou IP.

DEVICE="br0"
BOOTPROTO="static"
IPADDR="xxx.xxx.xxx.xxx"
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Bridge"
NM_CONTROLLED="no"

Pokud používáte firewall (jako iptables), vytvořte pravidlo, které povolí přemosťovaný provoz.

5. Další předběžné požadavky na vytvoření hostovaného virtuálního počítače

Výchozí umístění pro soubory obrazu virtuálního počítače je /var/lib/libvirt/images. Ujistěte se, že je v tomto adresáři dostatek místa. Pokud ne, můžete při vytváření virtuálního počítače nasměrovat soubor obrázku do jiného adresáře.

Povolte předávání IP v /etc/sysctl.conf přidáním následujícího řádku:

inet.ipv3.ip_forward=1

Během testovací fáze, pokud máte spuštěný SELinux, jej deaktivujte nastavením SELinuxu do permisivního režimu.

Po provedení výše uvedených změn restartujte systém.

6. Vytvoření nového hostovaného virtuálního počítače pomocí virt-install

nástroj virt-install se používá k vytvoření virtuálního počítače. Tento nástroj lze použít v interaktivním i neinteraktivním režimu.

V následujícím příkladu jsem předal všechny požadované hodnoty k vytvoření virtuálního počítače jako parametry příkazového řádku příkazu virt-install.

# virt-install \
 -n myRHELVM1 \
 --description "Test VM with RHEL 6" \
 --os-type=Linux \
 --os-variant=rhel6 \
 --ram=2048 \
 --vcpus=2 \
 --disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 \
 --graphics none \
 --cdrom /var/rhel-server-6.5-x86_64-dvd.iso \
 --network bridge:br0

Ve výše uvedeném příkazu virt-install:

  • n Název vašeho virtuálního počítače
  • popis Nějaký platný popis vašeho virtuálního počítače. Například:Aplikační server, databázový server, webový server atd.
  • typ os Typ OS může být Linux, Solaris, Unix nebo Windows.
  • os-varianta Typ distribuce pro výše uvedený typ os. Například pro linux to může být rhel6, centos6, ubuntu14, suse11, fedora6 atd. Pro windows to může být win2k, win2k8, win8, win7
  • ram Paměť pro virtuální počítač v MB
  • vcpu Celkový počet virtuálních procesorů pro virtuální počítač.
  • cesta k disku =/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 Cesta, kde jsou uloženy soubory obrazu virtuálního počítače. Velikost v GB. V tomto příkladu má tento soubor obrazu virtuálního počítače 10 GB.
  • žádná grafika Toto instruuje virt-install k použití textové konzoly na sériovém portu VM namísto grafického okna VNC. Pokud máte nastavený xmanager, můžete tento parametr ignorovat.
  • cdrom Označuje umístění instalačního obrazu. Můžete zadat umístění instalace NFS nebo http (instaed z –cdrom). Například –location=http://.com/pub/rhel6/x86_64/
  • síťový most:br0 Tento příklad používá přemostěný adaptér br0. Je také možné vytvořit vlastní síť na libovolném konkrétním portu namísto přemostěného adaptéru. Pokud chcete použít NAT, použijte něco jako níže pro parametr sítě s názvem virtuální sítě známým jako VMnetwork1. Všechny konfigurační soubory sítě jsou umístěny v /etc/libvirt/qemu/networks/ pro virtuální počítače. Například:–network network=VMnetwork1

7. Seznam virtuálních počítačů

Můžete upravit nabídku grub pomocí „console=tty0 console=ttyS0,115200“ a zobrazit konzolu pro vaši obrazovku během procesu instalace v okně SSH. To vám umožní nainstalovat OS pomocí řízené instalace. Jinak můžete pro zobrazení použít X server.

Následující příkaz zobrazí všechny virtuální počítače, které jsou nainstalovány ve vašem OS. V tomto příkladu máme v tomto systému nainstalované dva virtuální počítače.

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     dev-dev-vm                     running
 2     myRHELVM1                      running

8. Upravit soubor konfigurace virtuálního počítače

Po vytvoření virtuálního počítače uvidíte konfigurační soubor virtuálního počítače v následujícím umístění. Název konfiguračního souboru bude název virtuálního počítače s příponou .xml.

# ls -l /etc/libvirt/qemu/myRHELVM1.xml
-rw-------. 1 root root 2109 Oct 15 12:30 /etc/libvirt/qemu/myRHELVM1.xml

Měli byste se vyhnout ručním úpravám tohoto souboru a místo toho použít příkaz virsh edit. Chcete-li upravit doménu (virtuální počítač), proveďte následující:

virsh edit myRHELVM1

9. Připojte se ke konzole VM

Chcete-li se připojit ke konzole virtuálního počítače, použijte následující příkaz. K ukončení konzole virtuálního počítače můžete použít „ctrl + ]“.

virsh console myRHELVM1

Pokud na svém hostiteli nemáte spuštěný X server, připojení k sériové konzole VM může být jediným způsobem, jak se přihlásit k VM, pokud není k dispozici síť.

Nastavení přístupu ke konzole virtuálního počítače se neliší od nastavení fyzického serveru, kde do virtuálního počítače jednoduše přidáte správné parametry spouštění jádra.

Například pro virtuální počítač RHEL (nebo virtuální počítač CentOS) přidejte následující parametry k zaváděcímu řádku jádra v souboru /etc/grub.conf a poté restartujte virtuální počítač.

console=tty0 console=ttyS0,115200

Případně můžete také přidat následující položky do souboru /etc/grub.conf.

serial --unit=0 --speed=115200
terminal --timeout=5 serial console

10. Zobrazit informace o virtuálním počítači

Chcete-li zobrazit informace o virtuálním počítači, použijte následující příkaz:

# virsh dominfo myRHELVM1
Id:             5
Name:           myRHELVM1
UUID:           58083ae7-51db-50c3-64d8-bc4c49f642d0
OS Type:        Linux
State:          running
CPU(s):         2
CPU time:       207.6s
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: system_u:system_r:svirt_t:s0:c698,c788 (permissive)

11. Zobrazit využití CPU a paměti virtuálního počítače

Chcete-li zobrazit využití CPU a paměti virtuálního stroje, použijte příkaz virt-top, jak je uvedeno níže.

# virt-top
virt-top 07:14:44 - x86_64 8/8CPU 1600MHz 32094MB
3 domains, 2 active, 2 running, 0 sleeping, 0 paused, 1 inactive D:0 O:0 X:0
CPU: 0.1%  Mem: 4096 MB (4096 MB by guests)
   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME
    5 R    0    0 1546    0  0.0  6.0   3:29.55 dev-dev-vm
    8 R    0    0 1546    0  0.0  6.0   1:42.17 myRHELVM2
    -

12. Vypnutí, restartování nebo spuštění virtuálního počítače pomocí virsh

Chcete-li virtuální počítač vypnout, proveďte následující:

# virsh shutdown myRHELVM1
Domain myRHELVM1 is being shutdown

Chcete-li restartovat virtuální počítač, proveďte následující:

# virsh reboot myRHELVM1

Chcete-li spustit nebo zapnout virtuální počítač, proveďte následující. Jakmile je virtuální počítač spuštěn, spusťte „virsh list –all“ pro zobrazení všech běžících virtuálních počítačů.

# virsh start myRHELVM1
Domain myRHELVM1 started

V dalším článku série KVM pokryjeme další podrobnosti o tom, jak upravovat a manipulovat s konfiguracemi na jednotlivých virtuálních počítačích.


Linux
  1. Jak používat příkazy „cat“ a „tac“ s příklady v Linuxu

  2. Jak nainstalovat a otestovat Ansible na Linuxu

  3. Flatpak na Linuxu:Co to je a jak s ním instalovat aplikace

  1. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  2. Jak používat Pipes a Named Pipes v Linuxu (s příklady)

  3. Jak nainstalovat a používat Flatpak v Linuxu

  1. Jak nainstalovat Elasticsearch a Kibana na Linux

  2. Jak nainstalovat a používat obrazovku Linux s příkazy

  3. Jak nainstalovat CVS a vytvořit úložiště CVS na serveru Linux