{ "meta": { "title": "Analýza mostov a oprava so sprievodcom | Dokumentácia ProxMenux", "description": "Zistí mosty vmbrX s chýbajúcimi alebo neplatnými fyzickými portmi, typicky po opätovnom číslovaní PCI. Nahlási ich s návrhmi príkazov shellu a ponúkne opravu so sprievodcom v 5 krokoch s povinnou zálohou.", "ogTitle": "Analýza mostov a oprava so sprievodcom | Dokumentácia ProxMenux", "ogDescription": "Skontrolujte a opravte porty mostov Proxmox po zmenách hardvéru pomocou postupu so sprievodcom a bezpečným vrátením zmien." }, "header": { "title": "Analýza mostov a oprava so sprievodcom", "description": "Skontroluje každý most vmbrX deklarovaný v /etc/network/interfaces, overí existenciu fyzických portov a pri chýbajúcich ponúkne opravu krok za krokom. Analýza je iba na čítanie; oprava vyžaduje súhlas, zobrazí náhľad a vytvorí zálohu.", "section": "Sieť" }, "intro": { "title": "Čo to robí?", "body": "Prečíta každý most v /etc/network/interfaces, skontroluje jeho riadok bridge-ports a overí, či každý deklarovaný port, napríklad enp3s0, existuje na hostiteľovi. Ak port chýba, navrhne náhradu a s výslovným súhlasom použije zmenu postupom záloha, náhľad, použitie, overenie." }, "when": { "heading": "Keď to potrebujete", "intro": "Linux prideľuje predvídateľné názvy rozhraní podľa topológie PCI a poradia slotov. Viaceré udalosti ich môžu zmeniť, takže /etc/network/interfaces odkazuje na názvy, ktoré už neexistujú:", "items": [ "Pridanie alebo odstránenie PCIe karty (NIC, GPU, a HBA, nosič NVMe).", "Presun existujúcej karty na iný PCIe slot.", "Aktualizácie BIOS / UEFI, ktoré znovu číslujú zariadenia PCI.", "Migrácia zavádzacieho disku na iný hardvér." ], "outro": "Po ďalšom štarte sa most pokúsi pripojiť k portu, ktorý už neexistuje, neaktivuje sa a hostiteľ stratí sieťové pripojenie. Trvalé názvy rozhraní zabránia opakovaniu tohto problému. Ak ste už stratili prístup, táto stránka opisuje postup obnovy." }, "bigPicture": { "heading": "Celkový prehľad", "diagram1": { "arrowLabel": "krok 1", "nodes": { "sourceLabel": "/etc/network/interfaces", "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0", "bridgeLabel": "Analyzovať (iba na čítanie)", "bridgeDetail": "ip link show enp3s0\n→ neexistuje", "targetLabel": "Správa + návrh", "targetDetail": "❌ enp3s0: NENÁJDENÉ\nNahradiť za: eno1\n(zatiaľ bez zmien)" } }, "diagram2": { "arrowLabel": "aplikovať so zálohou", "nodes": { "sourceLabel": "Oprava so sprievodcom", "sourceDetail": "1. Záloha\n2. Zobraziť aktuálny stav\n3. Náhľad zmien\n4. Použiť\n5. Overiť", "targetLabel": "/etc/network/interfaces (nový)", "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1" } } }, "step1": { "heading": "Krok 1: analýza (iba na čítanie)", "intro": "Po výbere Analyzovať konfiguráciu mostov sa nástroj okamžite zastaví, ak hostiteľ nepoužíva klasický stack Debian/Proxmox. Inak prejde každý most a nahlási:", "items": [ "Názov mosta, aktuálny stav (UP / DOWN) a pridelená IP adresa.", "Každý deklarovaný port a či v súčasnosti existuje (ip link show <port>).", "Pre každý neplatný port: navrhovaná náhrada (prvé dostupné fyzické rozhranie) plus presný sed príkaz na manuálne použitie.", "Mosty bez riadka bridge-ports a osirelé položky auto bez zodpovedajúceho bloku iface." ], "readonlyTitle": "Záruka režimu iba na čítanie", "readonlyBody": "Až do tohto bodu skript nespustil žiadny príkaz meniaci systém. Analýzu môžete nechať otvorenú, skopírovať navrhnuté príkazy sed a použiť ich ručne, ak to uprednostňujete. Alebo prijmite nasledujúcu výzvu na spustenie opravy so sprievodcom." }, "step2": { "heading": "Krok 2: oprava so sprievodcom (5 krokov)", "intro": "Spustí sa iba po prijatí výzvy na konci analýzy. Každý krok zobrazí plánovanú akciu a pred pokračovaním vyžiada potvrdenie.", "steps": [ { "title": "1. Bezpečnostná záloha", "body": "Skopíruje /etc/network/interfaces do /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Presnú cestu zálohy zobrazí pred kopírovaním aj po ňom spolu s príkazom na vrátenie zmien.", "tone": "blue" }, { "title": "2. Preskúmanie aktuálnej konfigurácie", "body": "Otvorí aktuálny /etc/network/interfaces v posúvateľnom dialógu, aby ste presne videli, čo sa zmení.", "tone": "blue" }, { "title": "3. Náhľad navrhovaných zmien", "body": "Presne vypíše dotknuté mosty a plánované náhrady portov. Ak už oprava nie je potrebná, pretože sa port medzi kontrolami znovu objavil, postup sa ukončí hlásením „Nie sú potrebné žiadne zmeny.“", "tone": "blue" }, { "title": "4. Použiť zmeny", "body": "Pre každý postihnutý most beží sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" proti /etc/network/interfaces. Ak most nemal k dispozícii platnú náhradu, substitúcia sa preskočí a zaznamená v kroku 5.", "tone": "amber" }, { "title": "5. Overovanie", "body": "Znovu prečíta súbor a potvrdí, že nový port každého mosta existuje. Vypíše príkaz na vrátenie zmien (cp <backup> /etc/network/interfaces). Nakoniec ponúkne Reštartovať sieť — prijmite iba vtedy, ak máte náhradný prístup cez konzolu.", "tone": "emerald" } ], "restartTitle": "Reštart siete ≠ bezpečné vrátenie zmien", "restartBody": "Oprava sa zapíše na disk bez ohľadu na reštart služby. systemctl restart networking použije zmenu teraz, čo môže prerušiť reláciu SSH, ak je nový port nesprávny. Ak reštart odmietnete, zmena sa aj tak prejaví pri ďalšom štarte. Najprv overte novú konfiguráciu alebo ju vráťte zobrazeným príkazom." }, "edits": { "heading": "Čo sa edituje (presne)", "body": "Iba riadok bridge-ports každého dotknutého mosta. Ostatné direktívy (address, netmask, gateway, bridge-stp, …) zostávajú nezmenené. Skript v tomto postupe nevytvára ani neodstraňuje bloky iface — to je úloha analýzy konfigurácie & čistenia." }, "troubleshoot": { "heading": "Riešenie problémov", "unsupportedTitle": "Analýza sa zastaví s hlásením „Nepodporovaný sieťový stack“", "unsupportedBody": "Hostiteľ používa netplan, systemd-networkd alebo NetworkManager. Nástroj podporuje iba /etc/network/interfaces. Najprv prepnite hostiteľa na klasický stack alebo upravte konfiguráciu natívnymi nástrojmi správcu (napríklad netplan apply).", "noSuggestTitle": "Pre neplatný port sa nevypíše žiadny návrh", "noSuggestBody": "Hostiteľ nemá žiadne voľné fyzické rozhrania: všetky sú už v inom moste alebo neexistujú. Analýza preto navrhne bridge-ports none, aby sa most mohol aspoň aktivovať bez portu. Pred opätovným spustením pridajte sieťovú kartu alebo ručne presuňte porty medzi mostmi.", "stillDownTitle": "Oprava sa skončila, ale most je stále dole", "stillDownBody": "sed aktualizoval súbor, ale systemctl restart networking bol odmietnutý. Po overení novej konfigurácie ho spustite ručne alebo reštartujte systém. Ak bol reštart prijatý a most je stále DOWN, overte existenciu nového portu cez ip link show a skontrolujte journalctl -u networking pre skutočnú chybu: odpojený kábel, nevyjednané spojenie alebo port už patriaci do iného mosta.", "lostSshTitle": "Stratila som prístup SSH hneď po reštarte siete", "lostSshIntro": "Použite konzolu / IPMI / iKVM na dosiahnutie hostiteľa. Obnoviť zálohu:", "lostSshOutro": "Potom znovu spustite analýzu z konzoly a zistite, prečo návrh nefungoval, typicky preto, že náhradný port nie je zapojený." }, "related": { "heading": "Súvisiace", "items": [ { "label": "Trvalé názvy rozhraní", "href": "/docs/network/persistent-names", "tail": " — priradí názvy k MAC adresám, aby sa problém neopakoval." }, { "label": "Analýza konfigurácie a čistenie so sprievodcom", "href": "/docs/network/config-analysis", "tailRich": " — Pre osirotené iface bloky (druhá polovica rovnakého problému)." }, { "label": "Záloha a reštart rozhraní", "href": "/docs/network/backup-restore", "tail": " — ručné snímky a prehliadanie záloh na obnovu." } ] } }