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
navody:vps:kvm [2026/08/11 17:02] – Aktualizovat KVM, doplnit síť a vysvětlit správu článků v repozitáři aithernavody:vps:kvm [2026/08/13 06:49] (aktuální) – Doplnění KVM navigace a pravidel dokumentace vpsAdminu aither
Řádek 24: Řádek 24:
 {{:cs:screenshots:vpsadmin:vps-details:feature-settings.png?direct|Výchozí funkce VPS}} {{:cs:screenshots:vpsadmin:vps-details:feature-settings.png?direct|Výchozí funkce VPS}}
  
-Nainstalujte QEMU, libvirt a ''virt-install'' z Debianu:+Nainstaluj QEMU, libvirt a ''virt-install'' z Debianu:
  
 <code bash> <code bash>
Řádek 43: Řádek 43:
 </code> </code>
  
-Používejte systémové spojení ''qemu:///system''. Pro vzdálenou správu použijte +Používej systémové spojení ''qemu:///system''. Pro vzdálenou správu použij 
-libvirt přes SSH, například ''qemu+ssh://root@HOST/system'', a chraňte SSH +libvirt přes SSH, například ''qemu+ssh://root@HOST/system'', a chraň SSH 
-klíčem. Nezveřejňujte nešifrovaný libvirt TCP socket do internetu.+klíčem. Nezveřejňuj nešifrovaný libvirt TCP socket do internetu.
  
 ===== Diskové obrazy a ZFS ===== ===== Diskové obrazy a ZFS =====
  
 Pro obrazy disků doporučujeme samostatný [[navody:vps:datasety|subdataset]]. Pro obrazy disků doporučujeme samostatný [[navody:vps:datasety|subdataset]].
-V budoucnu tak můžete změnit jeho ZFS vlastnosti bez zásahu do kořenového +V budoucnu tak můžeš změnit jeho ZFS vlastnosti bez zásahu do kořenového 
-datasetu VPS. Před vytvořením virtuálních strojů zmenšete referenční kvótu +datasetu VPS. Doporučené úložiště připrav takto: 
-kořenového datasetu o prostor určený pro obrazyvytvořte subdataset + 
-''vm-images'' s uvolněnou kapacitou a připojte jej do VPS jako +  * <vpsadmin-nav id="datasets.edit.open">V detailu VPS u kořenového datasetu použij akci **Upravit** a zmenši jeho referenční kvótu o prostor určený pro obrazy.</vpsadmin-nav> 
-''/srv/libvirt/images''. Například z běžné kapacity 120 GiB můžete ponechat +  * <vpsadmin-nav id="datasets.create.open">Pomocí **Vytvořit dataset** vytvoř subdataset ''vm-images'' s uvolněnou kapacitou.</vpsadmin-nav> 
-20 GiB kořenovému datasetu a 100 GiB přidělit datasetu ''vm-images''. Prvnímu +  * <vpsadmin-nav id="datasets.mount.open">U datasetu ''vm-images'' použij **Mount** a připoj jej do VPS jako ''/srv/libvirt/images''.</vpsadmin-nav> 
-disku virtuálního stroje pak můžete přidělit například 80 GiB a ponechat 20 GiB + 
-volných pro jeho růst a snapshoty.+Například z běžné kapacity 120 GiB můžeš ponechat 20 GiB kořenovému datasetu 
 +a 100 GiB přidělit datasetu ''vm-images''. Prvnímu disku virtuálního stroje pak 
 +můžeš přidělit například 80 GiB a ponechat 20 GiB volných pro jeho růst a 
 +snapshoty.
  
 Subdataset se [[navody:vps:zalohy|snapshotuje]] odděleně od kořenového datasetu Subdataset se [[navody:vps:zalohy|snapshotuje]] odděleně od kořenového datasetu
Řádek 64: Řádek 67:
 {{:cs:screenshots:vpsadmin:vps-details:datasets.png?direct|Datasety VPS}} {{:cs:screenshots:vpsadmin:vps-details:datasets.png?direct|Datasety VPS}}
  
-Připojený adresář přidejte do libvirt jako trvalý storage pool:+Připojený adresář přidej do libvirt jako trvalý storage pool:
  
 <code bash> <code bash>
Řádek 77: Řádek 80:
 </code> </code>
  
