Uživatelské nástroje

Nástroje pro tento web


navody:vps:kvm

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Poslední revizeObě strany příští revize
navody:vps:kvm [2016/11/11 19:20] – Přesun kontaktů na konec stránky datamolenavody:vps:kvm [2023/10/20 11:03] rene.la
Řádek 1: Řádek 1:
-====== Používání KVM na vpsFree.cz  ======+<page>manuals:vps:kvm</page> 
 +====== Používání KVM na vpsFree.cz  ====== 
 +VPS jsou [[informace:vpsadminos|linuxové kontejnery]], tzn. na nodu běží jeden kernel, který je sdílený 
 +mezi všemi VPS. Pokud z nějakého důvodu potřebuješ vlastní kernel, nebo chceš provozovat jiný operační 
 +systém, můžeš si ve VPS spouštět vlastní plnohodnotné virtuály pomocí QEMU/KVM.
  
-Tato info stránka obsahuje návody pro zprovoznění KVM na Alpine Linux 3.4+, CentOS 7 a Debian 8.+===== Konfigurace ===== 
 +Nejprve je potřeba ve vpsAdminu v detailu VPS zapnout následující vlastnosti:
  
-Nejprve je potřeba ve vpsAdminu, v detailu vaší VPS, zapnout následující vlastnosti: +  TUN/TAP - povolí vytváření virtuálních interface, které jsou pak bridgovány,
- +
-  Bridge – povolí vytvoření síťového bridge, do kterého následně připojíte KVM virtuály, +
-  * iptables – povolí použití iptables, které jsou potřeba pro nastavení IP maškarády,+
   * 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, **vypnout v něm kompresi** a nastavit velikost bloku (Record size) na 65536 B. Vypnutí komprese je velmi důležité, jinak vám bude image bobtnat a bobtnat, přes deklarovanou velikost image, dokud narazí na kvótu datasetu! Pro optimální výkon vytvářejte „raw“ image.+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, **vypnout v něm kompresi** a nastavit velikost bloku (Record size) na 65536 B. Vypnutí komprese je velmi důležité, jinak vám bude image bobtnat a bobtnat, přes deklarovanou velikost image, dokud nenarazí na kvótu datasetu! Pro optimální výkon vytvářejte „raw“ image.
  
 +===== libvirt =====
 +Virtuály můžeš spravovat pomocí [[https://libvirt.org|libvirt]] ve VPS
 +a připojit se k němu přes [[https://virt-manager.org|virt-manager]].
 +
 +===== Mount dataset export z NAS serveru pro QEMU/KVM =====
 +Pokud chceš používat v QEMU/KVM připojený dataset export z NAS serveru, například pro mount ISO obrazu CD pro boot systému a dostaneš toto hlášení "//Failed to lock byte 100: No locks available//", musí být daný export namountován do hostitelského systému s příznakem "nolock".
 +
 +Například pokud používáš pro mount do systému fstab:
 +
 +  //562.586.65.25:/nas/4562 /mnt/export4562 nfs vers=3,nofail 0 0//
 +
 +Nově použiješ mount příkaz takto:
 +
 +  //562.586.65.25:/nas/4562 /mnt/export4562 nfs vers=3,nofail,nolock 0 0//
 +
 +(**//562.586.65.25//** > Adresa tvého NFS serveru; **//4562//** > číslo tvého datasetu na NFS serveru)
  
 ===== KVM na Alpine Linuxu  ===== ===== KVM na Alpine Linuxu  =====
 +
 +Připravu hypervizoru lze provést automatizovaně pomocí [[http://docs.ansible.com/ansible/latest/index.html|Ansible]].
 +
 +[[https://gist.github.com/HalisCz/192955c64c255ee15cc647f6efabd020|Na GitHubu]] jsou dle níže uvedeného návodu automatizovány zatím tyto sekce:
 +  * [[navody:vps:kvm#instalace_balicku_a_konfigurace_hypervizoru|Instalace balíčků a konfigurace hypervizoru]] - tag ''instalace''
 +  * [[navody:vps:kvm#nastaveni_iptables|Nastavení iptables]] - tag ''nastaveni-iptables''
 +
 +==== Instalace balíčků a konfigurace hypervizoru ====
  
 Nainstalujte potřebné balíčky (ip6tables je volitelný): Nainstalujte potřebné balíčky (ip6tables je volitelný):
Řádek 19: Řádek 45:
 apk update apk update
 apk add qemu-system-x86_64 qemu-openrc qemu-img bridge iptables ip6tables apk add qemu-system-x86_64 qemu-openrc qemu-img bridge iptables ip6tables
 +</code>
 +
 +Nastavte potřebná práva pro přístup ke KVM a TUN (do skupin //kvm// a //netdev// by měl patřit uživatel //qemu//, pod kterým bude běžet vytvořený virtuál):
 +
 +<code shell>
 +chown :kvm /dev/kvm
 +chmod g+rw /dev/kvm
 +chown :netdev /dev/net/tun
 +chmod g+rw /dev/net/tun
 </code> </code>
  
Řádek 63: Řádek 98:
 <code shell> <code shell>
 mkdir -p /var/lib/qemu/myvirt/ mkdir -p /var/lib/qemu/myvirt/
-qemu-img create -f raw /var/lib/qemu/myvirt/disk0.img 5G +qemu-img create -f raw /var/lib/qemu/myvirt/disk0.raw 5G 
-chown qemu:qemu /var/lib/qemu/myvirt/disk0.img +chown qemu:qemu /var/lib/qemu/myvirt/disk0.raw 
-chmod 0600 /var/lib/qemu/myvirt/disk0.img+chmod 0600 /var/lib/qemu/myvirt/disk0.raw
 </code> </code>
  
Řádek 72: Řádek 107:
 <code shell> <code shell>
 cd /etc/conf.d cd /etc/conf.d
-cp qemu qemu.jarvis +cp qemu qemu.myvirt 
-vi qemu.jarvis  # read comments and edit+vi qemu.myvirt  # read comments and edit
 </code> </code>
  
Řádek 98: Řádek 133:
 </code> </code>
  
 +<note important>
 +Pokud máte problémy s tím, že při větším provozu na síťové kartě spadne ve virtuálu sít, zkuste použít driver e1000 místo výchozího virtio-net-pci:
 +
 +<code shell>net0_device="e1000"</code>
 +
 +stabilitu je možno otestovat iperf-em, na testovanem stroji:
 +
 +<code shell>iperf -s</code>
 +
 +na hostiteli pak:
 +<code shell>
 +iperf -c 172.17.1.X -P 20
 +</code>
 +</note>
  
 ==== Nastavení iptables ==== ==== Nastavení iptables ====
Řádek 107: Řádek 156:
 <code shell> <code shell>
 rmdir /etc/iptables rmdir /etc/iptables
-wget -O /etc/iptables http://haste.fit.cvut.cz/raw/iwuqoso+wget -O /etc/iptables https://gist.githubusercontent.com/jirutka/3742890/raw/c9f6bdbfcf597578e562c92ea1e256a9ebcf3a2c/rules-both.iptables
 </code> </code>
  
Řádek 140: Řádek 189:
 rc-update add ip6tables boot rc-update add ip6tables boot
 </code> </code>
- 
- 
-===== KVM na CentOS 7  ===== 
- 
-<note warning> 
-Tento návod platí pouze pro CentOS 7.1. Na CentOS 7.2 aktuálně nefunguje interní síť mezi VPS a VM. Použijte buď CentOS 7.1 nebo Debian 8, než bude tento problém vyřešen. 
-</note> 
- 
-KVM používám prostřednictvím libvirt na aktualizovaném CentOS 7. 
- 
-Doporučuju CentOS 7 plně aktualizovat, nakonfigurovat a nainstalovat potřebný software. Z důvodu povolení iptables je potřeba nakonfigurovat nebo vypnout firewalld. 
- 
-<code shell> 
-yum group install virtualization-host-environment 
-yum install virt-manager xauth 
-systemctl enable libvirtd 
-systemctl disable firewalld 
-reboot 
-</code> 
- 
-==== Vytvoření virtuálu pomocí virt-manager na straně serveru ==== 
- 
-Motivace: Když pracujete na pomalém připojení (což O2 ADSL na vsi bezpochyby je), potřebujete minimalizovat datové toky přes váš pracovní počítač. Lokální virt-manager by stahoval minimálně kernel a initramdisk po relativně pomalém downloadu a typicky po ukrutně pomalém uploadu nahrával na hostitelský kontejner. 
- 
-<code shell> 
-ssh root@your-host-name -Y virt-manager 
-</code> 
- 
-Na vzdáleně spuštěné instanci lze zahájit instalaci, ale nefunguje mi zobrazení instalátoru pomocí výchozího spice. Protože mi přijde krajně nepraktické přepínat libvirt na VNC, takže doporučuju pro instalaci a další používání spustit virt-manager lokálně a přidat cestu k serveru. 
- 
- 
-===== KVM na Debian 8  ===== 
- 
-Tento návod je prováděn na Debianu 8. Měl by být plně funkční také na CentOS (s jinými příkazy viz. výše). Pokoušel jsem se KVM rozchodit i na Ubuntu 14.04, ale tam bohužel marně. 
- 
-Pokud používáte Windows, je potřeba nainstalovat a zapnout XMing (pokud budete chtít minimálně virtuál nainstalovat a nastavit skrz grafické rozhraní jako já). Poté zapneme putty (nezapomeňte si zapnout XMing a zaškrtnout „Enable X11 forwarding“) a můžeme kouzlit. 
- 
-Začneme klasikou: 
- 
-<code shell> 
-apt-get update 
-apt-get upgrade 
-</code> 
- 
-Poté nainstalujeme libvirt knihovnu: 
-<code shell> 
-apt-get install qemu-kvm libvirt-bin 
-apt-get install virt-manager 
-</code> 
-Celkově mají tyto dva balíčky asi 320 MB. Dále je potřeba si někam na disk stáhnout image distribuce, kterou chcete do virtuálu nainstalovat. Já jsem instaloval Ubuntu server 14.04. Vyberte si adresář, do kterého chcete image stáhnout, a pomocí ''wget'' stáhněte ISO image. 
-<code shell> 
-cd /home 
-wget http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-server-amd64.iso 
-</code> 
-Zapněte virt-managera. 
-<code shell> 
-virt-manager 
-</code> 
-Díky XMingu můžete teď na dálku z Windows nastavit a spustit instalaci virtuálního serveru uvnitř své VPS. Upozorňuji, že pod X11 nefunguje spice displej, takže pokud chcete grafické rozhraní při instalaci virtuálu, je potřeba to v nastavení přepnout na „Display VNC“ a restartnout virtuál. Pokud to uděláte a server restartnete, může ztratit informaci o tom, že byl připojen .iso image pro instalaci, takže musíte opět do nastavení do záložky „CD-ROM“ a tam v „Source-path“ nastavit znova .iso image pro instalaci. Poté již jen nainstalujte zvolený Linux. Nakonec už zbývá jen na vaší VPS udělat správný portforwarding, aby jste se k virtuálu skrz VPS dostali z venku. 
  
  
 ===== Kontakty ===== ===== Kontakty =====
  
-  * [[:uzivatele/pavlix]] (CentOS, Debian) +<maintainers> 
-  * [[:uzivatele/jirutka]] (Alpine Linux)+jirutka (Alpine Linux) 
 +</maintainers>
navody/vps/kvm.txt · Poslední úprava: 2023/10/20 11:03 autor: rene.la