This is an old revision of the document!


Základní řešení KVM virtualizace

KVM je virtualizační technologie v Linuxovém jádře, která dalším produktům (např. emulátoru hw počítače - typicky QEMU) zprostředkovává virtualizační technologii na CPU.

KVM je oblíbený hypervisor a je používaný ve velkém množství virtualizačních produktů (oVirt/RHEV, Proxmox, OpenStack,…). Pro naše použití nám bude stačit KVM s minimem nádstaveb nad ním. Pro interaktivní manipulaci s virtuály se spokojíme se produktem virt-manager, pro interakci z příkazové řádky postačí virsh.

Pro spokojený běh virtuálů je potřeba jim poskytnout nějaké zdroje. Zase to uděláme maximálně jednoduše - síť bude realizována probridgeováním rozhranní virtuálů s fyzickým rozhraním hostitelského serveru. Diskový prostor budeme alokovat z vyhrazené volume group (podporovaných úložišť je samozřejmě více).

Při instalaci serveru je potřeba pouze pamatovat na to, že pro samostatnou volume groupu je potřeba vytvořit (alespoň jednu) samostatnou physical volume, takže na potřeba na to pamatovat při rozdělování disku.

Ručně by to obnášelo zhruba tyto kroky:

  • Vytvoření oddílu na disku
  • Vytvoření physical volume
  • Vytvoření volume group na tomto physical volume

Uvnitř hosta to bude vypadat asi takto:

Popisovaná instalace je na distribuci CentOS7 nainstalované z minimal ISO, informace jsou ale imho dost obecné, takže na jiných distribucích to bude velmi podobné.

Vlastní instalace KVM (závislostí je celkem dost…).

yum install libvirt-daemon-kvm qemu-kvm qemu-kvm-tools

Zkontrolujeme, že se libvird bude spouštět po startu…

systemctl is-enabled libvirtd

…a spustíme ho.

service libvirtd start

Instalace managemt utilitky.

yum install virt-manager dejavu-lgc-sans-fonts xorg-x11-xauth

Pozor, jedná se o GUI nástroj a X-windows na serveru nebudeme zbytečně provozovat, takže její spouštění bude následně probíhat pomocí tunelování X-windows session přes SSH. Proto instalujeme i xauth (v minimal verzi se neinstaluje) a také nějaké fonty.

Zdá se, že od nějaké verze CentOS7 (7.3?) je v konfiguraci sshd defaultně tunelování X11 zakázáno. Povolíme…

nano /etc/ssh/sshd_config
...
X11Forwarding yes
...

…a otočíme sshd.

service sshd restart

Pokud polezete na server z Linuxu, doporučuji použít dobrodiní config souboru ssh. Do souboru ~/.ssh/config doplníme něco jako

Host wintermute
    #kvm server, labka
    HostName 1.2.3.4
    User root
    ForwardAgent yes
    IdentityFile ~/.ssh/id_rsa

pak stačí zadat ssh wintermute a je hotovo.

Pokud polezete z windows, je potřeba mít nainstalovaný X-windows server. TODO

Virt manager se spustí takto:

virt-manager

:-)

— TODO

## server [root@wintermute ~]# systemctl list-unit-files | grep virt [root@wintermute ~]# systemctl status libvirtd [root@wintermute ~]# systemctl restart libvirtd ## client pavouk@SemioTex ~> ssh muter # root and -X forwarding

  • virt-manager - gui
    • virsh ←- cli manager virtualek
  • service virtd
  • pridelit volume grypu
    • lvs
    • umount /vm # zbavil jsem se mount pointu /vm
    • lvremove /dev/cl_wintermute/vm # zbavil jsem se mount pointu /vm
    • vgs ## vylistuj lvm
    • pvresize
    • vytvorena volume group [/dev/vmdata]
  • storage: virt-manager na forwardnutejch xkach z serveru
    • create storage pool → vg_data : use logical: LVM Volume Group
    • create storage pool →
    • source: /dev/vmdata
    • a target path: empty
    • ## muzes si pripravit do rootu /vm_iso a namountovat jej, coz je pak zdrojak
  • network interfaces:
    • na serveru mtui
    • [v pripade ze jsem to posral: /etc/syconfig/network-scripts/ifconfig-en2: device=eno1, onboot=yes]
    • ve virt-manager
      • bridge → br1
      • on boot
      • active now = ne
      • eno1 briguju
    • ##na serveru nmtui-edit
    • service network restart [kdyz spadne virt-manager, rychle reboot, kdyz mozne kvuli logu]
    • create virtual network : naty ted nepotrebuju
    • install virtual machine:

nainstallu si na virtualku acpi-daemon

    start virtual server on host bootup [zafunguj po startu serveru]
    
  • project/kvm.1491316025.txt.gz
  • Last modified: 2017/04/04 16:27
  • by dron