Uživatelské nástroje

Nástroje pro tento web


virtio

Virtio

Virtio je standard pro tzv. paravirtualizované (paravirtualized) I/O ovladače. Jedná se o abstrakční vrstvu, která umožňuje virtuálním strojům (VM) komunikovat s hypervisorem efektivněji než prostřednictvím emulace reálného hardwaru.

V ekosystému Linuxu se Virtio stalo standardem pro virtualizaci v prostředí KVM a QEMU.

Proč Virtio vzniklo? (Emulace vs. Paravirtualizace)

Při klasické emulaci se hypervisor snaží napodobit existující fyzické zařízení (např. starou síťovou kartu Realtek).

  • Problém: Operační systém hosta si myslí, že komunikuje s reálným hardwarem, což vyžaduje složité a pomalé překlady instrukcí v hypervisoru.
  • Řešení: Paravirtualizace (Virtio) přiznává virtuálnímu stroji, že běží ve virtualizovaném prostředí. Host a hypervisor pak používají sdílenou paměť k extrémně rychlému přenosu dat.

Jak Virtio funguje?

Virtio využívá mechanismus zvaný virtqueue (virtuální fronty). Funguje to následovně:

1. Operační systém hosta zapíše data do sdíleného bufferu (fronty) v paměti RAM.
2. Hypervisor (hostitel) si tato data přímo převezme a odešle je na fyzický hardware.
3. Tento proces eliminuje potřebu emulovat registry a přerušení (interrupts) reálného hardwaru.

Hlavní typy Virtio ovladačů

V konfiguraci virtuálních strojů se nejčastěji setkáte s těmito moduly:

Typ Název v systému Popis
Síť virtio-net Nejrychlejší síťové rozhraní pro VM. Snižuje režii procesoru při vysokém provozu.
Disk virtio-blk Blokové zařízení pro pevné disky. Podporuje pokročilé funkce jako ořezávání (TRIM).
SCSI virtio-scsi Pokročilejší diskové rozhraní umožňující připojení stovek disků k jedné VM.
Grafika virtio-gpu Umožňuje 2D a 3D akceleraci v rámci virtuálního stroje.
Paměť virtio-balloon Umožňuje hypervisoru dynamicky odebírat nebo přidávat RAM běžícímu virtuálnímu stroji.

Výhody Virtio

  • Vysoká propustnost: Blíží se rychlosti fyzického hardwaru (zejména u 10Gbps+ sítí).
  • Nižší zátěž CPU: Hypervisor nemusí plýtvat výkonem na simulaci starých čipů.
  • Standardizace: Jeden typ ovladače funguje pro různé hypervisory (KVM, VirtualBox, bhyve).

Podpora v operačních systémech

  • Linux: Podpora Virtio je součástí jádra již mnoho let. Většina distribucí detekuje Virtio automaticky.
  • Windows: Windows standardně Virtio ovladače neobsahuje. Pro jejich funkci je nutné během instalace (nebo po ní) nahrát tzv. virtio-win ovladače (často distribuované jako ISO obraz).

Praktické nasazení

Pokud spravujete virtuální servery (např. v Proxmoxu nebo přes virsh), vždy se doporučuje nastavit model síťové karty i diskového řadiče na Virtio, pokud to operační systém hosta podporuje. Výkonnostní rozdíl oproti emulaci (např. Intel E1000 nebo IDE) může být i několikanásobný.

Související termíny: KVM, QEMU, Hypervisor, Virtuální stroj, IaaS.

virtio.txt · Poslední úprava: autor: admin