Obsah
SPICE (Simple Protocol for Independent Computing Environments)
SPICE je komunikační protokol určený pro vzdálený přístup k virtuálním prostředím. Jeho hlavním úkolem je přenášet obraz, zvuk a vstupy (myš, klávesnice) mezi virtualizovaným hostem (běžícím na serveru) a klientským zařízením uživatele.
V rámci ekosystému KVM/QEMU představuje SPICE moderní a výkonnější alternativu k protokolu VNC.
Klíčové vlastnosti SPICE
SPICE byl od počátku vyvíjen s ohledem na potřeby virtualizace, což mu dává několik výhod:
- Grafická akcelerace: Podpora 2D a částečně 3D akcelerace. Protokol dokáže detekovat typ obsahu (např. video) a zvolit vhodnou kompresi.
- Dynamické rozlišení: Pokud uživatel změní velikost okna klienta, rozlišení uvnitř virtuálního stroje se automaticky přizpůsobí.
- Sdílení schránky (Clipboard): Umožňuje kopírovat text a soubory mezi hostitelským a virtuálním strojem (vyžaduje
spice-vdagent). - USB Redirection: Umožňuje „přesměrovat“ fyzické USB zařízení zapojené do vašeho notebooku přímo do virtuálního stroje běžícího na vzdáleném serveru.
- Více monitorů: Podpora pro práci na více obrazovkách současně.
- Přenos zvuku: Nízká latence při přenosu zvuku z hosta ke klientovi i opačně (mikrofon).
Architektura systému
Protokol SPICE se skládá ze tří hlavních částí:
1. SPICE Server
Běží uvnitř emulátoru QEMU. Stará se o autentizaci klientů a kódování grafických dat.
2. SPICE Client
Aplikace, kterou používá uživatel (např. Virt-Viewer nebo integrovaný prohlížeč ve Virt-Manageru). Klient existuje pro Linux, Windows i macOS.
3. Guest Agents (Ovladače v hostu)
Aby SPICE fungoval naplno, musí být uvnitř virtuálního stroje nainstalovány ovladače (v Linuxu balíček spice-vdagent, ve Windows balíček virtio-win). Tyto ovladače zajišťují hladký pohyb myši a synchronizaci rozlišení.
Srovnání: SPICE vs. VNC
| Vlastnost | VNC | SPICE |
|---|---|---|
| Zaměření | Obecné sdílení plochy | Specializované pro virtualizaci |
| Přenos zvuku | Standardně ne | Integrovaný (vysoká kvalita) |
| USB Redirect | Ne | Ano |
| Výkon | Nižší (přenáší bitmapy) | Vyšší (inteligentní komprese) |
| Kurzor myši | Často se „zpožďuje“ | Plynulý (hardware cursor) |
Použití v praxi
SPICE je výchozím protokolem v profesionálních virtualizačních nástrojích jako:
- Proxmox VE: Pro přístup ke konzoli VM přes prohlížeč.
- oVirt / Red Hat Virtualization: Klíčová součást pro VDI (Virtual Desktop Infrastructure).
- Virt-Manager: Automaticky doporučuje SPICE při vytváření nových VM.
Bezpečnost
Protokol SPICE podporuje šifrování celého přenosu pomocí TLS. To je nezbytné, pokud ke svým virtuálním strojům přistupujete přes veřejný internet, aby nemohlo dojít k odposlechu hesel nebo obsahu obrazovky.
— Související termíny: QEMU, KVM, Virt-Manager, Virtio, VNC.