-Disky pak vytvářejte prostřednictvím libvirt, ''virt-install'' nebo+Disky pak vytvářej prostřednictvím libvirt, ''virt-install'' nebo
 ''virt-manager'' v poolu ''vm-images''. ''virt-manager'' v poolu ''vm-images''.
  
-ZFS vlastnosti subdatasetu ponechte na výchozích hodnotách, dokud měření+ZFS vlastnosti subdatasetu ponech na výchozích hodnotách, dokud měření
 neukáže důvod ke změně. Komprese je ve výchozím nastavení zapnutá. Výchozí neukáže důvod ke změně. Komprese je ve výchozím nastavení zapnutá. Výchozí
 ''recordsize=128K'' určuje maximální velikost záznamu souboru; ZFS podle potřeby ''recordsize=128K'' určuje maximální velikost záznamu souboru; ZFS podle potřeby
Řádek 87: Řádek 90:
  
 Pro obrazy na ZFS je vhodnou výchozí volbou formát ''raw'', protože nepřidává Pro obrazy na ZFS je vhodnou výchozí volbou formát ''raw'', protože nepřidává
-další copy-on-write vrstvu. ''qcow2'' použijte, pokud potřebujete jeho backing+další copy-on-write vrstvu. ''qcow2'' použij, pokud potřebuješ jeho backing
 files, interní snapshoty nebo jiné funkce obrazového formátu. files, interní snapshoty nebo jiné funkce obrazového formátu.
  
Řádek 95: Řádek 98:
  
 Síťové rozhraní VPS je k nodu připojené směrovaným spojem na třetí vrstvě. Síťové rozhraní VPS je k nodu připojené směrovaným spojem na třetí vrstvě.
-Nepřidávejte proto rozhraní VPS do bridge spravovaného libvirt. Pro připojení+Nepřidávej proto rozhraní VPS do bridge spravovaného libvirt. Pro připojení
 virtuálních strojů k síti jsou vhodná dvě zapojení: virtuálních strojů k síti jsou vhodná dvě zapojení:
  
Řádek 103: Řádek 106:
  
 NAT je obvykle jednodušší pro jednu nebo několik domén s malým počtem NAT je obvykle jednodušší pro jednu nebo několik domén s malým počtem
-zveřejněných služeb. Směrované adresy použijte, když má mít doména vlastní+zveřejněných služeb. Směrované adresy použij, když má mít doména vlastní
 veřejné adresy, všechny porty nebo protokoly, které se přes port forwarding veřejné adresy, všechny porty nebo protokoly, které se přes port forwarding
-obsluhují špatně. Pro čistě vnitřní komunikaci mezi doménami můžete přidat další+obsluhují špatně. Pro čistě vnitřní komunikaci mezi doménami můžeš přidat další
 izolovanou síť libvirt; přístup ven nadále řeší jedno z uvedených zapojení. izolovanou síť libvirt; přístup ven nadále řeší jedno z uvedených zapojení.
  
