This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
navody:vps:kvm [2016/07/18 23:19] – oprava úrovní nadpisů datamole | navody:vps:kvm [2016/10/03 23:24] – Přidána doporučení k image datamole | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Používání KVM a na vpsFree.cz | ====== Používání KVM a na vpsFree.cz | ||
- | Tato info stránka obsahuje | + | Tato info stránka obsahuje |
Nejprve je potřeba ve vpsAdminu, v detailu vaší VPS, zapnout následující vlastnosti: | Nejprve je potřeba ve vpsAdminu, v detailu vaší VPS, zapnout následující vlastnosti: | ||
Line 9: | Line 9: | ||
* KVM – povolí použití KVM (pro HW podporu virtualizace). | * KVM – povolí použití KVM (pro HW podporu virtualizace). | ||
+ | Na vpsFree není jiná možnost než mít disky pro KVM virtuály v souborech (images). Doporučujeme k tomu vytvořit nový (sub)dataset, | ||
+ | |||
+ | |||
+ | ===== KVM na Alpine Linuxu | ||
+ | |||
+ | Nainstalujte potřebné balíčky (ip6tables je volitelný): | ||
+ | |||
+ | <code shell> | ||
+ | apk update | ||
+ | apk add qemu-system-x86_64 qemu-openrc qemu-img bridge iptables ip6tables | ||
+ | </ | ||
+ | |||
+ | Nakonfigurujte bridge pro Qemu/KVM virtuály; vytvořte soubor /// | ||
+ | |||
+ | <code shell> | ||
+ | auto br0 | ||
+ | iface br0 inet static | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Jelikož OpenVZ poněkud neohrabaně přepisuje soubor /// | ||
+ | |||
+ | Povolte uživateli ve skupině //qemu// spravovat vytvořený bridge: | ||
+ | |||
+ | <code shell> | ||
+ | echo "allow br0" > / | ||
+ | chown root:qemu / | ||
+ | chmod 0640 / | ||
+ | </ | ||
+ | |||
+ | Nastavte IP maškarádu pro přístup Qemu/KVM virtuálů ven do veřejného Internetu. | ||
+ | |||
+ | Pokud už máte nakonfigurované iptables, tak jen přidejte pravidlo: | ||
+ | |||
+ | < | ||
+ | iptables -t nat -A POSTROUTING -s 172.17.1.0/ | ||
+ | </ | ||
+ | |||
+ | V opačném případě můžete postupovat např. podle odstavce [[# | ||
+ | |||
+ | |||
+ | ==== Vytvoření a spuštění virtuálu ==== | ||
+ | |||
+ | V tomto návodu předpokládám použití [[https:// | ||
+ | |||
+ | Vytvoření nového virtálu spočívá pouze v přípravě image disku, vytvoření symlinku pro init skript a úpravě jednoduchého konfiguračního skriptu. Nechť se nový virtuál jmenuje třeba „myvirt.“ | ||
+ | |||
+ | Připravte raw image pro myvirt o potřebné velikosti: | ||
+ | |||
+ | <code shell> | ||
+ | mkdir -p / | ||
+ | qemu-img create -f raw / | ||
+ | chown qemu:qemu / | ||
+ | chmod 0600 / | ||
+ | </ | ||
+ | |||
+ | Zkopírujte výchozí konfigurák / | ||
+ | |||
+ | <code shell> | ||
+ | cd /etc/conf.d | ||
+ | cp qemu qemu.jarvis | ||
+ | vi qemu.jarvis | ||
+ | </ | ||
+ | |||
+ | Zejména tedy přidejte připravený image: | ||
+ | |||
+ | <code shell> | ||
+ | disk1_file="/ | ||
+ | disk1_format=" | ||
+ | </ | ||
+ | |||
+ | A zřejmě také instalační CD některé distribuce, které jste si předem stáhli: | ||
+ | |||
+ | <code shell> | ||
+ | cdrom0_file="/ | ||
+ | </ | ||
+ | |||
+ | Vytvořte symlink pro init skript a spusťte myvirt: | ||
+ | |||
+ | <code shell> | ||
+ | cd /etc/init.d | ||
+ | ln -s qemu qemu.myvirt | ||
+ | |||
+ | rc-service qemu.myvirt start | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Nastavení iptables ==== | ||
+ | |||
+ | Pokud nepoužíváte žádný nástroj pro generování iptables pravidel (jako např. [[https:// | ||
+ | |||
+ | Stáhněte upravenou šablonu pravidel s přidanou maškarádou pro náš bridge do / | ||
+ | |||
+ | <code shell> | ||
+ | rmdir / | ||
+ | wget -O / | ||
+ | </ | ||
+ | |||
+ | Upravte konfigurák / | ||
+ | |||
+ | <code shell> | ||
+ | # / | ||
+ | |||
+ | IPTABLES_SAVE="/ | ||
+ | # | ||
+ | SAVE_ON_STOP=" | ||
+ | IPFORWARD=" | ||
+ | </ | ||
+ | |||
+ | …a / | ||
+ | |||
+ | <code shell> | ||
+ | # / | ||
+ | |||
+ | IP6TABLES_SAVE="/ | ||
+ | SAVE_RESTORE_OPTIONS=" | ||
+ | SAVE_ON_STOP=" | ||
+ | IPFORWARD=" | ||
+ | </ | ||
+ | |||
+ | Spusťte iptables a ip6tables a přidejte je do runlevel boot: | ||
+ | |||
+ | <code shell> | ||
+ | rc-service iptables start | ||
+ | rc-service ip6tables start | ||
+ | rc-update add iptables boot | ||
+ | rc-update add ip6tables boot | ||
+ | </ | ||
+ | |||
+ | ==== Kontakty ==== | ||
+ | |||
+ | * [[jakub@jirutka.cz|Jakub Jirůtka]] (na [[irc:// | ||
===== KVM na CentOS 7 ===== | ===== KVM na CentOS 7 ===== | ||
Line 54: | Line 189: | ||
Poté nainstalujeme libvirt knihovnu: | Poté nainstalujeme libvirt knihovnu: | ||
<code shell> | <code shell> | ||
- | install qemu-kvm libvirt-bin | + | apt-get |
apt-get install virt-manager | apt-get install virt-manager | ||
</ | </ |