libvirt

Knižnica libvirt sa používa ako rozhranie pre rôzne virtualizačné technológie. Pred tým, ako začneme používať libvirt, je dobré uistiť sa, či máme hardvérovú podporu potrebnú pre KVM. V príkazovom riadku zadáme nasledujúci príkaz:

kvm-ok

Zobrazí sa správa, ktorá hovorí, či náš procesor hardvérovo podporuje alebo nepodporuje virtualizáciu.

[Note]

Na väčšine počítačov, ktorých procesor podporuje virtualizáciu, je nevyhnutné aktivovať túto podporu v systéme BIOS. Metóda použitá vyššie nezobrazí, či sa dá podpora aktivovať.

Virtuálna sieť

Existuje niekoľko spôsobov, ako umožniť virtuálnemu počítaču prístup k externej sieti. Predvolená konfigurácia virtuálnej siete je v tzv. používateľskom režime - usermode, ktorý používa protokol SLIRP a komunikáciu smeruje prekladom adries NAT cez sieťové rozhranie hosťovského systému do vonkajšej siete.

Ak chceme ostatným počítačom v sieti umožniť priamy prístup k službám virtuálnych počítačov, je potrebne nakonfigurovať premostenie - bridge. To umožní virtuálnemu sieťovému rozhraniu pripojiť sa k vonkajšej sieti priamo cez fyzické sieťové rozhranie, vďaka čomu bude virtuálny počítač pre ostatné počítače viditeľný ako bežná stanica. Viac informácií o nastavovaní premostenia sa nachádza v časti “Premostenie”.

Inštalácia

Ak chceme nainštalovať potrebné balíčky, v príkazovom riadku zadáme:

sudo apt-get install kvm libvirt-bin

Po nainštalovaní libvirt-bin, je potrebné pridať aspoň jedného používateľa do skupiny libvirtd. Používatelia v tejto skupine môžu spravovať virtuálne počítače. Títo používatelia budú mať tiež právo meniť pokročilé sieťové nastavenia.

V príkazovom riadku zadáme:

sudo adduser $USER libvirtd
[Note]

Ak bol zvolený aktuálny používateľ, pod ktorým ste práve prihlásený, je potrebné sa odhlásiť a znovu prihlásiť, aby sa zmena prejavila.

Teraz môžeme začať inštalovať hosťujúci operačný systém. Inštalácia systému na virtuálny počítač sa ničím nelíši od inštalácie na fyzický počítač. Buď treba nájsť spôsob, ako inštaláciu zautomatizovať alebo je potrebné pripojiť k fyzickému počítaču monitor a klávesnicu.

V prípade virtuálnych počítačov s grafickým rozhraním (GUI) je použitie klávesnice a myši rovnaké. Miesto inštalovania grafického systému však môžeme použiť aj aplikáciu virt-viewer, pomocou ktorej sa môžeme pripojiť na vzdialený virtuálny počítač cez VNC. Viac informácií sa nachádza v časti “Prehliadač virtuálnych počítačov”.

Existuje niekoľko spôsobov ako automatizovať inštaláciu Ubuntu, napríklad je možné použiť metódy preseeds, kickstart, atď. Viac informácií sa nachádza v inštalačnej príručke Ubuntu.

Iný spôsob, ako nainštalovať virtuálny počítač s Ubuntu, je použitie nástroja ubuntu-vm-builder. Nástroj ubuntu-vm-builder umožňuje použiť rozšírené možnosti pri nastavovaní oddielov disku, spustiť programy cez tzv. poinštalačný skript, atď. Viac informácií sa nachádza v časti JeOS a vmbuilder.

virt-install

Nástroj virt-install je časťou balíka python-virtinst. Ak ho chcete nainštalovať, zadajte nasledujúci príkaz:

sudo apt-get install python-virtinst

Spolu s príkazom virt-install je možné použiť aj niekoľko parametrov. Napríklad:

sudo virt-install -n web_vyvoj -r 256 -f web_vyvoj.img \
-s 4 -c jeos.iso --accelerate \
--connect=qemu:///system --vnc \
--noautoconsole -v
  • -n web_vyvoj: meno virtuálneho počítača v tomto príklade bude web_vyvoj .

  • -r 256: určuje veľkosť pamäte, ktorú bude virtuálny počítač používať.

  • -f web_vyvoj.img: určuje cestu k virtuálnemu disku, ktorý môže byť súbor, diskový oddiel alebo logický zväzok. V tomto príklade sme použili súbor s názvom web_vyvoj.img.

  • -s 4: určuje veľkosť virtuálneho disku.

  • -c jeos.iso: súbor, ktorý sa použije ako virtuálny CDROM. Súbor môže byť buď ISO súbor alebo cesta k pripojenému fyzickému CDROMu.

  • --accelerate: zapne v jadre technológiu na urýchlenie virtualizácie.

  • --vnc: exportuje virtuálnu konzolu pomocou VNC.

  • --noautoconsole: nepripojí sa automaticky ku konzole virtuálneho počítača.

  • -v: vytvorí plne virtualizovaný hosťovaný systém.

Po spustení virt-install sa môžete k virtuálnemu počítaču pripojiť buď lokálne pomocou grafického rozhrania alebo pomocou nástroja virt-viewer.

virt-clone