Řádek 119: Řádek 122:
 [[https://libvirt.org/formatnetwork.html|dokumentaci formátu sítí libvirt]]. [[https://libvirt.org/formatnetwork.html|dokumentaci formátu sítí libvirt]].
  
-ULA ''fd5f:6d2e:9c4a::/48'' je příklad pro samostatnou instalaci. Pokud budete +ULA ''fd5f:6d2e:9c4a::/48'' je příklad pro samostatnou instalaci. Pokud budeš 
-více privátních sítí později propojovat pomocí VPN nebo směrování, vytvořte pro +více privátních sítí později propojovat pomocí VPN nebo směrování, vytvoř pro 
-každou z nich vlastní náhodný ULA ''/48'' a změňte ''HOST_IPV6'' i+každou z nich vlastní náhodný ULA ''/48'' a změň ''HOST_IPV6'' i
 ''GUEST_IPV6'' na adresy ze stejné ''/64''. ''GUEST_IPV6'' na adresy ze stejné ''/64''.
  
Řádek 138: Řádek 141:
 </code> </code>
  
-Vytvořenou doménu připojte k ''dualstack-nat'', například volbou+Vytvořenou doménu připoj k ''dualstack-nat'', například volbou
 ''--network network=dualstack-nat,model=virtio'' ve ''virt-install''. V doméně ''--network network=dualstack-nat,model=virtio'' ve ''virt-install''. V doméně
-nastavte stabilní adresy a brány:+nastav stabilní adresy a brány:
  
 <code conf> <code conf>
Řádek 169: Řádek 172:
 portu 80 a SSH domény na portu 2222 pro IPv4 i IPv6. portu 80 a SSH domény na portu 2222 pro IPv4 i IPv6.
  
-Uložte jej například jako ''/root/configure-nat-port-forwards.sh'' a spusťte+Ulož jej například jako ''/root/configure-nat-port-forwards.sh'' a spusť
 s jednou veřejnou IPv4 a jednou adresou z IPv6 ''/64'' nakonfigurovanou na VPS: s jednou veřejnou IPv4 a jednou adresou z IPv6 ''/64'' nakonfigurovanou na VPS:
  
Řádek 371: Řádek 374:
 </code> </code>
  
-Další port přidáte do ''/etc/libvirt/port-forwards.conf'' ve tvaru+Další port přidáš do ''/etc/libvirt/port-forwards.conf'' ve tvaru
 ''RODINA PROTOKOL VEŘEJNÁ_IP VEŘEJNÝ_PORT IP_DOMÉNY PORT_DOMÉNY''. Například ''RODINA PROTOKOL VEŘEJNÁ_IP VEŘEJNÝ_PORT IP_DOMÉNY PORT_DOMÉNY''. Například
-HTTPS dostupné na portu 8443 přidáte pro oba protokoly takto:+HTTPS dostupné na portu 8443 přidáš pro oba protokoly takto:
  
 <code conf> <code conf>
Řádek 381: Řádek 384:
  
 Podporované protokoly jsou ''tcp'' a ''udp''. Řádek s neplatnou syntaxí se Podporované protokoly jsou ''tcp'' a ''udp''. Řádek s neplatnou syntaxí se
-odmítne dříve, než se změní aktivní pravidla. Po změně souboru pravidla načtěte:+odmítne dříve, než se změní aktivní pravidla. Po změně souboru pravidla načti:
  
 <code bash> <code bash>
Řádek 388: Řádek 391:
  
 Port 2222 byl zvolen proto, aby SSH domény nekolidovalo s SSH samotné VPS. Port 2222 byl zvolen proto, aby SSH domény nekolidovalo s SSH samotné VPS.
-Pravidla firewallu VPS dále omezte podle toho, kdo má mít ke službám přístup.+Pravidla firewallu VPS dále omez podle toho, kdo má mít ke službám přístup.
  
 ==== Privátní IPv4 na VPS a veřejné adresy v doméně ==== ==== Privátní IPv4 na VPS a veřejné adresy v doméně ====
Řádek 398: Řádek 401:
 routerech; veřejné adresy domény se v libvirt nepřekládají. routerech; veřejné adresy domény se v libvirt nepřekládají.
  
-Pro IPv4 nejprve požádejte podporu o přidělení privátní IPv4 ''/32'' k VPS.+Pro IPv4 nejprve požádej podporu o přidělení privátní IPv4 ''/32'' k VPS.
  
 <vpsadmin-nav id="networking.routable-addresses.open"> <vpsadmin-nav id="networking.routable-addresses.open">
-V části **Síť → Routované adresy** pak vyberte veřejnou ''/32'' v poli+V části **Síť → Routované adresy** pak vyber veřejnou ''/32'' v poli
 **Adresa**, privátní adresu VPS v poli **Přes** a cílové rozhraní VPS. Veřejná **Adresa**, privátní adresu VPS v poli **Přes** a cílové rozhraní VPS. Veřejná
 adresa se tím nenastaví na žádném rozhraní uvnitř VPS; vpsAdminOS ji k VPS adresa se tím nenastaví na žádném rozhraní uvnitř VPS; vpsAdminOS ji k VPS
Řádek 408: Řádek 411:
  
 <vpsadmin-nav id="networking.routable-addresses.open"> <vpsadmin-nav id="networking.routable-addresses.open">
-Pro IPv6 použijte další ''/64'', kterou máte v části **Síť → Routované adresy** +Pro IPv6 použij další ''/64'', kterou máš v části **Síť → Routované adresy** 
-k dispozici, a nastavte její směrování přes adresu z běžné ''/64'' VPS. Pokud už +k dispozici, a nastav její směrování přes adresu z běžné ''/64'' VPS. Pokud už 
-máte směrovanou větší síť, například ''/48'', vyberte z ní pro doménu+máš směrovanou větší síť, například ''/48'', vyber z ní pro doménu
 samostatnou ''/64''. První adresu této druhé ''/64'' použijeme jako bránu na samostatnou ''/64''. První adresu této druhé ''/64'' použijeme jako bránu na
 bridge libvirt; například pro ''ROUTED_IPV6_PREFIX::/64'' to bude bridge libvirt; například pro ''ROUTED_IPV6_PREFIX::/64'' to bude
Řádek 447: Řádek 450:
  
 Následující skript vytvoří tuto síť a uloží forwarding do Následující skript vytvoří tuto síť a uloží forwarding do
-''/etc/sysctl.d/90-libvirt-routing.conf''. Uložte jej například jako +''/etc/sysctl.d/90-libvirt-routing.conf''. Ulož jej například jako 
-''/root/configure-routed-network.sh'' a spusťte jej s routovanou IPv4 a první+''/root/configure-routed-network.sh'' a spusť jej s routovanou IPv4 a první
 adresou routované IPv6 ''/64'': adresou routované IPv6 ''/64'':
  
Řádek 514: Řádek 517:
 </code> </code>
  
-Pokud je síť již aktivní, skript ji nezmění. Vypněte připojené domény, zastavte +Pokud je síť již aktivní, skript ji nezmění. Vypni připojené domény, zastav 
-síť příkazem ''virsh net-destroy public-routed'', skript spusťte znovu a domény +síť příkazem ''virsh net-destroy public-routed'', skript spusť znovu a domény 
-opět zapněte. Skript zachová UUID existující sítě.+opět zapni. Skript zachová UUID existující sítě.
  
-Doménu připojte k ''public-routed''. V Debianu v doméně pak například uložte+Doménu připoj k ''public-routed''. V Debianu v doméně pak například ulož
 následující konfiguraci do ''/etc/network/interfaces.d/public-routed''; následující konfiguraci do ''/etc/network/interfaces.d/public-routed'';
-''ens3'', ''PUBLIC_IPV4'', ''GUEST_IPV6'' a ''IPV6_GATEWAY'' nahraďte+''ens3'', ''PUBLIC_IPV4'', ''GUEST_IPV6'' a ''IPV6_GATEWAY'' nahraď
 skutečnými hodnotami: skutečnými hodnotami:
  
Řádek 537: Řádek 540:
  
 ''forward mode='open''' nechává filtrování forwardovaného provozu na firewallu ''forward mode='open''' nechává filtrování forwardovaného provozu na firewallu
-VPS. Povolte jen provoz, který má být doméně dostupný, a nezapomeňte pravidla+VPS. Povol jen provoz, který má být doméně dostupný, a nezapomeň na pravidla
 pro IPv4 i IPv6. Veřejná IPv4 je nakonfigurovaná pouze v doméně. IPv6 brána a pro IPv4 i IPv6. Veřejná IPv4 je nakonfigurovaná pouze v doméně. IPv6 brána a
 adresy domén jsou z druhé, směrované ''/64''; na vnějším rozhraní VPS zůstává adresy domén jsou z druhé, směrované ''/64''; na vnějším rozhraní VPS zůstává
Řádek 569: Řádek 572:
  
 ''nolock'' vypíná síťové zamykání NLM a ostatní klienti pak nevidí lokální ''nolock'' vypíná síťové zamykání NLM a ostatní klienti pak nevidí lokální
-zámky. Nikdy jej nepoužívejte pro zapisovatelný nebo sdílený disk virtuálního+zámky. Nikdy jej nepoužívej pro zapisovatelný nebo sdílený disk virtuálního
 stroje. U NFSv4 je zamykání součástí protokolu a tato volba není řešením. Viz stroje. U NFSv4 je zamykání součástí protokolu a tato volba není řešením. Viz
 [[https://man7.org/linux/man-pages/man5/nfs.5.html|nfs(5)]]. [[https://man7.org/linux/man-pages/man5/nfs.5.html|nfs(5)]].
  
navody/vps/kvm.txt · Poslední úprava: autor: aither