Aplikácia virt-clone sa používa na vytváranie kópie jedného virtuálneho počítača na druhý. Napríklad:

sudo virt-clone -o web_vyvoj -n databaz_vyvoj -f /cesta/k/databaz_vyvoj.img --connect=qemu:///system
  • -o: originálny virtuálny počítač

  • -n: meno nového virtuálneho počítača.

  • -f: cesta k súboru, logickému zväzku alebo diskovému oddielu, ktorý bude používať nový virtuálny počítač.

  • --connect: určuje, ku ktorému hypervízoru (virtualizátoru) sa má pripojiť.

Tiež môžete použiť -d alebo --debug ak chcete získať podrobný výpis pri riešení problémov s virt-clone.

[Note]

Mená web_vyvoj a databaz_vyvoj nahraďte menami svojich virtuálnych počítačov.

Správa virtuálnych počítačov

virsh

Existuje niekoľko nástrojov na správu virtuálnych počítačov a libvirt. Nástroj virsh sa dá používať z príkazového riadka. Niekoľko príkladov:

  • Vypísanie zoznamu spustených virtuálnych počítačov:

    virsh -c qemu:///system list
  • Spustenie virtuálneho počítača:

    virsh -c qemu:///system start web_vyvoj
  • Spustenie virtuálneho počítača pri zavádzaní systému

    virsh -c qemu:///system autostart web_vyvoj
  • Reštart virtuálneho počítača:

    virsh -c qemu:///system reboot web_vyvoj
  • Aktuálny stav virtuálneho počítača sa dá uložiť do súboru a neskôr sa dá obnoviť. Nasledujúci príkaz uloží stav virtuálneho počítača do súboru, ktorý má v mene aktuálny dátum:

    virsh -c qemu:///system save web_devel web_vyvoj-270208.state

    Po uložení virtuálny počítač zostane vypnutý.

  • Obnovenie uloženého stavu:

    virsh -c qemu:///system restore web_vyvoj-270208.state
  • Vypnutie virtuálneho počítača:

    virsh -c qemu:///system shutdown web_vyvoj
  • Pripojenie CDROMu do virtuálneho počítača:

    virsh -c qemu:///system attach-disk web_vyvoj /dev/cdrom /media/cdrom
[Note]

V predchádzajúcich príkladoch nahraďte web_vyvoj názvom vášho virtuálneho počítača a web_vyvoj-270208.state nahraďte popisnejším názvom súboru.

Správca virtuálnych počítačov

Balík virt-manager obsahuje grafický nástroj na správu lokálnych a vzdialených virtuálnych počítačov. Nástroj virt-manager nainštalujeme pomocou príkazu:

sudo apt-get install virt-manager

Kvôli tomu, že virt-manager vyžaduje grafické rozhranie (GUI), odporúčame ho nainštalovať na pracovnú stanicu a nie na server v ostrej prevádzke. Ak sa chceme pripojiť k lokálnej službe libvirt, zadáme:

virt-manager -c qemu:///system

Môžeme sa však pripojiť aj k službe libvirt, ktorá je spustená na inej stanici, zadaním nasledujúceho príkazu:

virt-manager -c qemu+ssh://virtnode1.nieco.sk/system
[Note]

V predchádzajúcom príklade predpokladáme, že sa medzi počítačmi dá nadviazať spojenie cez SSH, a že počítač virtnode1.mydomain.com už bol nakonfigurovaný a používa na autentifikáciu SSH kľúče. SSH kľúče sú nevyhnutné, pretože libvirt posiela výzvu na zadanie hesla do iného procesu. Viac informácii o konfigurovaní SSH sa nachádza v časti OpenSSH server.

Prehliadač virtuálnych počítačov

Aplikácia virt-viewer umožňuje pripojenie ku konzole virtuálneho počítača. Nástroj virt-viewer vyžaduje grafické rozhranie (GUI) aby sa vedel spojiť s virtuálnym počítačom.

Nástroj virt-viewer nainštalujeme zadaním:

sudo apt-get install virt-viewer

Ak je virtuálny počítač už nainštalovaný a spustený, môžeme sa ku nemu pripojiť zadaním nasledujúceho príkazu:

virt-viewer -c qemu:///system web_vyvoj

Podobne ako virt-manager, aj virt-viewer sa vie pripojiť k vzdialenej stanici pomocou SSH s autentifikáciou pomocou kľúčov:

virt-viewer -c qemu+ssh://virtnode1.nieco.sk/system web_vyvoj

Názov web_vývoj nahradíme názvom nášho virtuálneho počítača.

Ak sme nastavili premostenie sieťového rozhrania, môžeme nastaviť aj SSH prístup k virtuálnemu počítaču. Viac informácií sa dozvieme v častiach OpenSSH server a “Premostenie”.

Zdroje

  • Viac informácií sa dozviete na domovskej stránke KVM.

  • Viac informácií o libvirt sa dozviete na libvirt home page

  • Na stránke Virtual Machine Manager sa zasa nachádza viac informácií o vývoji nástroja virt-manager.

  • O virtualizačnej technológii v Ubuntu sa môžete dozvedieť viac aj v diskusnom kanále IRC #ubuntu-virt na freenode.

  • Ďalším dobrým zdrojom je stránka Ubuntu Wiki KVM.