mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
Merge pull request #477 from jcastro/docs/review-backup-restore
docs: review backup and restore documentation in all seven translations
This commit is contained in:
@@ -0,0 +1,220 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Vytváranie záloh — interaktívny postup zálohovania | ProxMenux",
|
||||
"description": "Interaktívny postup zálohovania v ProxMenux: dva vstupné body (ponuka TUI nástroja Scripts a webové rozhranie Monitor), tri ciele, dva režimy profilu, jeden krok dočasnej prípravy a jeden potvrdzovací dialóg. Stránka opisuje maticu šiestich možností, predvolený a vlastný profil a to, čo používateľ vidí od výberu zálohy až po uloženie archívu do cieľa.",
|
||||
"ogTitle": "Zálohovanie ProxMenux — vytváranie záloh",
|
||||
"ogDescription": "Interaktívny postup zálohovania s tromi cieľmi, dvoma profilmi a spoločným krokom dočasnej prípravy.",
|
||||
"twitterTitle": "Vytváranie záloh | ProxMenux",
|
||||
"twitterDescription": "Interaktívny postup zálohovania s tromi cieľmi a dvoma režimami profilu."
|
||||
},
|
||||
"header": {
|
||||
"title": "Vytváranie záloh",
|
||||
"description": "Interaktívny postup zálohovania: vyberte cieľ a profil, skontrolujte súhrn v potvrdzovacom dialógu a sledujte uloženie archívu. Oba vstupné body používajú rovnaký backend a vytvárajú zhodné archívy.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Dva vstupné body, rovnaká funkčnosť",
|
||||
"body": "TUI nástroja Scripts a webové rozhranie Monitor ponúkajú <strong>presne rovnaké funkcie</strong>. Každá záloha — manuálna aj plánovaná — prechádza rovnakou maticou výberu (tri ciele × dva profily) a pre každú bunku volá rovnakú funkciu backendu (<code>_bk_pbs</code>, <code>_bk_borg</code> alebo <code>_bk_local</code>). Archívy vytvorené cez oba vstupné body sú nerozoznateľné. Výber závisí od preferencií: TUI je vhodné pre SSH a skripty; Monitor umožňuje ovládanie myšou a obsahuje aj zobrazenia upozornení a priebežného výpisu záznamov."
|
||||
},
|
||||
"entryPoints": {
|
||||
"heading": "Dva vstupné body",
|
||||
"rows": [
|
||||
{
|
||||
"entry": "ProxMenux Scripts (TUI)",
|
||||
"path": "menu → Utilities → Host Config Backup",
|
||||
"detail": "Dialógový tok, SSH-priateľský. Hlavné menu predstavuje šesť možností priamo. Používa <code>backup_menu</code> v <code>backup_host.sh</code>."
|
||||
},
|
||||
{
|
||||
"entry": "ProxMenux Monitor (webové rozhranie)",
|
||||
"path": "Backups tab → Create backup",
|
||||
"detail": "Postup vedený sprievodcom. Rovnakých šesť možností je zobrazených v dvojkrokovom formulári (cieľ → profil). Cez rozhranie Flask API sa volajú rovnaké funkcie backendu."
|
||||
}
|
||||
]
|
||||
},
|
||||
"modes": {
|
||||
"heading": "Manuálne vs plánované zálohy",
|
||||
"body": "Zálohy možno vytvárať v dvoch režimoch: <strong>manuálne</strong> (interaktívny postup opísaný na tejto stránke — používateľ vyberie cieľ a profil z ponuky a sleduje uloženie archívu) alebo <strong>plánovane</strong> (úloha bez obsluhy, ktorá sa spúšťa časovačom v štýle cron a používa pravidlá uchovávania nastavené pre danú úlohu). Oba režimy podporujú rovnaké tri ciele a dva profily a sú dostupné cez oba vstupné body — ponuku TUI nástroja Scripts a kartu Backups v Monitore. Plánované úlohy používajú cez <code>run_scheduled_backup.sh</code> rovnaké funkcie backendu ako manuálny postup; vytvorené archívy sú nerozoznateľné.",
|
||||
"seeAlso": "Stránka plánovaných úloh opisuje celý postup vrátane vytvorenia úlohy, jej pripojenia k existujúcemu časovaču vzdump v PVE a nastavenia hodnôt uchovávania.",
|
||||
"monitorAlt": "ProxMenux Monitor Zálohy zobrazí nový plánovaný dialóg zálohovania s cieľovým, profilom, harmonogramom a retenčnými poľami.",
|
||||
"monitorCaption": "Plánovaná záloha — ProxMenux Monitor. Rovnaký dialóg sprievodcu ako pri manuálnej zálohe má v dolnej časti polia plánu a uchovávania pre spúšťanie bez obsluhy."
|
||||
},
|
||||
"matrix": {
|
||||
"heading": "Matica šiestich možností",
|
||||
"intro": "Výber určuje spustený backend aj použitú stratégiu výberu ciest. Podrobnosti o konfigurácii každej bunky nájdete na stránkach jednotlivých cieľov.",
|
||||
"rows": [
|
||||
{
|
||||
"combo": "1",
|
||||
"destination": "PBS",
|
||||
"profile": "Štandardné",
|
||||
"action": "Uploaduje štandardný profil plus trvalé doplnky do nakonfigurovaného PBS úložiska."
|
||||
},
|
||||
{
|
||||
"combo": "2",
|
||||
"destination": "Borg",
|
||||
"profile": "Štandardné",
|
||||
"action": "Vytvorí archív so štandardným profilom plus trvalé doplnky vo vybranom úložisku Borg."
|
||||
},
|
||||
{
|
||||
"combo": "3",
|
||||
"destination": "Lokálne",
|
||||
"profile": "Štandardné",
|
||||
"action": "Napíše archív <code>.tar.zst</code> so štandardným profilom plus trvalé doplnky k nakonfigurovanému lokálnemu cieľu."
|
||||
},
|
||||
{
|
||||
"combo": "4",
|
||||
"destination": "PBS",
|
||||
"profile": "Vlastné",
|
||||
"action": "Pred odoslaním do PBS otvorí výber ciest; používateľ zaškrtne požadované cesty a môže pridať nové."
|
||||
},
|
||||
{
|
||||
"combo": "5",
|
||||
"destination": "Borg",
|
||||
"profile": "Vlastné",
|
||||
"action": "Pred vytvorením archívu Borg otvorí výber ciest."
|
||||
},
|
||||
{
|
||||
"combo": "6",
|
||||
"destination": "Lokálne",
|
||||
"profile": "Vlastné",
|
||||
"action": "Pred zápisom lokálneho súboru <code>.tar.zst</code> otvorí výber ciest."
|
||||
}
|
||||
]
|
||||
},
|
||||
"profiles": {
|
||||
"heading": "Štandardný vs vlastný profil",
|
||||
"defaultTitle": "Predvolený profil",
|
||||
"defaultBody": "Predvolený profil je pripravený zoznam z <code>hb_default_profile_paths</code> (opísaný v časti <em>Ako to funguje</em> pod nadpisom <em>Kategórie ciest</em>) spolu so všetkými položkami zo súboru trvalých doplnkov <code>/usr/local/share/proxmenux/backup-extra-paths.txt</code>. Používateľ potvrdí cieľ a možnosti šifrovania a záloha pokračuje bez ďalšieho výberu ciest.",
|
||||
"customTitle": "Vlastný profil",
|
||||
"customBody": "Vlastný profil otvorí zoznam so všetkými cestami predvoleného profilu (nezaškrtnuté) a všetkými trvalými doplnkami (vopred zaškrtnuté, s predponou <code>[+]</code>). Používateľ zaškrtne cesty pre toto spustenie a cez <em>Pridať vlastnú cestu</em> môže doplniť novú absolútnu cestu. Takto pridaná cesta sa uloží do <code>backup-extra-paths.txt</code>, aby ju budúce zálohy zahrnuli automaticky bez opätovného pridávania. Odškrtnutie trvalého doplnku ho vynechá len pri tomto spustení, ale neodstráni ho zo súboru — na odstránenie slúži samostatná akcia <em>Spravovať vlastné cesty</em> mimo postupu zálohovania.",
|
||||
"customPickerAlt": "Vlastný kontrolný zoznam profilu zobrazujúci predvolené cesty profilu (nezaškrtnuté) a trvalé doplnky (vopred zaškrtnuté s predponou [+]) plus tlačidlá na pridanie novej cesty alebo potvrdenie výberu.",
|
||||
"customPickerCaption": "Vlastný profil — výber ciest. Cesty predvoleného profilu nie sú zaškrtnuté; trvalé doplnky sú vopred zaškrtnuté s predponou [+]. Používateľ zaškrtne cesty pre toto spustenie.",
|
||||
"manageCustomAlt": "Ponuka správy vlastných ciest so zoznamom trvalých doplnkov a možnosťami pridávania, odstraňovania a úprav.",
|
||||
"manageCustomCaption": "Spravovať vlastné cesty — miesto, kde sa pridávajú alebo odstraňujú trvalé doplnky. Každá tu uvedená cesta sa automaticky zahrnie do záloh v predvolenom režime bez potreby otvárať výber ciest vlastného profilu."
|
||||
},
|
||||
"commonPipeline": {
|
||||
"heading": "Čo beží bez ohľadu na cieľ",
|
||||
"intro": "Po určení profilu každý backend vykoná rovnaký postup dočasnej prípravy a potom pokračuje vlastným spôsobom odosielania. <code>hb_prepare_staging</code> zostaví strom archívu v <code>/tmp/proxmenux-DESTINATION-stage.XXXXXX</code> a naplní každý z troch blokov údajov.",
|
||||
"steps": [
|
||||
{
|
||||
"step": "1",
|
||||
"name": "Zostava rootfs",
|
||||
"detail": "Pre každú vybranú cestu spustí <code>rsync -a</code> do <code>staging_root/rootfs/</code>. Databáza pmxcfs v <code>/var/lib/pve-cluster/config.db</code> sa zachytí samostatne cez <code>sqlite3 .backup</code>, aby vznikla konzistentná snímka bez zastavenia klastra; pomocné súbory <code>.db-wal</code> / <code>.db-shm</code> sa z rsync vylúčia. Ak <code>sqlite3</code> nie je dostupné, uloží sa namiesto toho súbor <code>config.db.raw-fallback</code>, ktorý obnova pri importe prevezme ako databázu. Z <code>/root/</code> sa vylúčia dočasné podcesty (história bash, vyrovnávacie pamäte, kôš). Cesty chýbajúce v zdroji sa zapíšu do <code>metadata/missing_paths.txt</code> bez zastavenia zálohy."
|
||||
},
|
||||
{
|
||||
"step": "2",
|
||||
"name": "Vytvorenie manifestu",
|
||||
"detail": "<code>build_manifest.sh</code> koordinuje šesť zberných modulov a zapíše <code>manifest.json</code> do koreňa dočasného adresára. Pri zlyhaní modulu sa pre príslušnú sekciu použije zdokumentovaná prázdna predvolená hodnota; manifest zostane platný."
|
||||
},
|
||||
{
|
||||
"step": "3",
|
||||
"name": "Zoznam balíkov",
|
||||
"detail": "<code>apt-mark showmanual</code> je zachytený doslovne do <code>metadata/packages.manual.list</code>. Stav komponentu je už vnútri obnovených rootfs (<code>components_status.json</code>), pretože <code>/usr/local/share/proxmenux/</code> je súčasťou štandardného profilu."
|
||||
},
|
||||
{
|
||||
"step": "4",
|
||||
"name": "Informácie o spustení",
|
||||
"detail": "<code>metadata/run_info.env</code> zaznamenáva identitu spustenia zálohy – názov hostiteľa, časovú pečiatku, verziu jadra – používanú pri kontrole kompatibility obnovy na určenie smeru medzi jadrami."
|
||||
},
|
||||
{
|
||||
"step": "5",
|
||||
"name": "Oznámenie (začiatok)",
|
||||
"detail": "Spustí sa <code>hb_notify_lifecycle \"start\"</code>. Ak sú v Monitore nastavené upozornenia, používateľ dostane udalosť <em>Zálohovanie hostiteľa sa začalo</em>. Bez nakonfigurovaných kanálov sa upozornenie neodošle."
|
||||
}
|
||||
]
|
||||
},
|
||||
"included": {
|
||||
"heading": "Čo ide dnu a čo zostane vonku",
|
||||
"intro": "Každá cesta v určenom profile (predvolené + trvalé doplnky + výber vo vlastnom režime) je skopírovaná s <code>rsync -aAXH --numeric-ids</code>. Spoločný zoznam vylúčení sa vzťahuje na každú cestu a dva adresáre majú dodatočné výnimky špecifické pre jednotlivé trasy.",
|
||||
"globalTitle": "Globálne vylúčenia (uplatnené na každú cestu)",
|
||||
"globalItems": [
|
||||
"<code>images/</code> — výpisy obrazov.",
|
||||
"<code>dump/</code> — výstupy vzdump.",
|
||||
"<code>tmp/</code> - dočasné súbory.",
|
||||
"<code>*.log</code> — súbory záznamov."
|
||||
],
|
||||
"rootTitle": "Výnimky <code>/root/</code>",
|
||||
"rootBody": "<code>/root/</code> je súčasťou predvoleného profilu, aby sa do archívu zahrnuli používateľské skripty a konfigurácia. Dočasné podcesty sa vynechajú:",
|
||||
"rootItems": [
|
||||
"<code>.bash_history</code>",
|
||||
"<code>.cache/</code>",
|
||||
"<code>tmp/</code>",
|
||||
"<code>.local/share/Trash/</code>"
|
||||
],
|
||||
"proxmenuxTitle": "Výnimky <code>/usr/local/share/proxmenux/</code>",
|
||||
"proxmenuxBody": "Tento adresár obsahuje iba používateľský stav — <code>components_status.json</code>, predvoľby a vyrovnávaciu pamäť po inštalácii. Kód, ktorý už cieľ má z vlastnej inštalácie ProxMenux, sa vylúči, aby obnova neprepísala aktuálne binárne súbory cieľa staršími:",
|
||||
"proxmenuxItems": [
|
||||
"<code>restore-pending/</code>, <code>scripts/</code>, <code>web/</code>",
|
||||
"<code>monitor-app/</code>, <code>monitor-app.*/</code>, <code>AppImage/</code>",
|
||||
"<code>images/</code>, <code>json/</code>",
|
||||
"<code>utils.sh</code>, <code>helpers_cache.json</code>",
|
||||
"<code>ProxMenux-Monitor.AppImage*</code>, <code>install_proxmenux*.sh</code>"
|
||||
],
|
||||
"notInProfileTitle": "Cesty mimo profilu",
|
||||
"notInProfileBody": "Všetko, čo nie je uvedené v <code>hb_default_profile_paths</code> a nepridal ako vlastné alebo trvalé extra nie je súčasťou zálohy. Pozoruhodné príklady:",
|
||||
"notInProfileItems": [
|
||||
"<strong>Disky VM a LXC</strong> — zálohuje ich <code>vzdump</code>, nie táto funkcia. Konfiguračné súbory hostí v <code>/etc/pve/nodes/*/qemu-server/*.conf</code> a <code>lxc/*.conf</code> sa zachytia (nachádzajú sa v <code>/etc/pve</code>), aby obnova obnovila inventár; samotné disky sa znovu pripoja z existujúcej zálohy vzdump/PBS.",
|
||||
"<strong><code>/boot</code> a <code>/boot/efi</code></strong> — binárne súbory jadra, initramfs a oddiel UEFI ESP po obnove znova vytvorí cieľový systém pomocou <code>update-initramfs</code>, <code>update-grub</code> alebo <code>proxmox-boot-tool refresh</code>. Zavádzač sa nikdy nekopíruje doslova.",
|
||||
"<strong>Súborové systémy jadra a behu systému</strong> — <code>/proc</code>, <code>/sys</code>, <code>/dev</code> a <code>/run</code> sú pseudosúborové systémy vytvárané jadrom a udev; nikde sa trvalo neukladajú.",
|
||||
"<strong>Binárne súbory balíkov v <code>/usr/bin</code>, <code>/usr/lib</code>, <code>/lib</code>, <code>/sbin</code></strong> — APT na cieľovom systéme ich znova nainštaluje podľa <code>packages.manual.list</code>.",
|
||||
"<strong><code>/var/log/</code>, <code>/var/tmp/</code>, <code>/var/cache/</code></strong> — priebežný stav konkrétneho hostiteľa, ktorý sa neobnovuje.",
|
||||
"<strong><code>/home/USER</code></strong> Nie v štandardnom profile. Pridať ako vlastnú cestu, keď systém nesie užívateľské domovské adresáre, ktoré musia prežiť obnovenie."
|
||||
],
|
||||
"customPathsTitle": "Ako sa spracúvajú vlastné cesty",
|
||||
"customPathsBody": "Vlastná cesta pridaná priamo vo vlastnom režime alebo uložená v <code>backup-extra-paths.txt</code> prechádza rovnakým postupom <code>rsync</code> ako cesty predvoleného profilu. Platia globálne vylúčenia. Ak sa vlastná cesta nachádza pod <code>/root/</code> alebo <code>/usr/local/share/proxmenux/</code>, naďalej platia aj uvedené vylúčenia pre konkrétnu cestu. Každá archivovaná cesta — predvolená aj vlastná — sa zaznamená v <code>metadata/paths_archived.txt</code>. Cesty, ktoré v zdroji neexistujú, sa zapíšu do <code>metadata/missing_paths.txt</code> bez zastavenia zálohy."
|
||||
},
|
||||
"archiveStructure": {
|
||||
"heading": "Štruktúra archívu",
|
||||
"intro": "Dočasný prípravný adresár vytvorený každým backendom má rovnaké usporiadanie bez ohľadu na miesto určenia. Archív tarball, PBS <code>.pxar</code> alebo Borg uchováva tento strom doslovne.",
|
||||
"tree": "backup-[timestamp]/\n├── manifest.json # structured host state (kernel_params, hardware, storage, guests, components, source_host)\n├── metadata/\n│ ├── packages.manual.list # output of apt-mark showmanual\n│ ├── run_info.env # hostname, timestamp, kernel version, pmxcfs method\n│ ├── paths_archived.txt # exact list of paths that reached rootfs/\n│ └── missing_paths.txt # paths from the profile absent on source\n└── rootfs/\n ├── etc/ # /etc/pve, /etc/network, /etc/systemd/network, /etc/ssh, /etc/apt, ...\n ├── root/ # /root without volatile subpaths\n ├── usr/local/ # /usr/local/bin, /usr/local/sbin, /usr/local/share/proxmenux (state only)\n └── var/ # /var/lib/pve-cluster (config.db via sqlite3 .backup), /var/spool/cron/crontabs"
|
||||
},
|
||||
"confirmation": {
|
||||
"heading": "Zhrnutie potvrdenia",
|
||||
"body": "Pred zápisom akýchkoľvek údajov do cieľa ProxMenux zobrazí súhrnný dialóg s cieľom, ID zálohy alebo názvom archívu, stavom šifrovania a zoznamom kopírovaných ciest. Zrušenie v tomto bode zálohovanie bezpečne ukončí — obslužný mechanizmus <code>trap</code> nastavený vo funkcii backendu odstráni dočasný prípravný adresár a do cieľa sa nedostanú žiadne čiastočné údaje."
|
||||
},
|
||||
"writing": {
|
||||
"heading": "Písanie na miesto určenia",
|
||||
"intro": "Po potvrdení každý backend vykoná vlastný krok zápisu. Podrobnosti opisujú stránky jednotlivých cieľov; spoločnými prvkami sú záznam, sprievodný súbor a upozornenie o dokončení.",
|
||||
"rows": [
|
||||
{
|
||||
"topic": "Súbor záznamu",
|
||||
"detail": "Každý backend napíše celý svoj výstup do <code>/tmp/proxmenux-DESTINATION-backup-YYYYMMDD_HHMMSS.log</code> a pri zlyhaní ponúkne jeho otvorenie v rolovacom dialógu. Cesta záznamu je vytlačená v súhrne dokončenia iba vtedy, keď má súbor obsah."
|
||||
},
|
||||
{
|
||||
"topic": "Sprievodný súbor (iba lokálne)",
|
||||
"detail": "<code>hb_write_archive_sidecar</code> vytvorí <code>*.proxmenux.json</code> vedľa lokálneho archívu, takže Monitor ho identifikuje ako zálohu hostiteľa ProxMenux aj po presunutí alebo premenovaní."
|
||||
},
|
||||
{
|
||||
"topic": "Upozornenie (dokončenie/zlyhanie)",
|
||||
"detail": "Spustí sa <code>hb_notify_lifecycle \"complete\"</code> alebo <code>\"fail\"</code> s trvaním, veľkosťou archívu a — pri zlyhaní — posledným riadkom záznamu, ktorý vyzerá ako chyba."
|
||||
}
|
||||
]
|
||||
},
|
||||
"finishedScreens": {
|
||||
"heading": "Ako vyzerá dokončená záloha",
|
||||
"intro": "Rovnaká udalosť dokončenia sa zobrazí cez oba vstupné body. TUI vypíše súhrn do terminálu; karta Backups v Monitore zobrazí spustenie v zozname archívov s veľkosťou, trvaním a indikátormi stavu.",
|
||||
"scriptsAlt": "ProxMenux Scripts TUI zobrazujúce dokončenú zálohu hostiteľa – cieľ, ID zálohy, cestu snapshot, veľkosť údajov, trvanie a stav šifrovania.",
|
||||
"scriptsCaption": "Dokončená záloha — ProxMenux Scripts (TUI). Súhrn dokončenia vypíše cieľ, ID zálohy, názov výslednej snímky alebo archívu, veľkosť údajov, trvanie a stav šifrovania.",
|
||||
"monitorAlt": "ProxMenux Monitor s kartou Backups znázorňujúcou dokončenú zálohovaciu položku hostiteľa s veľkosťou, trvaním, indikátorom metódy a indikátorom šifrovania.",
|
||||
"monitorCaption": "Dokončená záloha — karta Backups v ProxMenux Monitor. Nová záloha sa objaví v zozname archívov s indikátorom cieľovej metódy, veľkosťou, trvaním a — ak je to relevantné — ikonou zámku šifrovania."
|
||||
},
|
||||
"whereNext": {
|
||||
"heading": "Kam ísť ďalej",
|
||||
"items": [
|
||||
{
|
||||
"label": "Ciele",
|
||||
"href": "/docs/backup-restore/destinations",
|
||||
"tail": " — Detaily konfigurácie pre Local, PBS a Borg."
|
||||
},
|
||||
{
|
||||
"label": "Plánované úlohy",
|
||||
"href": "/docs/backup-restore/scheduled-jobs",
|
||||
"tail": " — spúšťanie rovnakej zálohy bez obsluhy podľa plánu namiesto interaktívneho spúšťania."
|
||||
},
|
||||
{
|
||||
"label": "Obnovenie",
|
||||
"href": "/docs/backup-restore/restoring",
|
||||
"tail": " — postup, ktorý používa zálohy vytvorené podľa tejto stránky."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Obnova medzi rôznymi jadrami — rozpoznanie smeru, bezpečný výber a prispôsobenie | ProxMenux",
|
||||
"description": "Ako ProxMenux obnoví zálohu hostiteľa na cieľ s inou hlavnou verziou jadra. Vysvetľuje rozpoznanie smeru rozdielu, bezpečný filter vynechávajúci kritické cesty pri novšom cieľovom jadre a štvorfázové doplnenie nastavení IOMMU, ID VFIO a vlastných parametrov bez doslovného kopírovania súborov viazaných na jadro.",
|
||||
"ogTitle": "ProxMenux Backup — obnova medzi verziami jadra a doplnenie nastavení",
|
||||
"ogDescription": "Obnova medzi verziami jadra podľa smeru zmeny s bezpečným filtrom a doplnením nastavení nezávislým od jadra.",
|
||||
"twitterTitle": "Obnova medzi rôznymi jadrami | ProxMenux",
|
||||
"twitterDescription": "Ako ProxMenux spracováva obnovenie, keď sa cieľové jadro líši od zálohy."
|
||||
},
|
||||
"header": {
|
||||
"title": "Obnova medzi kernelmi",
|
||||
"description": "Ako ProxMenux zvláda obnovenie, keď cieľový hostiteľ spustí iné jadro od toho, ktoré je zaznamenané v zálohe, najmä keď cieľ spustí novšie jadro. Opisuje, ako sa rozdiel detekuje, ako sa prefiltrujú cesty kritické z hľadiska zavádzania, ktoré by mohli porušiť cieľ, a ako sa užívateľská konfigurácia znovu dodáva bez kopírovania súborov viazaných na jadro doslova.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Každý skok do jadra je riadený inak",
|
||||
"body": "Jadro hostiteľa Proxmox má verziu ako <code>6.17.13-2-pve</code>. Prvé dve čísla (<strong>6.17</strong>) označujú hlavnú verziu; po ich zmene nemusia byť staršie konfiguračné súbory platné. Pri odlišnej verzii jadra v zálohe a cieli sa postup vetví podľa smeru zmeny, pretože obe situácie majú odlišné riziká. Zálohy s novším jadrom než cieľ sa obnovujú bez filtra, podľa zaznamenaných testov cez viac verzií. Zálohy so starším jadrom potrebujú filter, aby staré nastavenia nebránili štartu novšieho cieľa."
|
||||
},
|
||||
"directionCheck": {
|
||||
"heading": "Kontrola smeru",
|
||||
"intro": "Počas kontroly kompatibility <code>hb_compat_check</code> porovnáva jadro zaznamenané v manifeste zálohy s aktuálnym jadrom cieľa (<code>uname -r</code>) a klasifikuje obnovenie do jedného z troch prípadov, uložené vo vnútornej premennej <code>HB_COMPAT_KERNEL_DIRECTION</code>:",
|
||||
"rows": [
|
||||
{
|
||||
"direction": "same",
|
||||
"condition": "Hlavná verzia jadra sa zhoduje medzi zálohou a cieľom.",
|
||||
"behavior": "Úplné obnovenie toku beží nezmenený. Žiadny ďalší filter, žiadna hydratácia, žiadne špeciálne upozornenie v UI."
|
||||
},
|
||||
{
|
||||
"direction": "bk_newer",
|
||||
"condition": "Jadro zálohy je NOVŠIE než cieľové (napríklad záloha z jadra 7.0 a cieľ s jadrom 6.17).",
|
||||
"behavior": "Úplný postup obnovy zostáva nezmenený, ako pri <code>same</code>, bez filtra. Uvedené testy overili reinštaláciu ovládačov pre cieľové jadro, nastavenie IOMMU a spustenie VM s odovzdanou GPU."
|
||||
},
|
||||
{
|
||||
"direction": "bk_older",
|
||||
"condition": "Jadro zálohy je STARŠIE než cieľové (napríklad záloha z jadra 6.17 a cieľ s jadrom 7.0).",
|
||||
"behavior": "Filter bezpečnej podskupiny a štvorfázová hydratácia nižšie sú aktivované. Obnova pokračuje – cieľ reprodukuje zdroj, ale súbory kritické pri zavádzaní sa neskopírujú doslovne."
|
||||
}
|
||||
]
|
||||
},
|
||||
"whyBkNewerIsSafe": {
|
||||
"heading": "Prečo záloha s novším jadrom ako cieľ obnoví nezmenený",
|
||||
"body": "Pri cieli so <em>starším</em> jadrom než v zálohe používa obnova mechanizmy nezávislé od verzie jadra. Inštalátory ovládačov GPU a PCI zistia bežiace jadro cez <code>uname -r</code> a zostavia DKMS pre cieľ. APT použije binárne balíky cieľovej distribúcie. Parametre IOMMU, napríklad <code>intel_iommu=on</code>, zostávajú stabilné medzi hlavnými verziami. Podľa tohto návrhu sú zoznamy zakázaných modulov, nastavenia GRUB a initramfs zo zálohy syntakticky použiteľné aj na staršom jadre; neznáme parametre jadro ignoruje. ProxMenux preto tento smer spracúva rovnako ako obnovu s rovnakým jadrom."
|
||||
},
|
||||
"safeSubsetFilter": {
|
||||
"heading": "Bezpečný subsetový filter (iba ak je cieľové jadro novšie)",
|
||||
"intro": "Keď je cieľové jadro novšie ako záložné, kontrola kompatibility pridáva 16 ciest kritických pre štart z <code>hb_unsafe_paths_cross_version</code> do <code>RS_SKIP_PATHS</code>. Tieto cesty sú vylúčené z obnovy, pretože písanie ich verzie zo staršieho jadra nad cieľom spusteným novším spôsobilo paniku jadra pri testovaní. Trasy pokrývajú päť kategórií:",
|
||||
"categoryRows": [
|
||||
{
|
||||
"category": "Zavádzač",
|
||||
"paths": "<code>/etc/default/grub</code>, <code>/etc/kernel</code>",
|
||||
"reason": "GRUB defaults viazaná na predchádzajúce poradie jadier a stav proxmox-boot-tool (cmdline, ESP UUIDs, háčiky), ktorý odkazuje na cesty a identifikátory zo staršej inštalácie."
|
||||
},
|
||||
{
|
||||
"category": "Kernelové moduly a štartovacie artefakty",
|
||||
"paths": "<code>/etc/modules-load.d</code>, <code>/etc/modprobe.d</code>, <code>/etc/initramfs-tools</code>",
|
||||
"reason": "Zoznamy automaticky načítaných modulov premenovaných medzi hlavnými verziami jadra, neplatné voľby modulov a hooky initramfs napísané pre staršie jadro."
|
||||
},
|
||||
{
|
||||
"category": "Úložný systém a identita súborového systému",
|
||||
"paths": "<code>/etc/fstab</code>, <code>/etc/multipath</code>, <code>/etc/iscsi</code>, <code>/etc/udev/rules.d</code>, <code>/etc/zfs</code>",
|
||||
"reason": "UUID, ktoré v tejto inštalácii nemusia existovať, viaccestné ovládače, ktoré sa menia medzi jadrami, iSCSI parametre, ktoré sa vyvíjajú, pravidlá udev, ktoré sa môžu viazať na neexistujúce podsystémy, stav ZFS (<code>zpool.cache</code> + <code>hostid</code>), ktoré môžu uzamknúť pool ako cudzie."
|
||||
},
|
||||
{
|
||||
"category": "APT zdroje",
|
||||
"paths": "<code>/etc/apt</code>",
|
||||
"reason": "Vydania v zdrojoch APT môžu pri ďalšej aktualizácii spôsobiť zníženie verzií kritických balíkov."
|
||||
},
|
||||
{
|
||||
"category": "systemd",
|
||||
"paths": "<code>/etc/systemd/system</code>, <code>/etc/systemd/journald.conf</code>, <code>/etc/systemd/logind.conf</code>, <code>/etc/systemd/system.conf</code>, <code>/etc/systemd/user.conf</code>",
|
||||
"reason": "Vlastné úpravy jednotiek a odkazy .wants viazané na staršiu hlavnú verziu systemd; konfiguračné kľúče, ktoré novší systemd nemusí rozpoznať."
|
||||
}
|
||||
],
|
||||
"outroBody": "Filter beží PRED konfirmačným dialógom, takže užívateľ vidí presný zoznam ciest, ktoré budú preskočené, kategorizované z dôvodu. Obnovenie stále pokračuje všetko ostatné (konfigurácia VM/LXC, sieť, /etc/pve, užívatelia, cron, ProxMenux stav, balíčky, ovládače, /root) je obnovená normálne."
|
||||
},
|
||||
"hydration": {
|
||||
"heading": "Kernel-agnostická hydratácia",
|
||||
"intro": "Filter vynechá kritické súbory, preto doplnenie znovu použije vybrané nastavenia: parametre IOMMU, ID VFIO, vlastný <code>GRUB_TIMEOUT</code> a zoznamy blokovaných modulov nvidia. Beží pri novšom cieľovom jadre. Zlúčenie cmdline zachová kľúče cieľa a doplní chýbajúce moduly. Povolené hodnoty GRUB a používateľské súbory môžu nahradiť odlišný obsah cieľa. Opakovanie rovnakých vstupov je idempotentné.",
|
||||
"phaseRows": [
|
||||
{
|
||||
"phase": "1a GRUB cesta",
|
||||
"detail": "Pre hostiteľov s GRUB (ext4/lvm). <code>_rs_hyd_grub</code> zlúči parametre z <code>manifest.kernel_params.cmdline_extra</code> zálohy do <code>GRUB_CMDLINE_LINUX_DEFAULT</code> cieľa a preskočí existujúce kľúče. Potom obnoví povolené kľúče <code>GRUB_*</code> (<code>GRUB_TIMEOUT</code>, <code>GRUB_TIMEOUT_STYLE</code>, <code>GRUB_DEFAULT</code>, <code>GRUB_TERMINAL</code>, <code>GRUB_DISABLE_OS_PROBER</code>, <code>GRUB_SERIAL_COMMAND</code>, <code>GRUB_GFXMODE</code>, <code>GRUB_GFXPAYLOAD_LINUX</code>) zo súboru <code>/etc/default/grub</code> zálohy, ak sa ich hodnoty líšia od cieľa."
|
||||
},
|
||||
{
|
||||
"phase": "1b — systemd-boot / ZFS",
|
||||
"detail": "Pre systemd-boot (zvyčajne ZFS ako koreňový systém). <code>_rs_hyd_kernel_cmdline</code> zlúči používateľské parametre z <code>cmdline_extra</code> do cieľového <code>/etc/kernel/cmdline</code>, pričom zachová jeho vlastné parametre štartu <code>root=</code>, <code>boot=</code> a <code>rootflags=</code>."
|
||||
},
|
||||
{
|
||||
"phase": "2 — /etc/modules zlúčenie",
|
||||
"detail": "<code>_rs_hyd_modules</code> dopĺňa moduly z <code>manifest.kernel_params.modules_loaded_at_boot</code>, ktoré sú na bielom zozname (<code>vfio</code>, <code>vfio_pci</code>, <code>vfio_iommu_type1</code>, <code>vfio_virqfd</code>, <code>kvm</code>, <code>kvm_intel</code>, <code>kvm_amd</code>, <code>nvidia</code>, <code>nvidia_drm</code>, <code>nvidia_modeset</code>, <code>nvidia_uvm</code>, <code>i915</code>, <code>xe</code>) a ešte nie sú prítomné v cieľovom <code>/etc/modules</code>."
|
||||
},
|
||||
{
|
||||
"phase": "3 — Kopírovanie povolených súborov",
|
||||
"detail": "<code>_rs_hyd_files</code> skopíruje súbory vytvorené používateľom z prípravného rootfs na živý cieľ, keď sa obsah líši. Whitelist pokrýva súbory VFIO/nvidia/blacklist podľa pravidiel <code>/etc/modprobe.d</code>, <code>/etc/modules-load.d</code> a ProxMenux VFIO sa viaže na pravidlo + nvidia udev podľa pravidiel <code>/etc/udev/rules.d</code>. Distro-vlastnené súbory (<code>pve-blacklist.conf</code>, <code>mdadm.conf</code>, <code>nvme.conf</code>) sú zámerne vylúčené, pretože sa ich obsah mení medzi vydaniami."
|
||||
},
|
||||
{
|
||||
"phase": "4 — Vynútenie obnovy po štarte",
|
||||
"detail": "Štyri fázy píšu priamo na živý cieľ mimo bežného postupu obnovy. Aby zlúčené žetóny/moduly/súbory nadobudli účinnosť na ďalšom štarte, <code>HB_HYDRATION_APPLIED=1</code> sa šíri cez <code>plan.env</code> na <code>apply_pending_restore.sh</code>, čo núti <code>NEEDS_INITRAMFS=1</code> a <code>NEEDS_GRUB=1</code> bez ohľadu na to, čo bolo v zozname. Post-boot dispečer potom regeneruje initramfs a osvieži bootloader."
|
||||
}
|
||||
]
|
||||
},
|
||||
"planCommit": {
|
||||
"heading": "Plánovanie a vykonanie — používateľ najprv vidí náhľad",
|
||||
"body": "Doplnenie má dva režimy. Pred potvrdením ProxMenux spustí <code>_rs_apply_bk_older_hydration</code> v režime <code>plan</code>: vypočíta zmeny, naplní <code>RS_HYDRATION_SUMMARY</code> zeleným zoznamom akcií a nič nezapíše. Dialóg ho zobrazí vedľa žltého zoznamu vynechaných ciest, aby používateľ vopred poznal zmeny. Po potvrdení spustí rovnakú funkciu v režime <code>commit</code>: tie isté fázy a logika, teraz so zápisom do cieľa. Zrušenie ponechá cieľ nedotknutý."
|
||||
},
|
||||
"flowDiagram": {
|
||||
"heading": "Tok, keď je cieľové jadro novšie ako záložné",
|
||||
"intro": "Kroky pridané, keď je cieľové jadro novšie, sú v rámci normálneho toku obnovy. Všetko ostatné – horúce použitie, čakajúca príprava, inštalácia balíka, dispečer po spustení – beží identicky ako pri obnove rovnakého jadra.",
|
||||
"diagram": " ┌────────────────────────────────────────────────────────────┐\n │ hb_compat_check │\n │ HB_COMPAT_KERNEL_DIRECTION = bk_older │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ Add 16 boot-critical paths to RS_SKIP_PATHS │\n │ /etc/default/grub, /etc/kernel, /etc/modules-load.d, ... │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ _rs_apply_bk_older_hydration \"plan\" │\n │ Compute what would be merged │\n │ Populate RS_HYDRATION_SUMMARY (green block) │\n │ No writes │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ Confirmation dialog │\n │ Amber: paths skipped by safe-subset filter │\n │ Green: tokens/files reapplied by hydration │\n │ User accepts or cancels │\n └───────────────────────────┬────────────────────────────────┘\n │ (accepted)\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ _rs_apply_bk_older_hydration \"commit\" │\n │ Phase 1a/1b: merge cmdline tokens + GRUB keys │\n │ Phase 2: append modules to /etc/modules │\n │ Phase 3: copy whitelisted vfio/nvidia files │\n │ Set HB_HYDRATION_APPLIED=1 │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ Rest of the restore runs normally │\n │ _rs_apply hot (skips RS_SKIP_PATHS) │\n │ _rs_prepare_pending_restore (writes plan.env with │\n │ HB_HYDRATION_APPLIED=1) │\n │ packages.manual.list install │\n │ Reboot │\n │ apply_pending_restore.sh (forces NEEDS_INITRAMFS=1, │\n │ NEEDS_GRUB=1 because of the hydration flag) │\n │ apply_cluster_postboot.sh │\n │ update-initramfs -u -k all │\n │ update-grub / proxmox-boot-tool refresh │\n │ component --auto-reinstall │\n └────────────────────────────────────────────────────────────┘"
|
||||
},
|
||||
"concreteExamples": {
|
||||
"heading": "Konkrétne príklady",
|
||||
"intro": "Doplnenie nastavení má pri bežných scenároch pozorovateľné výsledky. Dva príklady automaticky spracovaných prípadov:",
|
||||
"rows": [
|
||||
{
|
||||
"scenario": "GPU priechod (VFIO)",
|
||||
"detail": "Zdroj mal <code>intel_iommu=on iommu=pt</code> v cmdline, <code>vfio</code>/<code>vfio_pci</code>/<code>vfio_iommu_type1</code> v <code>/etc/modules</code>, <code>/etc/modprobe.d/vfio.conf</code> s <code>options vfio-pci ids=10de:2216</code>, a <code>/etc/modprobe.d/blacklist-nvidia.conf</code>. Hydratácia zlučuje žetóny cmdline do cieľovej GRUB alebo jadra cmdline, pridá vfio moduly do <code>/etc/modules</code>, a skopíruje dva používateľom vytvorené modprobe súbory. Pri ďalšom štarte je IOMMU aktívna, moduly VFIO sa načítajú, GPU je viazaný na vfio-pci a VM sa spustí s funkčným odovzdaním GPU."
|
||||
},
|
||||
{
|
||||
"scenario": "Vlastné GRUB predvolené",
|
||||
"detail": "Zdroj mal <code>GRUB_TIMEOUT=1</code> a <code>GRUB_DISABLE_OS_PROBER=true</code>. Hydratácia číta oba kľúče z <code>/etc/default/grub</code> zálohy, vidí, že sa líšia od čerstvých predvolených inštalácií, a prepíše tieto dva riadky v cieľovom súbore (uloženie všetko ostatné, vrátane <code>GRUB_DISTRIBUTOR</code>, nedotknuté)."
|
||||
}
|
||||
]
|
||||
},
|
||||
"callout": {
|
||||
"warningTitle": "Čo sa pri novšom cieľovom jadre neobnovuje",
|
||||
"warningBody": "Doplnenie obnoví iba vybrané nastavenia považované za prenosné medzi jadrami: parametre IOMMU, ID VFIO, povolené kľúče GRUB a moduly z pevného zoznamu (<code>vfio*</code>, <code>nvidia*</code>, <code>i915</code>, <code>xe</code>, <code>kvm*</code>). Ostatné položky, ako vlastné hooky initramfs v <code>/etc/initramfs-tools/hooks/</code>, nepovolené súbory v <code>/etc/modprobe.d/</code> a vlastné úpravy jednotiek systemd, zostanú vynechané. Môžu používať rozhrania jadra, rozloženie <code>/sys</code> a hooky <code>udev</code>, ktoré sa medzi hlavnými verziami menia a môžu zabrániť štartu. Na presné obnovenie štartovacieho reťazca použite rovnakú hlavnú verziu jadra ako v zálohe."
|
||||
},
|
||||
"codeReference": {
|
||||
"heading": "Kde mechanizmy žijú",
|
||||
"intro": "Pre vývojárov, ktorí chcú sledovať alebo rozšíriť správanie obnovy medzi verziami jadra:",
|
||||
"rows": [
|
||||
{
|
||||
"component": "Smerové zistenie",
|
||||
"location": "<code>hb_compat_check</code> v <code>lib_host_backup_common.sh</code>. Nastaví <code>HB_COMPAT_KERNEL_DIRECTION</code>."
|
||||
},
|
||||
{
|
||||
"component": "Zoznam ciest bezpečného filtra",
|
||||
"location": "<code>hb_unsafe_paths_cross_version</code> v <code>lib_host_backup_common.sh</code>. Vypíše <code>path\\treason</code> riadky používané ako CLI filter a webový koncový ukazovateľ <code>/api/host-backups/restore/prepare</code>."
|
||||
},
|
||||
{
|
||||
"component": "Hydratačné fázy",
|
||||
"location": "<code>_rs_hyd_grub</code>, <code>_rs_hyd_kernel_cmdline</code>, <code>_rs_hyd_modules</code>, <code>_rs_hyd_files</code> v <code>backup_host.sh</code>. Orchestrovaný <code>_rs_apply_bk_older_hydration</code>."
|
||||
},
|
||||
{
|
||||
"component": "Vynútenie obnovy po štarte",
|
||||
"location": "<code>apply_pending_restore.sh</code> prečíta <code>HB_HYDRATION_APPLIED</code> z <code>plan.env</code> a vynúti <code>NEEDS_INITRAMFS=1</code>/<code>NEEDS_GRUB=1</code>."
|
||||
},
|
||||
{
|
||||
"component": "Webový náhľad",
|
||||
"location": "<code>/api/host-backups/restore/prepare</code> v <code>flask_server.py</code>. Načíta pomocnú knižnicu, spustí <code>_rs_apply_bk_older_hydration</code> v režime plánu, vráti akcie na Web modus."
|
||||
}
|
||||
]
|
||||
},
|
||||
"whereNext": {
|
||||
"heading": "Kam ísť ďalej",
|
||||
"items": [
|
||||
{
|
||||
"label": "Obnovenie",
|
||||
"href": "/docs/backup-restore/restoring",
|
||||
"tail": " — úplný postup obnovy, do ktorého sa tieto mechanizmy zapájajú."
|
||||
},
|
||||
{
|
||||
"label": "Ako to funguje",
|
||||
"href": "/docs/backup-restore/how-it-works",
|
||||
"tail": " — manifest a zberné funkcie vytvárajúce blok <code>kernel_params</code>, z ktorého doplnenie číta."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,234 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Cieľ Borg — typy repozitárov, overenie SSH a šifrovanie | ProxMenux",
|
||||
"description": "Cieľ Borg ukladá zálohy hostiteľa ProxMenux do lokálneho úložiska, na pripojený externý disk alebo na vzdialený server cez SSH. Opisuje vyhľadanie spustiteľného súboru borg, štyri úvodné možnosti kľúča SSH, šifrovanie repokey, uloženú konfiguráciu cieľa a uchovávanie podľa plánovanej úlohy.",
|
||||
"ogTitle": "ProxMenux Backup — cieľ Borg",
|
||||
"ogDescription": "Ako ProxMenux ukladá zálohy hostiteľa do úložísk Borg s overením SSH a šifrovaním repokey.",
|
||||
"twitterTitle": "Cieľ záloh Borg | ProxMenux",
|
||||
"twitterDescription": "Lokálne úložiská Borg, úložiská na USB a dostupné cez SSH pre zálohy hostiteľa."
|
||||
},
|
||||
"header": {
|
||||
"title": "Borg",
|
||||
"description": "Cieľ Borg píše zálohy hostiteľa do úložiska Borg. Podporujú sa tri typy úložiska: cesta k lokálnemu súborovému systému, namontovaný externý disk alebo vzdialený server cez SSH. Deduplikácia po blokoch vo všetkých archívoch v úložisku a voliteľné šifrovanie repokey.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"aboutBorg": {
|
||||
"heading": "Čo je Borg?",
|
||||
"body": "Borg, známy aj ako BorgBackup, je otvorený zálohovací nástroj s deduplikáciou, ktorý udržiava komunita Borg Backup. Každý archív ukladá ako bloky premenlivej dĺžky v úložisku. Bloky sa zdieľajú medzi archívmi, takže opakovaná záloha nezmenených údajov spotrebuje takmer nulové dodatočné miesto. Borg nie je viazaný na Proxmox: je to univerzálny nástroj používaný v mnohých prostrediach. ProxMenux ho používa ako jeden z troch cieľov záloh hostiteľa. Všetky tu opísané mechanizmy (typy úložísk, borg-serve cez SSH, šifrovanie repokey a prune) sú štandardným správaním Borgu."
|
||||
},
|
||||
"intro": {
|
||||
"title": "Deduplikácia po blokoch s lokálnymi úložiskami alebo úložiskami cez SSH",
|
||||
"body": "Úložisko Borg ukladá bloky zdieľané medzi všetkými svojimi archívmi. Opakovaná záloha nezmeneného súboru preto neprenáša ani neukladá nové údaje. ProxMenux používa pri zálohovaní <code>borg create</code> a pri obnove <code>borg extract</code>. Úložisko môže byť na rovnakom súborovom systéme ako zdroj, na pripojenom externom disku alebo na vzdialenom hostiteľovi cez SSH."
|
||||
},
|
||||
"binarySourcing": {
|
||||
"heading": "Spustiteľný súbor borg",
|
||||
"intro": "Borg nie je základnou závislosťou inštalátora ProxMenux. Keď beží záloha, <code>hb_ensure_borg</code> vyrieši binárny zo štyroch zdrojov v poradí a vráti prvý, ktorý funguje:",
|
||||
"rows": [
|
||||
{
|
||||
"priority": "1",
|
||||
"source": "Systém <code>borg</code>",
|
||||
"detail": "Ak má hostiteľ už <code>borg</code> nainštalovaný cez APT (<code>which borg</code>), použije sa tento binárny kód."
|
||||
},
|
||||
{
|
||||
"priority": "2",
|
||||
"source": "Vyrovnávacia pamäť stavového adresára",
|
||||
"detail": "<code>/usr/local/share/proxmenux/borg</code> — súbor uchovaný po predchádzajúcom stiahnutí z GitHubu na tomto hostiteľovi."
|
||||
},
|
||||
{
|
||||
"priority": "3",
|
||||
"source": "Balík AppImage Monitora",
|
||||
"detail": "<code>/usr/local/share/proxmenux/monitor-app/usr/bin/borg</code> — AppImage obsahuje podpísaný borg-linux64. Táto možnosť funguje aj bez internetu: hostiteľ má stále použiteľný <code>borg</code>."
|
||||
},
|
||||
{
|
||||
"priority": "4",
|
||||
"source": "GitHub stiahnuť",
|
||||
"detail": "Stiahnutie pomocou <code>wget</code> z pevne určenej URL súboru <code>borg-linux64</code> v <code>github.com/borgbackup/borg/releases/</code>, overené oproti konštante SHA-256 v <code>lib_host_backup_common.sh</code> (<code>HB_BORG_LINUX64_SHA256</code>). Pri nesúlade kontrolného súčtu sa binárny súbor odstráni a zálohovanie sa preruší. Stiahnutý súbor sa uchová v stavovom adresári, takže ďalšie zálohovania použijú postup 2."
|
||||
}
|
||||
]
|
||||
},
|
||||
"repoTypes": {
|
||||
"heading": "Typy úložísk",
|
||||
"intro": "Typ úložiska je vybraný pri pridaní cieľa. Každý typ rieši inú URL úložiska, ktorému Borg rozumie.",
|
||||
"rows": [
|
||||
{
|
||||
"type": "remote",
|
||||
"url": "ssh://USER@HOST/RPATH",
|
||||
"detail": "Úložisko žije na vzdialenom serveri, ktorý prevádzkuje <code>borg serve</code>. Vyžaduje pripojenie SSH k tomu serveru."
|
||||
},
|
||||
{
|
||||
"type": "usb",
|
||||
"url": "/mnt/MOUNTPOINT/borgbackup",
|
||||
"detail": "Repozitár žije na pripojenom externom disku (zvyčajne USB). Pripojenie je riešené pomocou <code>hb_prompt_mounted_path</code>, ktorý detekuje, pripojí alebo formáty USB partícií podľa potreby."
|
||||
},
|
||||
{
|
||||
"type": "local",
|
||||
"url": "/backup/borgbackup (any absolute path)",
|
||||
"detail": "Úložisko žije v lokálnom adresári. Zmysluplné iba vtedy, keď je cieľový adresár na samostatnom fyzickom disku – úložisko na rovnakom disku ako zdroj chráni pred chybou operátora, ale nie pred zlyhaním disku."
|
||||
}
|
||||
]
|
||||
},
|
||||
"serverSetup": {
|
||||
"heading": "Príprava servera Borg (strana servera)",
|
||||
"intro": "Typ úložiska <code>remote</code> vyžaduje funkčný server Borg dostupný cez SSH. ProxMenux server sám nenastavuje; iba autorizuje kľúč pre existujúci účet. Táto časť opisuje požiadavky pred pripojením.",
|
||||
"hostChoicesTitle": "Kde môže server žiť",
|
||||
"hostChoicesBody": "Každý host Linux s prístupom SSH spĺňa požiadavky. Spoločné nastavenia:",
|
||||
"hostChoicesItems": [
|
||||
"Dedikovaný NAS alebo záložný box (Debian, Ubuntu, TrueNAS SCALE so shellom).",
|
||||
"Kontajner LXC vnútri uzol Proxmox. Malá stopa, izolovaná od hostiteľa, ktorý riadi zálohy.",
|
||||
"Ďalší hostiteľ Proxmox v rovnakej sieti LAN alebo VM kdekoľvek dosiahnuteľný cez SSH."
|
||||
],
|
||||
"lxcWarningTitle": "LXC ako server Borg",
|
||||
"lxcWarningBody": "Ak server Borg beží v LXC, generate-auto vyžaduje pri inštalácii kľúča účet povoľujúci overenie SSH heslom. Ak nie je dostupný, použite ručnú inštaláciu kľúča alebo alternatívu generate-pct cez hostiteľa PVE.",
|
||||
"requirementsTitle": "Požiadavky na server",
|
||||
"requirementsRows": [
|
||||
{
|
||||
"requirement": "Spustiteľný súbor borg na ceste <code>/usr/bin/borg</code>",
|
||||
"detail": "Riadok <code>command=\"/usr/bin/borg serve ...\"</code>, ktorý ProxMenux zapíše do <code>authorized_keys</code>, používa túto pevnú cestu. APT (<code>apt install borgbackup</code>) sem program nainštaluje. Samostatný binárny súbor musí mať symbolický odkaz na ceste <code>/usr/bin/borg</code>."
|
||||
},
|
||||
{
|
||||
"requirement": "Dedikovaný užívateľský účet (zvyčajne <code>borg</code>)",
|
||||
"detail": "Vlastní adresár úložiska a prijíma prichádzajúce SSH spojenie. Nepotrebuje sudo alebo shell prístup authorized_keys linka aj tak znemožňuje interaktívne shelly."
|
||||
},
|
||||
{
|
||||
"requirement": "Zapisovateľný adresár úložiska",
|
||||
"detail": "Cesta, ktorú operátor poskytuje ProxMenux (napríklad <code>/backup/borgbackup</code>) musí existovať na serveri a musí byť vo vlastníctve používateľa borg."
|
||||
},
|
||||
{
|
||||
"requirement": "SSH démon akceptujúci používateľa borg",
|
||||
"detail": "<code>PubkeyAuthentication yes</code> (predvolené). Overenie heslom je potrebné iba pri inštalácii kľúča cez <em>generate-auto</em>. Po nainštalovaní kľúča môže server overenie heslom úplne vypnúť."
|
||||
}
|
||||
],
|
||||
"minimalSetupTitle": "Nastavenie minimálneho servera",
|
||||
"minimalSetupBody": "Na serveri Borg so systémom Debian alebo Ubuntu tvoria základ konfigurácie štyri príkazy spustené ako root:",
|
||||
"minimalSetupCmd": "apt install borgbackup\nuseradd -m -d /home/borg -s /bin/bash borg\nmkdir -p /backup/borgbackup\nchown borg:borg /backup/borgbackup",
|
||||
"minimalSetupNote": "Keď je server pripravený a povoľuje overenie SSH heslom, režim <code>generate-auto</code> nainštaluje kľúč cez účet s právom zapisovať do authorized_keys používateľa borg. Ďalšie zálohy používajú tento kľúč obmedzený na <code>borg serve</code> v nastavenej ceste. Bez prihlásenia heslom ho nainštalujte ručne alebo cez hostiteľa PVE."
|
||||
},
|
||||
"sshAuth": {
|
||||
"heading": "Overenie SSH (klientská strana)",
|
||||
"intro": "Remote Borg archívy sú prístupné cez SSH. Spojenie beží od ProxMenux host na užívateľský účet na serveri Borg, ktorý beží <code>borg serve</code>. Tento užívateľ je zvyčajne pomenovaný <code>borg</code>, NIE je admin / root užívateľa servera borg-serve príkazový riadok zablokuje pripojenie k tejto konkrétnej trase úložiska (pozri nižšie kľúčové stratégie).",
|
||||
"strategiesTitle": "Možnosti kľúča SSH",
|
||||
"strategiesIntro": "Pri pridaní vzdialeného cieľa vyžiada ProxMenux používateľa SSH, hostiteľa, port a vzdialenú cestu a ponúkne štyri možnosti overenia. Ak je overenie heslom odmietnuté, ponúkne aj alternatívu generate-pct. Režimy sú opísané nižšie:",
|
||||
"strategyRows": [
|
||||
{
|
||||
"mode": "generate-auto",
|
||||
"label": "Odporúčané",
|
||||
"detail": "ProxMenux vygeneruje alebo znovu použije pár kľúčov ed25519 na ceste <code>~/.ssh/borg_proxmenux_HOST_ed25519</code>. Pomocou <code>sshpass</code> otestuje prihlásenie a nainštaluje verejný kľúč do <code>~borg/.ssh/authorized_keys</code>. Heslo patrí účtu, ktorý môže do súboru zapisovať, zvyčajne root alebo borg. Používa sa pri nastavení a neukladá sa."
|
||||
},
|
||||
{
|
||||
"mode": "generate-manual",
|
||||
"label": "Žiadne admin heslo na tomto hostiteľovi",
|
||||
"detail": "ProxMenux generuje pár kľúčov, ako je uvedené vyššie, ale zobrazuje plnú linku <code>authorized_keys</code> pre operátora na manuálne vkladanie do servera. Admin heslo nikdy neopustí ProxMenux hostiteľa, pretože to nie je nikdy žiadané."
|
||||
},
|
||||
{
|
||||
"mode": "generate-pct",
|
||||
"label": "Borg server je PVE LXC",
|
||||
"detail": "Server Borg beží vo vnútri LXC na uzle PVE. ProxMenux povoľuje kľúč cez <code>pct exec</code> z PVE hostiteľa a root na hostiteľovi PVE píše do LXC's <code>~borg/.ssh/authorized_keys</code> bez potreby SSH do LXC sama o sebe."
|
||||
},
|
||||
{
|
||||
"mode": "existing",
|
||||
"label": "Použiť existujúci kľúč",
|
||||
"detail": "ProxMenux skenuje <code>/root/.ssh/</code> a <code>$HOME/.ssh/</code> na analyzovateľné súkromné kľúče ed25519/RSA a uvádza ich. Operátor vyberie jednu alebo manuálne prejde na neštandardnú cestu."
|
||||
},
|
||||
{
|
||||
"mode": "none",
|
||||
"label": "Štandardná konfigurácia SSH",
|
||||
"detail": "Bez vlastného kľúča: Borg používa predvolenú konfiguráciu SSH hostiteľa, zvyčajne <code>~/.ssh/id_rsa</code> alebo agenta SSH."
|
||||
}
|
||||
],
|
||||
"restrictTitle": "Čiara authorized_keys",
|
||||
"restrictBody": "Pre každý vygenerovaný kľúč obmedzí riadok <code>authorized_keys</code> zapísaný na serveri použitie kľúča na toto volanie borg-serve pre nastavenú cestu úložiska:",
|
||||
"restrictLine": "command=\"/usr/bin/borg serve --restrict-to-path RPATH\",restrict PUBKEY",
|
||||
"restrictNote": "<code>command=</code> núti každé SSH sedenie pomocou tohto kľúča spustiť len to borg-serve príkaz; <code>restrict</code> vypne port forwarding, agent forwarding, X11 forwarding a PTY alokácie. Kľúč nemožno použiť na otvorenie interaktívneho shellu na serveri alebo na prístup k akejkoľvek inej ceste úložiska, aj keď má účet širšie práva."
|
||||
},
|
||||
"savedTargets": {
|
||||
"heading": "Uložené ciele",
|
||||
"intro": "Uložený cieľ uchová konfiguráciu úložiska pod zrozumiteľným názvom, aby údaje nebolo potrebné zadávať znova. Súbory v stavovom adresári ProxMenux:",
|
||||
"rows": [
|
||||
{
|
||||
"file": "borg-targets.txt",
|
||||
"content": "Jeden riadok pre každý cieľ: <code>NAME|REPO|SSH_KEY_PATH|ENCRYPT_MODE</code>. Funkcia <code>hb_collect_borg_configs</code> ho načíta pri zostavovaní ponuky cieľov."
|
||||
},
|
||||
{
|
||||
"file": "borg-pass-NAME.txt",
|
||||
"content": "Passfráza pre cieľ uvedený vyššie (<code>chmod 600</code>). Prítomný len vtedy, keď si operátor vybral kódovanie repokey."
|
||||
}
|
||||
],
|
||||
"outro": "Uloženie cieľa je voliteľné. Odmietnutím sa neuloží pomenovaná konfigurácia, ale vygenerovaný kľúč SSH sa neodstráni. Ak je šifrovanie repokey zapnuté bez uloženého cieľa, ProxMenux aj tak uloží prístupovú frázu do staršieho súboru borg-pass.txt."
|
||||
},
|
||||
"encryption": {
|
||||
"heading": "Šifrovanie",
|
||||
"body": "Repozitáre sa inicializujú so zvoleným režimom šifrovania cez <code>hb_borg_init_if_needed</code>: ak je dostupný novší príkaz <code>borg repo-create -e MODE</code>, použije sa ten, inak starší <code>borg init --encryption=MODE</code>. ProxMenux ponúka dva režimy: <code>repokey</code> (predvolený) a <code>none</code>. V režime <code>repokey</code> Borg ukladá šifrovací kľúč priamo do repozitára. Prístup vyžaduje heslovú frázu, ktorú ProxMenux žiada zadať dvakrát, overí zhodu a pri uloženom cieli ju uloží do <code>borg-pass-NAME.txt</code>, inak do staršieho súboru opísaného vyššie. Po uložení sa zobrazí povinné potvrdenie: heslová fráza je jedinou cestou k zašifrovaným archívom a jej strata znemožní obnovu všetkých archívov v repozitári."
|
||||
},
|
||||
"runtimeEnv": {
|
||||
"heading": "Runtime prostredie",
|
||||
"intro": "ProxMenux exportuje nasledujúce premenné prostredia pred vyvolaním <code>borg</code>. Konfigurujú pripojenie a odomykajú úložisko bez vloženia tajomstiev do príkazového riadku.",
|
||||
"rows": [
|
||||
{
|
||||
"var": "BORG_RSH",
|
||||
"value": "ssh -i SSH_KEY_PATH -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new [-p PORT]",
|
||||
"purpose": "Príkaz vzdialeného shellu pre úložiská Borg cez SSH. Vybraný kľúč pridá voľby identity. Keď sa cieľ prvýkrát pridá s neštandardným portom, ProxMenux pridá aj -p PORT; uložené ciele, plánované úlohy a Monitor namiesto toho používajú port z URL ssh://. Bez vlastného kľúča a pri novom cieli s predvoleným portom zostane premenná nenastavená a Borg používa konfiguráciu SSH hostiteľa."
|
||||
},
|
||||
{
|
||||
"var": "BORG_PASSPHRASE",
|
||||
"value": "(passfráza z borg-pass-NAME.txt)",
|
||||
"purpose": "Odomkne repokey. Nastaviť iba vtedy, keď cieľ používa šifrovanie <code>repokey</code>. Nikdy sa neobjaví v zozname procesných argumentov."
|
||||
},
|
||||
{
|
||||
"var": "BORG_ENCRYPT_MODE",
|
||||
"value": "repokey | none",
|
||||
"purpose": "Použité <code>hb_borg_init_if_needed</code> pri inicializácii úložiska, ktoré ešte neexistuje. Ignorované <code>borg create</code> na existujúcich archívoch."
|
||||
},
|
||||
{
|
||||
"var": "BORG_RELOCATED_REPO_ACCESS_IS_OK",
|
||||
"value": "yes",
|
||||
"purpose": "Potlačí interaktívnu otázku Borgu, keď sa URL úložiska líši od pôvodnej adresy, napríklad po premenovaní bodu pripojenia alebo zmene adresy hostiteľa SSH."
|
||||
},
|
||||
{
|
||||
"var": "BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK",
|
||||
"value": "yes",
|
||||
"purpose": "Potlačí interaktívnu výzvu, ktorú Borg vyvolá pri prvom prístupe k nezašifrovanému úložisku z nového klienta."
|
||||
}
|
||||
]
|
||||
},
|
||||
"archiveFormat": {
|
||||
"heading": "Archive pomenovanie a uchovávanie",
|
||||
"intro": "Každá záloha vytvorí nový archív vo vnútri úložiska.",
|
||||
"namePattern": "hostcfg-HOSTNAME-YYYYMMDD_HHMMSS",
|
||||
"retentionBody": "Pre plánované úlohy, <code>run_scheduled_backup.sh</code> beží <code>borg prune</code> proti úložisku po každom úspešnom zálohovaní s retenčnými hodnotami nastavenými na úlohu (<code>--keep-last</code>, <code>--keep-daily</code>, <code>--keep-weekly</code>). Interaktívne zálohy neprerezávajú."
|
||||
},
|
||||
"restoreAccess": {
|
||||
"heading": "Získavanie na strane obnovy",
|
||||
"body": "Obnova vypíše archívy pomocou <code>borg list REPO</code> a vybraný archív rozbalí príkazom <code>borg extract REPO::ARCHIVE-NAME</code> do prípravného adresára. Funkcia <code>_rs_check_layout</code> ho odovzdá štandardnému procesu obnovy. Rovnaké príkazy fungujú aj ručne mimo ProxMenux. Rozbalený strom má trojblokovú štruktúru opísanú v časti <em>Ako to funguje</em>."
|
||||
},
|
||||
"references": {
|
||||
"heading": "Odkazy",
|
||||
"intro": "Oficiálna dokumentácia Borg ku komponentom, ktoré ProxMenux používa.",
|
||||
"items": [
|
||||
{
|
||||
"label": "Dokumentácia Borg",
|
||||
"href": "https://borgbackup.readthedocs.io/",
|
||||
"tail": " — hlavný rozcestník pre pojmy, nasadenie, rýchly začiatok a všetky príkazy."
|
||||
},
|
||||
{
|
||||
"label": "borg create",
|
||||
"href": "https://borgbackup.readthedocs.io/en/stable/usage/create.html",
|
||||
"tail": " — príkaz, ktorý ProxMenux používa pri každej zálohe, so všetkými podporovanými voľbami."
|
||||
},
|
||||
{
|
||||
"label": "Šifrovanie úložiska",
|
||||
"href": "https://borgbackup.readthedocs.io/en/stable/usage/init.html#encryption-mode",
|
||||
"tail": " — režimy šifrovania podporované Borgom vrátane repokey, ktorý ProxMenux používa predvolene."
|
||||
},
|
||||
{
|
||||
"label": "borg serve a nasadenie cez SSH",
|
||||
"href": "https://borgbackup.readthedocs.io/en/stable/deployment/central-backup-server.html",
|
||||
"tail": " — nastavenie centrálneho servera Borg dostupného cez SSH vrátane príkazu borg-serve a voľby restrict-to-path, ktoré ProxMenux zapisuje do authorized_keys."
|
||||
},
|
||||
{
|
||||
"label": "borg prune",
|
||||
"href": "https://borgbackup.readthedocs.io/en/stable/usage/prune.html",
|
||||
"tail": " — model uchovávania pre --keep-last / --keep-daily / --keep-weekly, ktorý ProxMenux uplatňuje pri každej plánovanej úlohe."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Ciele záloh — lokálny archív, Proxmox Backup Server a Borg | ProxMenux",
|
||||
"description": "Tri úložné backendy prijímajú rovnaký obsah zálohy ProxMenux: lokálny archív .tar.zst na ľubovoľnom zapisovateľnom súborovom systéme, zálohu PBS v dátovom úložisku Proxmox Backup Server alebo archív Borg v lokálnom či vzdialenom repozitári Borg. Každý backend má vlastné vlastnosti kompresie, deduplikácie, šifrovania a sieťovej komunikácie.",
|
||||
"ogTitle": "Ciele záloh ProxMenux",
|
||||
"ogDescription": "Lokálny archív, Proxmox Backup Server a Borg — tri úložné backendy pre rovnaký obsah zálohy hostiteľa.",
|
||||
"twitterTitle": "Ciele záloh ProxMenux | ProxMenux",
|
||||
"twitterDescription": "Miestny archív, Proxmox Backup Server a Borg backendy pre zálohovanie hostiteľov."
|
||||
},
|
||||
"header": {
|
||||
"title": "Ciele",
|
||||
"description": "Tri úložné backendy podporované funkciou ProxMenux Backup: lokálny archív, Proxmox Backup Server (odporúčaný) a Borg. Každý prijíma rovnaký archív s tromi blokmi údajov; líšia sa formátom úložiska, deduplikáciou, modelom šifrovania a sieťovými požiadavkami.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Rovnaký obsah, tri backendy",
|
||||
"body": "Každá záloha vytvorí rovnaké tri bloky údajov (rootfs, manifest, aplikácie). Jednotlivé ciele sa líšia spôsobom uloženia týchto údajov a ich získania na obnovu. Každý backend je samostatná funkcia v <code>backup_host.sh</code> — <code>_bk_local</code>, <code>_bk_pbs</code>, <code>_bk_borg</code> — všetky tri však zdieľajú rovnaký krok dočasnej prípravy (<code>hb_prepare_staging</code>) a rovnakú vetvu kódu obnovy. Voľba cieľa ovplyvňuje iba zápis a získanie údajov; nemení priebeh obnovy ani spôsob použitia archívu."
|
||||
},
|
||||
"comparison": {
|
||||
"heading": "Porovnanie funkcií",
|
||||
"intro": "Nasledujúca tabuľka uvádza konkrétne rozdiely medzi tromi backendmi, ako sa správajú v ProxMenux dnes. Všetky hodnoty opisujú pozorované správanie samotného backendu, nie redakčné odporúčania.",
|
||||
"rows": [
|
||||
{
|
||||
"feature": "Formát úložiska",
|
||||
"local": "Jeden súbor <code>.tar.zst</code> (alebo <code>.tar.gz</code>, ak <code>zstd</code> chýba).",
|
||||
"pbs": "Záloha PBS (bloky <code>.pxar</code> v dátovom úložisku).",
|
||||
"borg": "Borg archív vnútri úložiska Borg (segment súbory)."
|
||||
},
|
||||
{
|
||||
"feature": "Kompresia",
|
||||
"local": "zstd (štandardná úroveň) cez <code>tar --zstd</code>. gzip fallback.",
|
||||
"pbs": "Spravuje ju proxmox-backup-client. ProxMenux nemení nastavenia kompresie.",
|
||||
"borg": "Vstavaná kompresia Borg. ProxMenux volá borg create bez zmeny nastavení kompresie."
|
||||
},
|
||||
{
|
||||
"feature": "Deduplikácia",
|
||||
"local": "Žiadne. Každá záloha je úplne nezávislý archív.",
|
||||
"pbs": "Úplná deduplikácia na úrovni blokov medzi všetkými zálohami v dátovom úložisku.",
|
||||
"borg": "Úplná deduplikácia na úrovni blokov medzi všetkými archívmi v repozitári."
|
||||
},
|
||||
{
|
||||
"feature": "Šifrovanie v pokoji",
|
||||
"local": "Žiadne (podliehajú ochrane súborového systému).",
|
||||
"pbs": "Voliteľné šifrovanie na strane klienta pomocou súboru kľúča. Po zapnutí sa objekt obnovy odošle ako samostatná skupina záloh.",
|
||||
"borg": "Voliteľné šifrovanie repokey (kľúč uložený v repo, odomknutý heslom)."
|
||||
},
|
||||
{
|
||||
"feature": "Uchovávanie / čistenie",
|
||||
"local": "Použije sa pre každú plánovanú úlohu cez <code>KEEP_LAST</code>. Staré archívy sa odstránia spolu so sprievodnými súbormi a záznamami spúšťacieho skriptu. Interaktívne zálohy nevykonávajú čistenie.",
|
||||
"pbs": "Použité pre každú plánovanú úlohu cez <code>proxmox-backup-client prune --keep-last / --keep-daily / --keep-weekly</code>. Interaktívne zálohy nevykonávajú čistenie.",
|
||||
"borg": "Použité pre každú plánovanú úlohu cez <code>borg prune --keep-last / --keep-daily / --keep-weekly</code>. Interaktívne zálohy nevykonávajú čistenie."
|
||||
},
|
||||
{
|
||||
"feature": "Sieť",
|
||||
"local": "Žiadne. Píše do lokálneho bodu pripojenia (obvykle interný disk alebo USB disk).",
|
||||
"pbs": "TCP na server PBS (predvolený port 8007). Požaduje prihlasovacie údaje PBS + odtlačok certifikátu.",
|
||||
"borg": "Lokálna cesta súborového systému alebo tunel SSH k vzdialenému Borg hostiteľovi."
|
||||
},
|
||||
{
|
||||
"feature": "Závislosti",
|
||||
"local": "<code>tar</code>, <code>zstd</code> (predvolene prítomné na Proxmoxe).",
|
||||
"pbs": "Balík <code>proxmox-backup-client</code> (dodávaný s Proxmox VE 8+).",
|
||||
"borg": "Binárny <code>borg</code>. Automatické poskytovanie ProxMenux z balíka Monitor AppImage v prípade, že chýba."
|
||||
},
|
||||
{
|
||||
"feature": "Prístup potrebný na obnovu",
|
||||
"local": "Akýkoľvek hostiteľ s tar+zstd môže extrahovať archív. Nie je potrebné PBS/Borg.",
|
||||
"pbs": "Vyžaduje <code>proxmox-backup-client</code>, prihlasovacie údaje PBS a súbor kľúča (pri šifrovanej zálohe).",
|
||||
"borg": "Vyžaduje <code>borg</code> + cestu k úložisku + heslo (ak je zašifrované)."
|
||||
}
|
||||
],
|
||||
"captionCode": "feature",
|
||||
"captionLocal": "Lokálne",
|
||||
"captionPbs": "Proxmox Backup Server (odporúčané)",
|
||||
"captionBorg": "Borg"
|
||||
},
|
||||
"sameArchive": {
|
||||
"heading": "Rozloženie archívu sa nemení s destináciou",
|
||||
"body": "V každom z troch cieľov sa nachádza rovnaká štruktúra <code>rootfs/</code> + <code>metadata/</code> + <code>manifest.json</code> opísaná v časti <em>Ako to funguje</em>. Rozbalenie lokálneho archívu <code>.tar.zst</code>, obnova <code>.pxar</code> z PBS aj rozbalenie archívu Borg cez <code>borg extract</code> vytvoria rovnaký adresárový strom. Vetva kódu obnovy (<code>_rs_check_layout</code>, <code>_rs_apply</code>, <code>_rs_prepare_pending_restore</code>) číta rovnaké tri bloky údajov bez potreby vedieť, z ktorého cieľa pochádzajú."
|
||||
},
|
||||
"extractStandalone": {
|
||||
"heading": "Rozbalenie zálohy mimo ProxMenux",
|
||||
"intro": "Akýkoľvek z troch formátov archívu je možné čítať pomocou štandardných nástrojov bez nainštalovaného ProxMenux na počítači. Nižšie uvedené príkazy vytvárajú rovnaký adresárový strom, ktorý obnova používa interne.",
|
||||
"localCmd": "# From a local .tar.zst archive:\ntar --zstd -xf hostcfg-HOST-TIMESTAMP.tar.zst\n\n# From a .tar.gz fallback:\ntar -xzf hostcfg-HOST-TIMESTAMP.tar.gz",
|
||||
"pbsCmd": "# From a PBS backup (requires proxmox-backup-client):\nproxmox-backup-client restore \\\n --repository USER@REALM@HOST:DATASTORE \\\n host/hostcfg-HOST/BACKUP-TIME \\\n hostcfg.pxar /tmp/hostcfg\n\n# Add --keyfile KEY-PATH when the backup is encrypted.",
|
||||
"borgCmd": "# Z archívu Borg (vyžaduje borg a heslo pre šifrované repozitáre):\nborg extract REPO-PATH::ARCHIVE-NAME\n\n# Zo vzdialeného repozitára dostupného cez SSH:\nborg extract ssh://USER@HOST:PORT/REPO-PATH::ARCHIVE-NAME",
|
||||
"note": "Rozbalený strom možno ručne skontrolovať alebo použiť na manuálnu obnovu. Presný postup získania údajov, ktorý ProxMenux používa na pozadí, opisujú stránky jednotlivých cieľov."
|
||||
},
|
||||
"whereNext": {
|
||||
"heading": "Podrobnosti jednotlivých cieľov",
|
||||
"intro": "Každá destinácia má svoju vlastnú stránku pokrývajúcu konfiguračný tok, formát on-disku a príkaz na získanie údajov použitý pri obnove.",
|
||||
"items": [
|
||||
{
|
||||
"label": "Lokálny archív",
|
||||
"href": "/docs/backup-restore/destinations/local",
|
||||
"tail": " — prednastavenie lokálneho cieľa, pripojenie USB disku, ochrana pred uložením archívu do jeho vlastného zdroja a sprievodný súbor JSON, pomocou ktorého Monitor rozpozná zálohu."
|
||||
},
|
||||
{
|
||||
"label": "Proxmox Backup Server (odporúčané)",
|
||||
"href": "/docs/backup-restore/destinations/pbs",
|
||||
"tail": " — výber dátového úložiska, prihlasovacie údaje a odtlačok certifikátu, životný cyklus súboru šifrovacieho kľúča, prístupová fráza na obnovu a odoslanie objektu obnovy do PBS na obnovu po čistej inštalácii."
|
||||
},
|
||||
{
|
||||
"label": "Borg",
|
||||
"href": "/docs/backup-restore/destinations/borg",
|
||||
"tail": " — lokálne repozitáre a repozitáre dostupné cez SSH, zdroje binárneho súboru Borg (systém / vyrovnávacia pamäť / balík AppImage nástroja Monitor / stiahnutie z GitHubu), inicializácia repozitára, správa prístupových fráz a nastavenie kľúča SSH pre vzdialené repozitáre."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Lokálny archív — tar.zst na súborovom systéme alebo USB disku | ProxMenux",
|
||||
"description": "Lokálny cieľ zálohy vytvorí jediný archív .tar.zst v ľubovoľnom zapisovateľnom adresári: na internom disku, v bode pripojenia Proxmoxu, na zdieľaní NFS alebo na USB disku. Stránka opisuje nastavenie, rozpoznanie a pripojenie USB diskov, ochranu pred uložením archívu do zálohovanej cesty a sprievodný súbor JSON, ktorý zálohu identifikuje.",
|
||||
"ogTitle": "ProxMenux Backup — lokálny cieľ archívu",
|
||||
"ogDescription": "Ako ProxMenux píše lokálne zálohy ako .tar.zst archívy a ako nastaviť cieľový adresár alebo USB disk.",
|
||||
"twitterTitle": "Lokálny cieľ zálohy | ProxMenux",
|
||||
"twitterDescription": "Ako ProxMenux píše lokálne zálohy ako .tar.zst archívy na súborovom systéme alebo USB disku."
|
||||
},
|
||||
"header": {
|
||||
"title": "Lokálny archív",
|
||||
"description": "Lokálny cieľ zapisuje jeden komprimovaný archív tar do ľubovoľného zapisovateľného adresára na hostiteľovi: na interný disk, pripojenie NFS alebo SMB či USB disk.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Jeden súbor, samostatný",
|
||||
"body": "Lokálna záloha vytvorí jediný súbor <code>hostcfg-HOST-TIMESTAMP.tar.zst</code> (alebo <code>.tar.gz</code>, ak <code>zstd</code> nie je dostupné). Súbor obsahuje celý strom archívu — <code>manifest.json</code>, <code>metadata/</code> a <code>rootfs/</code> — a možno ho obnoviť na ľubovoľnom hostiteľovi Proxmox postupom obnovy ProxMenux alebo ručne rozbaliť cez <code>tar --zstd -xf</code> na ľubovoľnom systéme Linux. Netreba server, inicializáciu repozitára ani externú závislosť. Ak nie sú dostupné PBS ani Borg, tento cieľ ponúka najkratšiu cestu obnovy."
|
||||
},
|
||||
"targetConfig": {
|
||||
"heading": "Nastavenie cieľového adresára",
|
||||
"intro": "Miestny cieľ je <strong>jeden trvalý cieľový adresár</strong> — nie zoznam. ProxMenux ukladá voľbu operátora na <code>/usr/local/share/proxmenux/local-target.conf</code> a číta ju pri každej zálohe. Ak nie je nakonfigurovaný žiadny cieľ, použije sa predvolený <code>HB_LOCAL_TARGET_DEFAULT = /var/lib/vz/dump</code> (rovnaký adresár, ktorý Proxmox používa pre svoje vlastné výstupy <code>vzdump</code>). Cieľ sa konfiguruje z <em>Konfigurovať ciele zálohovania → Lokálne ciele</em>:",
|
||||
"options": [
|
||||
"<strong>Použiť predvolené (<code>/var/lib/vz/dump</code>).</strong> Lokálne úložisko Proxmox. Prítomný pri každej inštalácii Proxmox; archív sa nachádza vedľa výstupov vzdump a automaticky ho preberá karta Zálohy monitora.",
|
||||
"<strong>Zadajte vlastnú cestu.</strong> Môžete použiť akúkoľvek absolútnu cestu súborového systému: pripojenie NFS, zdieľanie SMB pripojené cez <code>fstab</code>, vyhradený súbor údajov ZFS, druhý interný disk. ProxMenux overí, že cesta existuje a je adresárom, pred jej uložením.",
|
||||
"<strong>Vyberte jednotku USB.</strong> Otvorí podponuku USB (nižšie), ktorá detekuje vymeniteľné zariadenia a ponúka pripojenie alebo formátovanie."
|
||||
]
|
||||
},
|
||||
"usbFlow": {
|
||||
"heading": "Rozpoznanie a pripojenie USB disku",
|
||||
"intro": "Podponuka USB uvádza oddiely na vymeniteľných zariadeniach hlásených nástrojom <code>lsblk</code>. Každý oddiel sa zobrazí s veľkosťou, menovkou súborového systému a aktuálnym stavom. Stav určuje ponúkanú akciu ProxMenux.",
|
||||
"statesTitle": "Tri stavy zariadenia",
|
||||
"stateRows": [
|
||||
{
|
||||
"state": "pripojené",
|
||||
"shown": "Veľkosť · štítok · [fstype] · → /mount/point",
|
||||
"action": "Oddiel je už pripojený. Jeho výber uloží aktuálny bod pripojenia ako lokálny cieľ zálohy. Žiadne nové pripojenie sa nevykoná."
|
||||
},
|
||||
{
|
||||
"state": "odmontované",
|
||||
"shown": "Veľkosť · menovka · [fstype] · (nepripojený — bude pripojený)",
|
||||
"action": "Súborový systém je prítomný, ale nie je namontovaný. Po potvrdení, ProxMenux spustí <code>hb_mount_usb_partition</code>: vytvorí <code>/mnt/backup-LABEL</code> (alebo cestu založenú na UUID, ak nie je označenie), pripojí partíciu a uloží bod pripojenia ako miestny cieľ."
|
||||
},
|
||||
{
|
||||
"state": "prázdny",
|
||||
"shown": "Veľkosť · surový USB disk — bez súborového systému (bude NAFORMÁTOVANÝ)",
|
||||
"action": "Zariadenie nemá súborový systém. Tento deštruktívny postup chráni dvojité potvrdenie. Najprv dialóg Áno/Nie upozorní, že operácia vymaže disk. Potom musí používateľ do vstupného poľa <strong>zadať presnú cestu zariadenia</strong> (napr. <code>/dev/sdb</code>), až následne ProxMenux vytvorí novú tabuľku GPT s oddielom ext4 a pripojí ho."
|
||||
}
|
||||
],
|
||||
"notMountedFallback": "Ak nie je detekované žiadne USB zariadenie, podmenu spadne späť do jednoduchého vstupného poľa. Operátor môže zadať ľubovoľnú cestu k bodu pripojenia; ak cesta nie je registrovaným bodom pripojenia, dialóg s potvrdením varuje pred pokračovaním."
|
||||
},
|
||||
"safetyCheck": {
|
||||
"heading": "Bezpečnostná kontrola - cieľ vnútri záložnej cesty",
|
||||
"body": "Pred zapísaním archívu <code>_bk_local</code> overí, že cieľový adresár <strong>nie je</strong> podcestou žiadneho zálohovaného adresára. Bežnou chybou by bolo pridanie <code>/root</code> do profilu a výber <code>/root/backups</code> ako cieľ — archív by potom zahrnul sám seba, buď by vytvoril poškodený archív, alebo by rástol bez obmedzenia, kým sa disk nezaplní. Kontrola vyrieši obe cesty pomocou <code>readlink -m</code>, porovná ich a v prípade konfliktu preruší zálohovanie pomocou dialógového okna, ktoré pomenuje konfliktnú cestu a uvedie tri spôsoby, ako to vyriešiť: vybrať cieľ mimo konfliktnej cesty, odstrániť vlastnú položku, ktorá obsahuje cieľ, alebo použiť vlastný režim na zrušenie začiarknutia konfliktnej cesty pre toto spustenie."
|
||||
},
|
||||
"archiveFormat": {
|
||||
"heading": "Formát archívu a kompresia",
|
||||
"intro": "Výstupné meno súboru vloží zdrojové meno hostiteľa a záložnú časovú pečiatku tak, že adresár, v ktorom je niekoľko archívov, sa chronologicky triedi a každý súbor je sebaidentifikačný.",
|
||||
"namePattern": "hostcfg-HOSTNAME-YYYYMMDD_HHMMSS.tar.zst",
|
||||
"compressionTitle": "Kompresia",
|
||||
"compressionBody": "Hlavný postup používa <code>tar --zstd -cf</code> — jediný príkaz komprimujúci na predvolenej úrovni zstd. Ak <code>zstd</code> v zdroji nie je dostupné (na Proxmoxe zriedkavé, ale možné pri minimálnych inštaláciách), ProxMenux použije <code>gzip</code>. V tomto náhradnom postupe sa pri dostupnom <code>pv</code> pridá ukazovateľ priebehu, takže používateľ vidí rast veľkosti archívu v reálnom čase; bez <code>pv</code> sa použije obyčajné <code>tar -czf</code> bez priebežného výpisu.",
|
||||
"sourceTitle": "Čo ide do archívu",
|
||||
"sourceBody": "Príkaz tar sa spustí s <code>-C \"$staging_root\" .</code>, čím archivuje <strong>celý koreň dočasného prípravného adresára</strong>: <code>rootfs/</code>, <code>metadata/</code> a <code>manifest.json</code>. Všetky tri bloky údajov ležia vedľa seba na najvyššej úrovni archívu tar. Rozbalením vznikne presne ten strom, ktorý používa kód obnovy."
|
||||
},
|
||||
"sidecar": {
|
||||
"heading": "Sprievodný súbor JSON",
|
||||
"intro": "Každá úspešná lokálna záloha produkuje sesterský súbor: <code>HOSTNAME-TIMESTAMP.tar.zst.proxmenux.json</code>, zapísaný vedľa archívu funkciou <code>hb_write_archive_sidecar</code>. Tento malý súbor JSON umožňuje ProxMenux Monitor identifikovať archív ako zálohu ProxMenux hostiteľa, aj keď je neskôr presunutý, premenovaný alebo archivovaný inde.",
|
||||
"contentTitle": "Obsah sprievodného súboru",
|
||||
"contentBody": "Sprievodný súbor obsahuje verziu schémy, údaj o tom, či záloha vznikla interaktívne alebo plánovanou úlohou (<code>kind</code>), ID úlohy pri plánovaných spusteniach, použitý režim profilu (<code>default</code> alebo <code>custom</code>), názov zdrojového hostiteľa, pôvodný názov súboru archívu, časovú pečiatku vytvorenia ISO-8601 a veľkosť archívu v bajtoch.",
|
||||
"whyBody": "Karta Backups v Monitore prehľadáva nakonfigurované lokálne adresáre a hľadá sprievodné súbory <code>*.proxmenux.json</code>, nie súbory <code>*.tar.zst</code>, pretože <code>.tar.zst</code> bez sprievodného súboru nemusí byť zálohou ProxMenux. Hľadanie je rýchle (súbory JSON sú malé) a párovanie zostane platné aj po premenovaní archívu, ak sa zodpovedajúco premenuje aj sprievodný súbor."
|
||||
},
|
||||
"restoreAccess": {
|
||||
"heading": "Obnova z miestneho archívu",
|
||||
"body": "Postup obnovy ProxMenux nájde lokálne archívy vyhľadaním sprievodných súborov v nastavenom lokálnom cieli a zobrazí ich v zozname archívov. Výber archívu spustí <code>_rs_check_layout</code>, ktorý rozbalí archív tar do dočasného prípravného adresára a pred pokračovaním overí štruktúru troch blokov údajov. Pri ručnom rozbalení mimo ProxMenux príkaz <code>tar --zstd -xf hostcfg-HOSTNAME-TIMESTAMP.tar.zst -C /tmp/hostcfg</code> vytvorí rovnaký strom, ktorý používa kód obnovy."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Cieľ Proxmox Backup Server — repozitár, šifrovanie a obnova | ProxMenux",
|
||||
"description": "Cieľ PBS ukladá zálohy hostiteľa ProxMenux ako zálohy PBS. Stránka opisuje zisťovanie úložísk z /etc/pve/storage.cfg, ručnú konfiguráciu PBS, odoslanie .pxar, šifrovanie na strane klienta so súborom kľúča a voliteľnou obnovovacou kópiou chránenou prístupovou frázou aj obnovu kľúča z viacerých zdrojov na novo nainštalovanom hostiteľovi.",
|
||||
"ogTitle": "Zálohovanie ProxMenux — cieľ Proxmox Backup Server",
|
||||
"ogDescription": "Ako ProxMenux ukladá zálohy hostiteľa na Proxmox Backup Server so šifrovaním súborom kľúča na strane klienta a uloženou kópiou na obnovu.",
|
||||
"twitterTitle": "PBS Záložné miesto ProxMenux",
|
||||
"twitterDescription": "Cieľ Proxmox Backup Server so šifrovaním súborom kľúča a obnovovacou kópiou chránenou prístupovou frázou."
|
||||
},
|
||||
"header": {
|
||||
"title": "Proxmox Backup Server",
|
||||
"description": "Cieľ PBS odosiela celý prípravný adresár ako jednu zálohu .pxar do dátového úložiska Proxmox Backup Server. Voliteľne ju šifruje na strane klienta súborom kľúča a vedľa každej zálohy môže uložiť aj obnovovaciu kópiu kľúča chránenú prístupovou frázou.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"recommendedBadge": "Odporúčané miesto určenia",
|
||||
"aboutPbs": {
|
||||
"heading": "Čo je Proxmox Backup Server",
|
||||
"body": "Proxmox Backup Server (PBS) je zálohovací server spoločnosti Proxmox, ktorý vyvíja a udržiava rovnaký tím ako Proxmox VE. Prijíma zálohy z hostiteľov Proxmox VE (VM, kontajnerov LXC a cez <code>proxmox-backup-client</code> aj ľubovoľných adresárov hostiteľa), podporuje deduplikáciu po blokoch, šifrovanie na strane klienta a pravidlá uchovávania na serveri. ProxMenux používa PBS ako jeden z troch cieľov záloh hostiteľa. Všetky tu opísané mechanizmy PBS (skupiny záloh, archívy <code>.pxar</code>, <code>--backup-id</code> a šifrovanie súborom kľúča) patria k štandardnému správaniu PBS."
|
||||
},
|
||||
"intro": {
|
||||
"title": "Jedna záloha pri každom spustení, deduplikácia po blokoch",
|
||||
"body": "Záloha PBS vytvorí v dátovom úložisku jednu položku pod identifikátorom <code>host/hostcfg-HOSTNAME/BACKUP-TIME</code>. Obsah tvorí archív <code>.pxar</code> s rovnakou trojblokovou štruktúrou ako v časti <em>Ako to funguje</em>. PBS deduplikuje bloky medzi všetkými zálohami v úložisku, takže ďalšie zálohy toho istého hostiteľa prenášajú a ukladajú iba zmenené bloky. Uchovávanie pri plánovaných úlohách riadi samotný ProxMenux: po každom úspešnom spustení vykoná <code>run_scheduled_backup.sh</code> príkaz <code>proxmox-backup-client prune</code> s voľbami <code>--keep-last</code> / <code>--keep-daily</code> / <code>--keep-weekly</code> podľa hodnôt nastavených v úlohe."
|
||||
},
|
||||
"repoSelection": {
|
||||
"heading": "Výber úložiska",
|
||||
"intro": "ProxMenux objavuje archív PBS z dvoch zdrojov na každej zálohe. Operátor vyberie jeden z jednotného menu; voľba určuje <code>HB_PBS_REPOSITORY</code>, <code>HB_PBS_SECRET</code> a <code>HB_PBS_FINGERPRINT</code> pre spustenie.",
|
||||
"sourceRows": [
|
||||
{
|
||||
"source": "Proxmox storage.cfg (automaticky zistené)",
|
||||
"path": "/etc/pve/storage.cfg + /etc/pve/priv/storage/NAME.pw",
|
||||
"content": "Každá sekcia <code>pbs:</code> v konfigurácii úložísk Proxmoxu sa zistí automaticky. Server, dátové úložisko, používateľské meno a odtlačok certifikátu sa prevezmú z tejto sekcie. Heslo sa načíta z adresára prihlasovacích údajov Proxmoxu. V ProxMenux ho netreba zadávať znova: úložisko je dostupné hneď po konfigurácii v Proxmoxe."
|
||||
},
|
||||
{
|
||||
"source": "ProxMenux manuálna konfigurácia",
|
||||
"path": "/usr/local/share/proxmenux/pbs-manual-configs.txt + pbs-pass-NAME.txt + pbs-fingerprint-NAME.txt",
|
||||
"content": "Pridáva sa cez <em>Nastaviť ciele záloh → Ciele PBS → Pridať PBS</em>. Zadáva sa názov, používateľské meno (<code>root@pam</code> alebo <code>user@pbs!token</code>), hostiteľ alebo IP adresa, dátové úložisko a heslo. Pri prázdnom hesle sa výzva zopakuje: inak by sa prázdna hodnota potichu uložila a každá ďalšia záloha by zlyhala s nejasnou chybou overenia. Táto možnosť slúži pre PBS, ktorý nie je zaregistrovaný ako úložisko Proxmoxu."
|
||||
}
|
||||
],
|
||||
"menuTitle": "Výberové menu",
|
||||
"menuBody": "Oba zdroje sú v jednej ponuke a každý riadok označuje pôvod (<code>[proxmox]</code> alebo <code>[manual]</code>). Položky bez zisteného hesla majú upozornenie <code>⚠ no password</code>; pri ich výbere treba heslo zadať pred spustením zálohy. Odtlačok sa odovzdáva nástroju <code>proxmox-backup-client</code> cez premennú prostredia <code>PBS_FINGERPRINT</code>. Ak odtlačok chýba, klient pri prvej zálohe interaktívne požiada operátora o prijatie certifikátu servera."
|
||||
},
|
||||
"backupCommand": {
|
||||
"heading": "Záložný príkaz",
|
||||
"intro": "Odoslanie používa jediné volanie <code>proxmox-backup-client backup</code>. ProxMenux pomocou <code>env</code> odovzdáva klientovi heslo, šifrovacie heslo a odtlačok ako premenné prostredia.",
|
||||
"cmd": "env \\\n PBS_PASSWORD=\"$HB_PBS_SECRET\" \\\n PBS_ENCRYPTION_PASSWORD=\"$HB_PBS_ENC_PASS\" \\\n PBS_FINGERPRINT=\"$HB_PBS_FINGERPRINT\" \\\n proxmox-backup-client backup \\\n hostcfg.pxar:$staging_root \\\n --repository USER@REALM@HOST:DATASTORE \\\n --backup-type host \\\n --backup-id hostcfg-HOSTNAME \\\n --backup-time BACKUP-EPOCH \\\n [--keyfile /usr/local/share/proxmenux/pbs-key.conf]",
|
||||
"backupIdTitle": "Identifikačné meno zálohy",
|
||||
"backupIdBody": "Predvolený identifikátor zálohy je <code>hostcfg-HOSTNAME</code>. Pred odoslaním ho operátor potvrdí alebo upraví. Znaky mimo <code>[A-Za-z0-9_-]</code> aj pomlčky na konci sa odstránia. Opakované použitie rovnakého ID je zámerné: PBS ho chápe ako <em>skupinu</em> a každá ďalšia záloha pribudne do tejto skupiny ako nová položka so spoločnou deduplikáciou s predchádzajúcimi zálohami.",
|
||||
"pxarTitle": "Prečo je zdrojom celý prípravný adresár",
|
||||
"pxarBody": "Zdrojom archívu <code>.pxar</code> je celý <code>staging_root</code>: spolu <code>rootfs/</code>, <code>metadata/</code> aj <code>manifest.json</code>. Staršie verzie používali ako zdroj <code>$staging_root/rootfs</code>, takže v archíve chýbal adresár <code>metadata/</code>. Kontrola kompatibility pri obnove nemala čo čítať a zobrazovala upozornenia na iného hostiteľa aj pri obnove na pôvodnom hostiteľovi. Staré zálohy obsahujúce iba rootfs sa stále obnovujú správne pomocou tretej vetvy <code>_rs_check_layout</code>, ktorá plochý strom <code>etc/var/root/usr</code> zabalí do hierarchie <code>rootfs/</code>."
|
||||
},
|
||||
"encryption": {
|
||||
"heading": "Šifrovanie na strane klienta",
|
||||
"glossaryHint": "Táto časť používa pojmy <em>súbor kľúča</em>, <em>prístupová fráza</em> a <em>obnovovacia obálka</em>. <glosarioLink>Slovník pojmov</glosarioLink> vysvetľuje ich rozdiely jednou vetou pre každý pojem.",
|
||||
"intro": "Šifrovanie PBS na strane klienta šifruje bloky súborom kľúča na zdrojovom hostiteľovi ešte pred odoslaním. V ProxMenux je voliteľné. Ak sa zapne, operátor pri nastavení výslovne zvolí áno alebo nie, či sa má na PBS uložiť aj obnovovacia kópia súboru kľúča chránená prístupovou frázou. Voľbu môže neskôr zmeniť v Monitore. Súbor kľúča je vždy na kanonickej ceste <code>/usr/local/share/proxmenux/pbs-key.conf</code> a pri každej ďalšej šifrovanej zálohe sa použije bez ďalších otázok.",
|
||||
"keyfileTitle": "Nastavenie súboru kľúčov",
|
||||
"keyfileBody": "Dialóg šifrovania sa zobrazí pri prvej šifrovanej zálohe hostiteľa. Najprv sa opýta, či sa má záloha šifrovať: <em>Nie</em> pokračuje bez šifrovania, <em>Áno</em> prejde na druhý krok. Ten závisí od toho, či je na ceste <code>/usr/local/share/proxmenux/pbs-key.conf</code> už nainštalovaný súbor kľúča. Ak áno, použije sa bez otázok a zálohovanie pokračuje; ani pri ďalších zálohách sa otázka neopakuje. Ak nie, ponuka poskytne dve možnosti. <em>Vygenerovať nový súbor kľúča</em> spustí <code>proxmox-backup-client key create --kdf none</code>. <em>Použiť existujúci súbor kľúča</em> automaticky zistí kľúč spravovaný PVE: ak je vybrané úložisko PBS v Proxmoxe zaregistrované so šifrovacím kľúčom na ceste <code>/etc/pve/priv/storage/<NAME>.enc</code>, súbor sa bez otázok skopíruje na kanonickú cestu ProxMenux. Ak sa nenájde zodpovedajúci kľúč PVE, dialóg vyžiada absolútnu cestu, kam operátor už súbor kľúča na hostiteľovi umiestnil. V oboch prípadoch sa uloží na kanonickú cestu s <code>chmod 600</code>.",
|
||||
"modesTitle": "Súbor kľúča pre každý hostiteľ alebo spoločný súbor",
|
||||
"modesIntro": "Oba modely sú podporované a ani jeden nie je povinný. Operátor si vyberie podľa organizácie svojich hostiteľov.",
|
||||
"modesPerHostTitle": "Vlastný súbor kľúča pre každý hostiteľ (predvolené)",
|
||||
"modesPerHostBody": "Každý hostiteľ generuje svoj vlastný súbor kľúčov prvýkrát, čo umožňuje šifrovanie PBS. Izolácia je maximálna: ohrozenie súboru kľúčov jedného hostiteľa nevystavuje zálohy žiadneho iného hostiteľa. Odporúčané pre produkčné prostredia a pre prostredia, v ktorých majú hostitelia rôznych vlastníkov alebo hranice súladu.",
|
||||
"modesSharedTitle": "Zdieľaný súbor kľúča (import na každom hostiteľovi)",
|
||||
"modesSharedBody": "Jeden súbor hlavného kľúča vygenerovaný raz a nainštalovaný na každom hostiteľovi pomocou možnosti <em>Použiť existujúci súbor kľúča</em>. Správa je jednoduchšia: jediné tajomstvo na ochranu a ktorýkoľvek hostiteľ môže dešifrovať archívy akéhokoľvek iného (užitočné na konsolidáciu, nácvik obnovy medzi hostiteľmi alebo centralizované overenie zálohy). Kompromisom je, že únik zdieľaného súboru kľúča odhalí každého hostiteľa naraz. Odporúča sa pre domáce laboratóriá a pre flotily, kde majú všetci hostitelia rovnakého vlastníka a hranice dôvery.",
|
||||
"recoveryTitle": "Odoslanie kľúča na PBS — rozhoduje operátor",
|
||||
"recoveryBody": "Hneď po výbere súboru kľúča položí ProxMenux výslovnú otázku <em>Odoslať kľúč na PBS?</em> s dvoma odpoveďami. <strong>Kým operátor nezvolí Áno, na PBS sa neodošle žiadny obnovovací artefakt.</strong> Predvolená voľba je <em>Nie, ponechať iba lokálne</em>: kľúč zostane na kanonickej miestnej ceste, ProxMenux neodosiela na PBS žiadne obnovovacie artefakty a externú kópiu zabezpečí operátor. Tlačidlo <em>Stiahnuť súbor kľúča</em> v riadku cieľa PBS v Monitore ju poskytne na požiadanie. Voľba <em>Áno, odoslať</em> vyžiada dvakrát prístupovú frázu na obnovu a overí zhodu. ProxMenux ňou zašifruje súbor kľúča pomocou AES-256-CBC a PBKDF2 (600 000 iterácií, náhodná soľ) a vytvorí <code>pbs-key.recovery.enc</code>. Každá ďalšia šifrovaná záloha odošle túto obálku na PBS ako priradenú skupinu záloh. Pri týchto odoslaniach sa na PBS neposiela prístupová fráza ani súbor kľúča v otvorenom tvare. Voľbu možno kedykoľvek zmeniť v Monitore: ovládací prvok v riadku PBS prepína Áno/Nie a okamžite použije Spustiť odosielanie, Zastaviť odosielanie alebo Aktualizovať prístupovú frázu podľa aktuálneho stavu.",
|
||||
"blobUploadTitle": "Párovaná záložná skupina na PBS",
|
||||
"blobUploadBody1": "Keď je režim úschovy <em>Áno, nahrať</em>, ProxMenux odošle obálku na obnovenie do PBS po každej zašifrovanej zálohe ako druhá, spárovaná skupina záloh s rovnakým názvom ako hostiteľská skupina, ale končiaca na <code>-keyrecovery</code>. Tieto dve skupiny sedia vedľa seba v zozname dátového skladu – jedna pre zálohy hostiteľa, druhá pre obálky na obnovenie. <strong>Obálka nikdy neopustí hostiteľa v obyčajnom texte</strong>: šifrovanie prebieha na samotnom hostiteľovi pomocou AES-256-CBC a PBKDF2 predtým, ako prejdú akékoľvek bajty na drôt (<code>openssl enc -aes-256-cbc -pbkdf2 -iter 600000 -salt</code>). PBS prijíma iba už zašifrovanú obálku.",
|
||||
"envelopeSecurityTitle": "Predstavuje odoslanie obnovovacieho súboru na PBS bezpečnostné riziko?",
|
||||
"envelopeSecurityBody": "Obnovovací súbor je šifrovaný pri prenose aj pri uložení. Prístupová fráza na obnovu neopúšťa hostiteľa: šifrovanie prebehne lokálne pred odoslaním a PBS dostane iba zašifrovaný výsledok. Správca PBS alebo ktokoľvek s prístupom k dátovému úložisku môže obnovovací súbor stiahnuť, ale bez prístupovej frázy nedokáže prečítať súbor kľúča vnútri; ide o nečitateľný šifrovaný text. Na získanie súboru kľúča treba obe časti súčasne: obnovovací súbor aj prístupovú frázu. Obe má iba operátor.",
|
||||
"blobUploadConstraintTitle": "Prečo dve skupiny namiesto jedného zašifrovaného",
|
||||
"blobUploadConstraintBody": "Jediné volanie <code>proxmox-backup-client backup</code> zašifruje všetky svoje archívy rovnakým súborom kľúča alebo nezašifruje žiadny; kombinácia nie je možná. Záloha hostiteľa sa musí zašifrovať jeho kľúčom, ale obnovovacia obálka sa nesmie odoslať v tom istom volaní. Bola by zašifrovaná práve kľúčom, ktorý obsahuje. Na novo nainštalovanom hostiteľovi by ju nebolo možné otvoriť: na dešifrovanie kľúča by bol potrebný ten istý kľúč. Preto sa oba artefakty odosielajú nezávisle a zobrazujú sa ako dve skupiny. Klient PBS šifruje zálohu hostiteľa súborom kľúča a ProxMenux pred odoslaním šifruje obnovovaciu obálku prístupovou frázou. Dve odlišné šifrovacie vrstvy chránia dva odlišné objekty.",
|
||||
"blobUploadImageAlt": "Rozhranie PBS zobrazuje skupiny záloh hostcfg-HOSTNAME a hostcfg-HOSTNAME-keyrecovery vedľa seba v zozname dátového úložiska.",
|
||||
"blobUploadImageCaption": "Rozhranie PBS — priradené skupiny záloh. Hlavná skupina obsahuje zálohy hostiteľa; skupina -keyrecovery obsahuje súbor kľúča chránený prístupovou frázou.",
|
||||
"recoverTitle": "Obnovenie nového hostiteľa",
|
||||
"recoverBody": "Ak miestny súbor kľúča chýba na kanonickej ceste, napríklad po preinštalovaní hostiteľa alebo úmyselnom odstránení, obnova vyskúša tri zdroje v poradí a skončí pri prvom použiteľnom kľúči. Najprv sa bez otázok skopíruje zodpovedajúci kľúč spravovaný PVE z <code>/etc/pve/priv/storage/<NAME>.enc</code> na kanonickú cestu, ak existuje pre vybrané úložisko PBS. Ak je na PBS dostupná skupina <code>-keyrecovery</code>, druhý krok stiahne jej najnovšiu snímku a vyžiada prístupovú frázu na dešifrovanie. Ak ani jedna možnosť nefunguje alebo ich operátor odmietne, tretí krok vyžiada absolútnu cestu k súboru kľúča na tomto hostiteľovi a skopíruje ho na kanonickú cestu. Monitor poskytuje rovnaký import v okne podrobností zálohy. Ak Obnoviť, Stiahnuť alebo Zobraziť obsah potrebuje chýbajúci kľúč, hore sa zobrazí jantárový panel. Ak je kľúč nainštalovaný, ale nezodpovedá šifrovaniu zálohy, PBS vráti chybu <code>wrong key — manifest's key XX does not match provided key YY</code>. Rovnaké tri akcie potom zobrazia štruktúrovaný panel so zvýrazneným odtlačkom kľúča požadovaným manifestom, aby operátor vedel, ktorý kľúč má pre túto zálohu importovať.",
|
||||
"monitorManagementTitle": "Správa súboru kľúčov z monitora",
|
||||
"monitorManagementBody": "Monitor zobrazuje ovládanie súboru kľúča priamo v každom riadku cieľa PBS na stránke konfigurácie záloh. Sú tam tri akcie: <em>Stiahnuť</em> exportuje aktuálny súbor do prehliadača operátora; <em>Nahrať</em> nahradí nainštalovaný súbor dodaným súborom, pričom pôvodný prepíše až po úspešnom uložení nového na kanonickú cestu; <em>Odstrániť</em> zmaže súbor z hostiteľa. Vedľa je ovládanie obnovovacej kópie: výber Áno/Nie pre <em>Odoslať kľúč na PBS?</em>, pole prístupovej frázy pri voľbe Áno a kontextové tlačidlo na použitie voľby <em>Spustiť odosielanie</em>, <em>Zastaviť odosielanie</em> alebo <em>Aktualizovať prístupovú frázu</em>. Všetky akcie používajú rovnaké koncové body Flask ako terminálové rozhranie, takže účinok na disku a stav na PBS sú z oboch rozhraní rovnaké."
|
||||
},
|
||||
"restoreAccess": {
|
||||
"heading": "Získavanie na strane obnovy",
|
||||
"body": "Obnova zisťuje zálohy hostiteľa ProxMenux na PBS zoznamom skupín v nakonfigurovanom úložisku a filtrovaním podľa vzoru identifikátora zálohy. Karta Zálohy v Monitore zobrazuje rovnaký zoznam. Výber zálohy spustí <code>proxmox-backup-client restore</code> s rovnakým úložiskom, heslom a odtlačkom, prípadne aj s <code>--keyfile</code>, ak bola záloha šifrovaná. Archív <code>.pxar</code> sa rozbalí do prípravného adresára, ktorý <code>_rs_check_layout</code> odovzdá štandardnému procesu obnovy. Pri ručnom získaní mimo ProxMenux rozbalí ten istý príkaz archív na ľubovoľnú cestu; výsledný strom možno skontrolovať alebo použiť pri ručnej obnove."
|
||||
},
|
||||
"references": {
|
||||
"heading": "Odkazy",
|
||||
"intro": "Oficiálna dokumentácia Proxmox Backup Server ku komponentom, ktoré ProxMenux používa.",
|
||||
"items": [
|
||||
{
|
||||
"label": "Dokumentácia Proxmox Backup Server",
|
||||
"href": "https://pbs.proxmox.com/docs/",
|
||||
"tail": " — hlavný rozcestník pre inštaláciu, správu, úložiská, používateľov a roly."
|
||||
},
|
||||
{
|
||||
"label": "proxmox-backup-client",
|
||||
"href": "https://pbs.proxmox.com/docs/backup-client.html",
|
||||
"tail": " — nástroj príkazového riadka, ktorý ProxMenux používa pri každej zálohe a obnove. Opisuje identifikátory a typy záloh, archívy, syntax úložísk a premenné prostredia."
|
||||
},
|
||||
{
|
||||
"label": "Šifrovanie na strane klienta",
|
||||
"href": "https://pbs.proxmox.com/docs/backup-client.html#encryption",
|
||||
"tail": " — vytvorenie súboru kľúča, režimy --kdf a model šifrovania, ktorý ProxMenux rozširuje o obnovovaciu kópiu chránenú prístupovou frázou."
|
||||
},
|
||||
{
|
||||
"label": "Správa dátových úložísk",
|
||||
"href": "https://pbs.proxmox.com/docs/storage.html",
|
||||
"tail": "— vytváranie a správa dátových úložísk, ktoré prijímajú zálohy hostiteľa, vrátane rozloženia chunk-store a povolení."
|
||||
},
|
||||
{
|
||||
"label": "Prerezávanie a zber odpadu",
|
||||
"href": "https://pbs.proxmox.com/docs/maintenance.html#pruning",
|
||||
"tail": " — model uchovávania pre --keep-last / --keep-daily / --keep-weekly, ktorý ProxMenux uplatňuje pre každú plánovanú úlohu, aj spôsob, akým PBS uvoľňuje nepoužívané bloky po odstránení starých záloh."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,230 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Slovník — zálohovanie a obnova | ProxMenux",
|
||||
"description": "Slovník systému zálohovania a obnovy ProxMenux: šifrovanie, súbor kľúčov, prístupová fráza, obálka obnovy, PBS, bloky, rootfs, manifest, vykonávací proces a doplnenie medzi verziami jadra.",
|
||||
"ogTitle": "Slovník zálohovania a obnovy | ProxMenux",
|
||||
"ogDescription": "Jasné definície slovnej zásoby použitej cez zálohovanie a obnovenie dokumentácie ProxMenux.",
|
||||
"twitterTitle": "Slovník zálohovania a obnovy | ProxMenux",
|
||||
"twitterDescription": "Prístupová fráza, súbor kľúčov, obálka obnovy, rootfs, manifest, PBS a bloky — všetko vysvetlené na jednom mieste."
|
||||
},
|
||||
"header": {
|
||||
"title": "Slovník pojmov",
|
||||
"description": "Pojmy z dokumentácie zálohovania a obnovy spolu s definíciami.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"body": "Pojmy sú zoskupené podľa témy. Každý záznam dáva termín a krátku definíciu."
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"title": "Šifrovanie a obnovenie kľúča",
|
||||
"intro": "Slovník pre šifrovací blok PBS. Zahŕňa dve odlišné tajomstvá: binárny súbor kľúčov a písomné heslo.",
|
||||
"entries": [
|
||||
{
|
||||
"id": "passphrase-recuperacion",
|
||||
"term": "Prístupová fráza na obnovu",
|
||||
"def": "Textové heslo, ktoré užívateľ vyberá na ochranu obálky <a href=\"#sobre-recuperacion\">obnovenie </a>. Vyžaduje sa dvakrát s kontrolou zhody a používa sa len na šifrovanie obálky a dešifrovanie súboru, ak je niekedy potrebné obnoviť súbor kľúčov. <strong>Nie je to heslo, ktoré odomkne samotný súbor kľúčov </strong> a nikdy sa nepošle PBS. Počas normálnej zálohy nikdy neopustí hostiteľa."
|
||||
},
|
||||
{
|
||||
"id": "clave-cifrado",
|
||||
"term": "Súbor kľúčov (šifrovací kľúč)",
|
||||
"def": "Súbor kľúča používaný proxmox-backup-client na šifrovanie <a href=\"#chunk\">blokov</a> pred odoslaním do PBS. Bez príslušného kľúča sa šifrované dáta nedajú čítať. ProxMenux ho uloží do <code>/usr/local/share/proxmenux/pbs-key.conf</code> s režimom <code>600</code>. Chráňte ho; <a href=\"#sobre-recuperacion\">obálka obnovy</a> slúži na jeho získanie pri strate."
|
||||
},
|
||||
{
|
||||
"id": "contrasena-keyfile",
|
||||
"term": "Heslo súboru kľúčov (KDF heslo)",
|
||||
"def": "Voliteľné heslo, ktoré môže byť prenášané samotným súborom kľúčov, odlišné od <a href=\"#passphrase-recuperacion\">prístupovej frázy na obnovu</a>. Existuje len vtedy, keď bol súbor s kľúčom vytvorený <code>--kdf scrypt</code> (zvyčajne importovaný súbor kľúčov). Bez neho nie je možné súbor kľúčov odomknúť pre použitie. ProxMenux pretrváva v zašifrovanej forme na hostiteľa, takže plánované zálohy môžu bežať bez interaktívneho promptu."
|
||||
},
|
||||
{
|
||||
"id": "sobre-recuperacion",
|
||||
"term": "Obálka obnovy",
|
||||
"def": "Súbor <a href=\"#clave-cifrado\">súbor kľúčov</a> zabalený do ďalšej vrstvy: je zašifrovaný <a href=\"#passphrase-recuperacion\">prístupovou frázou na obnovu</a> použitie <a href=\"#aes-256-cbc\">AES-256-CBC</a> a <a href=\"#pbkdf2\">PBKDF2</a> predtým, než opustí hostiteľa. Nahrá sa do PBS ako <code>-keyrecovery</code> skupina. Bez passfrázy je obálka nepriehľadná: sťahovanie z PBS neodhaľuje súbor kľúčov."
|
||||
},
|
||||
{
|
||||
"id": "cifrado-cliente",
|
||||
"term": "Šifrovanie na strane klienta",
|
||||
"def": "Model šifrovania, pri ktorom sa dáta zašifrujú na zdrojovom hostiteľovi pred odoslaním. PBS prijíma a ukladá iba šifrované dáta; bez súboru kľúča ich neprečíta ani správca PBS s prístupom k dátovému úložisku. ProxMenux na tomto modeli stavia a pridáva <a href=\"#sobre-recuperacion\">obálku obnovy</a>."
|
||||
},
|
||||
{
|
||||
"id": "kdf-none",
|
||||
"term": "--kdf none",
|
||||
"def": "Možnosť <code>proxmox-backup-client key create</code>, ktorá vytvára súbor kľúčov bez pripojenej pasovej frázy. Súbor kľúčov možno použiť priamo bez promptu, ktorý je nevyhnutný pre plánované pracovné miesta bez dozoru. Toto ProxMenux používa štandardne pri generovaní nového súboru kľúčov."
|
||||
},
|
||||
{
|
||||
"id": "kdf-scrypt",
|
||||
"term": "--kdf scrypt",
|
||||
"def": "Možnosť <code>proxmox-backup-client key create</code>, ktorá vytvára súbor kľúčov chránený pomocou <a href=\"#contrasena-keyfile\">prístupovej frázy súboru kľúča</a>. Každé použitie súboru kľúčov si vyžaduje odomknutie s touto passfrázou. ProxMenux akceptuje tento štýl súboru kľúčov pri importe a ukladá heslo šifrované, takže plánované zálohy môžu spustiť bez dozoru."
|
||||
},
|
||||
{
|
||||
"id": "aes-256-cbc",
|
||||
"term": "AES-256-CBC",
|
||||
"def": "Štandardné symetrické šifrovanie. ProxMenux ju používa (prostredníctvom <code>openssl enc -aes-256-cbc</code>) na zabalenie <a href=\"#clave-cifrado\">súboru kľúča</a> s <a href=\"#passphrase-recuperacion\"> prístupovou frázou na obnovu</a> a výrobu <a href=\"#sobre-recuperacion\">obálky</a>."
|
||||
},
|
||||
{
|
||||
"id": "pbkdf2",
|
||||
"term": "PBKDF2",
|
||||
"def": "Kryptografická funkcia, ktorá z prístupovej frázy zadanej človekom odvodí binárny šifrovací kľúč. Mnohými iteráciami spomaľuje útoky hrubou silou. Pri šifrovaní obálky obnovy ju ProxMenux používa so 600 000 iteráciami a náhodnou soľou."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Štruktúra zálohy",
|
||||
"intro": "Pojmy popisujúce, čo žije v zálohe, bez ohľadu na cieľ.",
|
||||
"entries": [
|
||||
{
|
||||
"id": "rootfs",
|
||||
"term": "rootfs / koreňový súborový systém",
|
||||
"def": "Súborová kópia systému zdrojového hostiteľa vytvorená pomocou <code>rsync</code> podľa <a href=\"#perfil-defecto\">predvoleného profilu</a> a <a href=\"#rutas-personalizadas\">vlastných ciest</a>. Nie je to obraz celého disku: kopírujú sa iba cesty s konfiguráciou alebo stavom, ktoré Proxmox nedokáže sám obnoviť."
|
||||
},
|
||||
{
|
||||
"id": "manifiesto",
|
||||
"term": "Manifest (manifest.json)",
|
||||
"def": "Štruktúrovaný dokument JSON opisujúci zdrojový hostiteľ v čase zálohovania: hardvér, úložisko, jadro, ProxMenux-inštalované komponenty a inventár VM a LXC. Vyrába ho šesť nezávislých zberateľov. Obnoviteľný tok ho využíva na porovnanie zdroja a cieľa."
|
||||
},
|
||||
{
|
||||
"id": "staging",
|
||||
"term": "Staging adresár",
|
||||
"def": "Dočasný adresár, kde ProxMenux zhromažďuje tri bloky (rootfs, metaúdaje a manifest) pred ich zabalením a nahrávanie do cieľa. Po dokončení zálohy sa automaticky odstráni, a to aj po prerušení."
|
||||
},
|
||||
{
|
||||
"id": "perfil-defecto",
|
||||
"term": "Predvolený profil",
|
||||
"def": "Vybraná sada ciest, ktoré ProxMenux predvolene kopíruje v každej zálohe. Zahŕňa konfiguráciu PVE, sieť, SSH, jadro, apt, nástroje ProxMenux a ďalšie. Je definovaná v kóde a opísaná na stránke <em>Ako to funguje</em>."
|
||||
},
|
||||
{
|
||||
"id": "rutas-personalizadas",
|
||||
"term": "Vlastné cesty",
|
||||
"def": "Extra cesty, ktoré užívateľ pridáva na vrchol <a href=\"#perfil-defecto\">predvoleného profilu</a>. Buď perzistentné (uložené v <code>backup-extra-paths.txt</code>) alebo iba pre dané spustenie (vybrané vo vlastnom režime)."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Miesta určenia a skladovanie",
|
||||
"intro": "Pojmy súvisiace s cieľom zálohy — server PBS, lokálny archív alebo repozitár Borg — a usporiadaním dát v PBS.",
|
||||
"entries": [
|
||||
{
|
||||
"id": "repositorio-pbs",
|
||||
"term": "PBS repozitár",
|
||||
"def": "Kombinácia Proxmox Backup Server + <a href=\"#datastore\">úložisko údajov</a> + používateľ, ktorý prijíma zálohu. Identifikované podľa reťazca <code>user@realm@host:datastore</code>. Jeden PBS server môže hostiť niekoľko úložísk."
|
||||
},
|
||||
{
|
||||
"id": "datastore",
|
||||
"term": "Dátové úložisko",
|
||||
"def": "Konkrétne dátové úložisko na serveri PBS so zálohami a ich blokmi. Každé je na súborovom systéme servera PBS a má vlastné oprávnenia a pravidlá."
|
||||
},
|
||||
{
|
||||
"id": "chunk",
|
||||
"term": "Chunk / chunk deduplikácia",
|
||||
"def": "PBS rozdelí zálohu na bloky premenlivej veľkosti, každý identifikuje hashom a uloží ho iba raz, aj keď sa vyskytuje vo viacerých zálohách. Následné zálohy rovnakého alebo podobných hostiteľov tak vyžadujú málo ďalšieho miesta."
|
||||
},
|
||||
{
|
||||
"id": "fingerprint",
|
||||
"term": "Odtlačok prsta",
|
||||
"def": "Kryptografický odtlačok certifikátu PBS servera TLS. Umožňuje klientovi overiť, či sa rozpráva s plánovaným serverom bez toho, aby sa spoliehal na verejný certifikačný orgán. ProxMenux ho prenáša na <code>proxmox-backup-client</code> prostredníctvom premennej prostredia <code>PBS_FINGERPRINT</code>."
|
||||
},
|
||||
{
|
||||
"id": "grupo-copia",
|
||||
"term": "Skupina zálohy",
|
||||
"def": "Logická skupina v PBS pre postupné zálohy toho istého zdroja. Nové zálohy využívajú deduplikáciu s predchádzajúcimi. Pri zapnutom šifrovaní používa ProxMenux dve skupiny na hostiteľa: jednu pre jeho zálohu a druhú s príponou <code>-keyrecovery</code> pre <a href=\"#sobre-recuperacion\">obálku obnovy</a>."
|
||||
},
|
||||
{
|
||||
"id": "backup-id",
|
||||
"term": "ID zálohy",
|
||||
"def": "Názov skupiny <a href=\"#grupo-copia\">backup</a>. ProxMenux predvolený <code>hostcfg-HOSTNAME</code> a umožňuje užívateľovi upraviť pred nahrávaním; nepodporované znaky sú automaticky odstránené."
|
||||
},
|
||||
{
|
||||
"id": "pxar",
|
||||
"term": ".pxar",
|
||||
"def": "PBS-native archív formát pre adresáre. Správa sa ako archív tar optimalizovaný pre deduplikáciu kúskov: PBS namiesto ukladania nepriehľadného súboru rozbije svoj obsah na opakovane použiteľné kúsky."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Vykonávanie a plánovanie",
|
||||
"intro": "Pojmy systému plánovaných úloh ProxMenux.",
|
||||
"entries": [
|
||||
{
|
||||
"id": "runner",
|
||||
"term": "Vykonávací proces",
|
||||
"def": "Skript <code>run_scheduled_backup.sh</code> vykonávajúci plánovanú zálohu. Prečíta konfiguráciu úlohy, spustí príslušný backend (Local, PBS alebo Borg), po úspechu uplatní pravidlá uchovávania a odošle nastavené oznámenia."
|
||||
},
|
||||
{
|
||||
"id": "trabajo-programado",
|
||||
"term": "Plánovaná úloha",
|
||||
"def": "Pretrvávajúca konfigurácia opakovaného zálohovania. Drží cieľ, poverovacie listiny, šifrovanie, harmonogram a uchovávanie. Žije na <code>/var/lib/proxmenux/backup-jobs/<id>.env</code>."
|
||||
},
|
||||
{
|
||||
"id": "modo-adjunto",
|
||||
"term": "Pripojený režim",
|
||||
"def": "Úloha bez vlastného časovača. Hook job-end PVE <code>vzdump</code> ju spustí po zálohách hostí pri zhodnom úložisku. Vybraná nadradená úloha poskytne cieľ a uchovávanie, ktoré sa pri každom spustení znova načíta z nadradenej úlohy, ale hook porovnáva úložisko, nie ID nadradenej úlohy. Spustiť ju môže aj iná úloha s tým istým úložiskom. Iba Local a PBS."
|
||||
},
|
||||
{
|
||||
"id": "timer-systemd",
|
||||
"term": "Časovač Systemd",
|
||||
"def": "Štandardný mechanizmus systemd, ktorý spúšťa príkaz podľa kalendára. ProxMenux vytvára časovač pre každú <em>nezávislú</em> plánovanú úlohu. Úlohy v <a href=\"#modo-adjunto\">pripojenom režime</a> časovač nemajú; spúšťa ich hook PVE."
|
||||
},
|
||||
{
|
||||
"id": "retencion",
|
||||
"term": "Uchovávanie (keep-last, keep-daily…)",
|
||||
"def": "Politika, ktorá rozhodne, ktoré staršie zálohy udržať a ktoré prerezávať. Definované podľa úloh s parametrami ako <code>keep-last</code>, <code>keep-daily</code>, <code>keep-weekly</code>, <code>keep-monthly</code>. Aplikuje vykonávací proces po každej úspešnej zálohe."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Obnoviť",
|
||||
"intro": "Pojmy z postupu obnovy.",
|
||||
"entries": [
|
||||
{
|
||||
"id": "restauracion-universal",
|
||||
"term": "Všeobecná obnova",
|
||||
"def": "Tok obnovy ProxMenux neextrahuje iba súborový systém: prečíta manifest, aby zistil rozdiely medzi zdrojom a cieľom, reprodukuje konfiguráciu systému a znova spustí inštalačné programy pre komponenty spravované ProxMenux. Cieľom je reprodukovať hostiteľa zdroja, nielen archív."
|
||||
},
|
||||
{
|
||||
"id": "hidratacion",
|
||||
"term": "Hydratácia (cross-kernel)",
|
||||
"def": "Krok obnovy, ktorý zlúči používateľské nastavenia zo zdroja (parametre IOMMU, ID zariadení VFIO, vlastné úpravy a kľúče GRUB) s novou konfiguráciou štartu cieľa bez doslovného kopírovania súborov viazaných na zdrojové jadro. Beží, ak je jadro cieľa novšie než v zálohe."
|
||||
},
|
||||
{
|
||||
"id": "cross-kernel",
|
||||
"term": "Obnova medzi kernelmi",
|
||||
"def": "Obnovte tam, kde sa jadro cieľa líši od jadra zdroja (zvyčajne je novšie). Vyžaduje sa prechod <a href=\"#hidratacion\">hydratácia</a>, aby sa predišlo presúvaniu súborov nekompatibilných s jadrom cieľa."
|
||||
},
|
||||
{
|
||||
"id": "instalador-postboot",
|
||||
"term": "Inštalátor post-boot",
|
||||
"def": "Komponenty reinštalované po prvom štarte obnoveného hostiteľa (ovládače NVIDIA, ovládače Coral TPU, nástroje AMD GPU, nástroje Intel GPU). Každý inštalátor beží proti jadru cieľa, takže obnovený hostiteľ nezávisí od prítomnosti jadra zdroja."
|
||||
},
|
||||
{
|
||||
"id": "compatibility-check",
|
||||
"term": "Kontrola kompatibility",
|
||||
"def": "Porovnanie medzi zdrojovým manifestom a cieľovým stavom, ktorý ProxMenux vykonáva na začiatku obnovy. Rozhoduje, ktoré časti sú skopírované doslovne, ktoré potrebujú hydratáciu a ktoré sú znovu vytvorené inštalátorom."
|
||||
},
|
||||
{
|
||||
"id": "equipo-recien-instalado",
|
||||
"term": "Čerstvá inštalácia",
|
||||
"def": "Hostiteľ preinštalovaný od nuly bez lokálneho <a href=\"#clave-cifrado\">súboru kľúča</a>. Obnova šifrovanej zálohy vyžaduje najprv získať kľúč z <a href=\"#sobre-recuperacion\">obálky</a> uloženej v PBS pomocou <a href=\"#passphrase-recuperacion\">prístupovej frázy na obnovu</a>."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"whereNext": {
|
||||
"heading": "Kde ďalej",
|
||||
"items": [
|
||||
{
|
||||
"label": "Ako to funguje",
|
||||
"href": "/docs/backup-restore/how-it-works",
|
||||
"tail": " — kde sa v zálohe nachádza rootfs, manifest a inventár aplikácií."
|
||||
},
|
||||
{
|
||||
"label": "Cieľ Proxmox Backup Server",
|
||||
"href": "/docs/backup-restore/destinations/pbs",
|
||||
"tail": "— kde sú do hĺbky zdokumentované šifrovanie na strane klienta, súbor kľúčov, prístupová fráza na obnovenie a obálka."
|
||||
},
|
||||
{
|
||||
"label": "Obnovenie",
|
||||
"href": "/docs/backup-restore/restoring",
|
||||
"tail": " — postup obnovy a použitie manifestu."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Ako ProxMenux Backup funguje interne — rootfs, manifest a aplikácie",
|
||||
"description": "Podrobný obsah zálohy ProxMenux: rootfs skopírovaný pomocou rsync podľa predvoleného profilu ciest, štruktúrovaný manifest vytvorený šiestimi nezávislými zbernými skriptmi a inventár aplikácií, ktorý riadi automatickú reinštaláciu balíkov a komponentov po obnove.",
|
||||
"ogTitle": "Ako ProxMenux Backup funguje interne",
|
||||
"ogDescription": "Tri časti zálohy ProxMenux: rootfs, manifest a aplikácie.",
|
||||
"twitterTitle": "Ako funguje zálohovanie ProxMenux | ProxMenux",
|
||||
"twitterDescription": "Tri časti zálohy ProxMenux a spôsob, akým z nich obnova znovu vytvorí zdrojového hostiteľa."
|
||||
},
|
||||
"header": {
|
||||
"title": "Ako to funguje",
|
||||
"description": "Vnútorná štruktúra zálohy ProxMenux — súborový systém, manifest a inventár aplikácií — a spôsob, akým ich obnova používa na vytvorenie pôvodného hostiteľa na cieli, ktorý môže mať iné jadro.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Jeden archív, tri časti",
|
||||
"body": "Každá záloha vytvorí tri jasne oddelené časti v spoločnom prípravnom adresári. Archív odoslaný do cieľa (lokálny <code>.tar.zst</code>, záloha PBS alebo archív Borg) obsahuje túto istú štruktúru. Obnova používa všetky tri: <strong>manifest</strong> pred zmenami určí rozdiely a výnimky; <strong>rootfs</strong> poskytne konfiguračné súbory, ktoré sa použijú za behu alebo po reštarte; <strong>inventár aplikácií</strong> riadi inštaláciu balíkov a reinštaláciu komponentov po štarte. Každú časť možno skontrolovať alebo rozbaliť samostatne."
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Rozloženie archívu",
|
||||
"intro": "Každý archív sleduje rovnaké rozloženie stromov bez ohľadu na cieľ. Podadresár <code>metadata/</code> má štruktúrované užitočné zaťaženie; podadresár <code>rootfs/</code> má kópiu súborového systému.",
|
||||
"treeCaption": "Prípravný adresár vytvorený pri zálohe. Každý cieľ dostane rovnaký strom vo svojom formáte: tar pri lokálnom cieli, bloky PBS pri PBS a segmenty Borg pri Borgu.",
|
||||
"tree": "backup-[timestamp]/\n├── manifest.json # structured host state\n├── metadata/\n│ ├── packages.manual.list # apt-mark showmanual\n│ ├── run_info.env # backup run identity + kernel version + pmxcfs method\n│ ├── paths_archived.txt # exact list of paths that reached rootfs/\n│ └── missing_paths.txt # paths from the profile absent on source\n└── rootfs/\n ├── etc/ # /etc/pve, /etc/network, /etc/systemd/network, /etc/ssh, …\n ├── root/ # /root (with volatile subdirs excluded)\n ├── usr/local/ # /usr/local/bin, /usr/local/share/proxmenux, …\n └── var/ # /var/lib/pve-cluster (config.db via sqlite3 .backup), /var/spool/cron/…"
|
||||
},
|
||||
"rootfs": {
|
||||
"heading": "Časť rootfs",
|
||||
"intro": "Strom <code>rootfs/</code> je <strong>obyčajná kópia súborového systému</strong> vytvorená pomocou <code>rsync</code> zo zdrojového hostiteľa. Obsahuje vybraný <strong>predvolený profil</strong> ciest dôležitých pre obnovu Proxmoxu a <strong>vlastné cesty</strong>, ktoré používateľ pridal do úlohy alebo interaktívnej relácie. Výber je zámerne úzky: iba cesty, ktoré <em>obsahujú konfiguráciu</em> alebo <em>uchovávajú stav, ktorý Proxmox nedokáže sám znovu vytvoriť</em>.",
|
||||
"defaultProfileTitle": "Štandardný profil",
|
||||
"defaultProfileBody": "Predvolený profil definuje <code>hb_default_profile_paths</code> v <code>lib_host_backup_common.sh</code>. Zahŕňa osem pevných kategórií a prípadne stav ZFS, ktoré spolu opisujú funkčného hostiteľa Proxmox:",
|
||||
"categoriesTitle": "Kategórie ciest",
|
||||
"categoryRows": [
|
||||
{
|
||||
"category": "Jadro PVE",
|
||||
"paths": "/etc/pve, /var/lib/pve-cluster, /etc/vzdump.conf",
|
||||
"why": "Obsah klastrového súborového systému a predvolené nastavenia vzdump. Databáza pmxcfs (<code>config.db</code>) sa zachytí ako konzistentná snímka cez <code>sqlite3 .backup</code> bez zastavenia klastra. Sprievodné súbory <code>.db-wal</code> / <code>.db-shm</code> sa z rsync vylúčia. Ak <code>sqlite3</code> nie je dostupný, vytvorí sa <code>config.db.raw-fallback</code>, ktorý obnova automaticky použije ako databázu."
|
||||
},
|
||||
{
|
||||
"category": "Identita hostiteľa & sieť",
|
||||
"paths": "/etc/hostname, /etc/hosts, /etc/timezone, /etc/resolv.conf, /etc/network, /etc/systemd/network",
|
||||
"why": "Všetko potrebné na spustenie hostiteľa v sieti s rovnakou identitou. Súbory <code>.link</code> v <code>/etc/systemd/network</code> priraďujú názvy sieťových kariet k ich MAC adresám, aby sa názvy zachovali pri reinštalácii a zmenách hardvéru."
|
||||
},
|
||||
{
|
||||
"category": "Prístup a overovanie",
|
||||
"paths": "/etc/ssh, /etc/sudoers, /etc/sudoers.d, /etc/pam.d, /etc/security",
|
||||
"why": "Kľúče SSH, pravidlá sudo a konfigurácia PAM. Ich strata môže používateľovi znemožniť prístup k obnovenému hostiteľovi."
|
||||
},
|
||||
{
|
||||
"category": "Jadro a štart systému",
|
||||
"paths": "/etc/default/grub, /etc/kernel, /etc/modules, /etc/modules-load.d, /etc/modprobe.d, /etc/sysctl.conf, /etc/sysctl.d, /etc/udev/rules.d, /etc/fstab, /etc/iscsi, /etc/multipath",
|
||||
"why": "Parametre IOMMU, zoznamy zakázaných modulov, ID zariadení VFIO, tabuľka pripojení a konfigurácia úložísk."
|
||||
},
|
||||
{
|
||||
"category": "Shell a miestne nastavenia",
|
||||
"paths": "/etc/environment, /etc/bash.bashrc, /etc/inputrc, /etc/profile, /etc/profile.d, /etc/locale.gen, /etc/locale.conf",
|
||||
"why": "Systémová konfigurácia shellu, premenné prostredia a nastavenie generovania miestnych nastavení."
|
||||
},
|
||||
{
|
||||
"category": "Správa balíkov a cron",
|
||||
"paths": "/etc/apt, /etc/cron.d, /etc/cron.{daily,hourly,weekly,monthly}, /etc/cron.allow, /etc/cron.deny, /var/spool/cron/crontabs",
|
||||
"why": "APT zdroje pre konzistentné riešenie balíkov, plánované úlohy definované užívateľom."
|
||||
},
|
||||
{
|
||||
"category": "Stav a nástroje ProxMenux",
|
||||
"paths": "/etc/proxmenux, /etc/systemd/system, /etc/log2ram.conf, /etc/logrotate.conf, /etc/logrotate.d, /etc/lm-sensors, /etc/sensors3.conf, /etc/fail2ban, /etc/snmp, /etc/postfix, /etc/wireguard, /etc/openvpn, /etc/grafana, /etc/influxdb, /etc/prometheus, /etc/telegraf, /etc/zabbix",
|
||||
"why": "Voliteľné, ale bežné náradie Proxmox. Chýbajúce cesty sú zaznamenané v <code>metadata/missing_paths.txt</code> bez zastavenia zálohy."
|
||||
},
|
||||
{
|
||||
"category": "Spustiteľné súbory ProxMenux a účet root",
|
||||
"paths": "/usr/local/bin, /usr/local/sbin, /usr/local/share/proxmenux, /var/lib/proxmenux, /root (bez dočasných podadresárov)",
|
||||
"why": "Binárne systémy nainštalované ProxMenux a konfigurácia na užívateľa podľa <code>/root</code>. Prchavé cesty (<code>.bash_history</code>, <code>.cache/</code>, <code>tmp/</code>, <code>.local/share/Trash/</code>) sú z kópie vylúčené. <code>/var/lib/proxmenux</code> drží plánované záložné úlohy a stav hostiteľa udržiava ProxMenux; obnovenie inscenácie, rollback kópie a post-restore markery sú vylúčené, pretože patria k hostiteľovi, ktorý prevádzkuje obnovenie."
|
||||
},
|
||||
{
|
||||
"category": "Stav ZFS (podmienený)",
|
||||
"paths": "/etc/zfs",
|
||||
"why": "Zahrnuté iba vtedy, keď zdroj spustí ZFS. Obsahuje <code>zpool.cache</code> a <code>hostid</code>."
|
||||
}
|
||||
],
|
||||
"customTitle": "Rozšírenie profilu vlastnými cestami",
|
||||
"customBody": "Okrem predvoleného profilu, ProxMenux ponúka dva spôsoby, ako zahrnúť ďalšie cesty do zálohy. Skladajú sa bez konfliktu a obe sa vzťahujú na interaktívne zálohy a plánované pracovné miesta.",
|
||||
"customExtrasTitle": "1. Trvalé doplnky (na-host súbor)",
|
||||
"customExtrasBody": "Textový súbor <code>/usr/local/share/proxmenux/backup-extra-paths.txt</code> obsahuje absolútne cesty, ktoré používateľ na tomto hostiteľovi označil ako „vždy zahrnúť“. Pri zálohe v režime <strong>Predvolené</strong> sa automaticky pridajú do predvoleného profilu bez otázok. Súbor sa upravuje cez rozhranie, bez ručnej úpravy, a pretrváva medzi reštartmi aj aktualizáciami. Každý riadok obsahuje jednu absolútnu cestu; komentáre s <code>#</code> sú povolené.",
|
||||
"customModeTitle": "2. Vlastný režim (na beh)",
|
||||
"customModeBody": "Spustenie zálohy v režime <strong>Vlastný</strong> nahradí automatickú aplikáciu predvoleného profilu kontrolným zoznamom zobrazujúcim každú cestu: položky predvoleného profilu a trvalé doplnky (s predponou <code>[+]</code> a vopred začiarknuté). Používateľ začiarkne alebo odznačí položky pre daný konkrétny chod a môže tiež stlačiť <em>Pridať vlastnú cestu</em> na zadanie novej cesty – ktorá sa potom uloží do extra súboru pre budúce zálohy.",
|
||||
"customMissingTitle": "Cesta neprítomná zo zdroja",
|
||||
"customMissingBody": "Akákoľvek cesta z profilu (predvolená alebo pridaná), ktorá neexistuje na zdrojovom hostiteľovi, sa zaznamenáva v <code>metadata/missing_paths.txt</code> vo vnútri archívu. Zálohovanie nezlyhá, ani sa nezastaví. Užívateľ vidí súhrn archivovaných ciest a chýbajúce cesty na konci. V praxi sa to stane pre voliteľné cesty nástrojov, ako je <code>/etc/wireguard</code> alebo <code>/etc/prometheus</code>, ak tieto nástroje nie sú nainštalované."
|
||||
},
|
||||
"manifest": {
|
||||
"heading": "Časť s manifestom",
|
||||
"intro": "<code>manifest.json</code> je štruktúrovaný dokument JSON opisujúci zdrojového hostiteľa v čase zálohy. Vytvára ho <strong>šesť nezávislých zberných skriptov</strong> riadených skriptom <code>build_manifest.sh</code>. Každý iba číta údaje a vytvorí presne definovanú časť JSON. Pri zlyhaní použije bezpečnú prázdnu predvolenú hodnotu, takže manifest zostáva použiteľný aj s neúplnou časťou.",
|
||||
"orchestratorCaption": "Manifest tvorí šesť zberných skriptov. Každý beží vo vlastnom podprocese. Pri zlyhaní jednej časti sa použije zdokumentovaná bezpečná predvolená hodnota a zobrazí upozornenie, ale záloha sa nepreruší.",
|
||||
"collectorRows": [
|
||||
{
|
||||
"collector": "collect_source_host.sh",
|
||||
"produces": "source_host",
|
||||
"content": "Názov hostiteľa, verzia PVE (<code>pveversion</code>), verzia PBS, ak hostiteľ plní úlohu zálohovacieho servera, jadro (<code>uname -r</code>), režim zavádzania (efi/bios), typ koreňového súborového systému, model a architektúra CPU, pamäť v KB."
|
||||
},
|
||||
{
|
||||
"collector": "collect_hardware.sh",
|
||||
"produces": "hardware_inventory",
|
||||
"content": "GPU s výrobcom a priradeným inštalátorom ProxMenux; TPU Coral USB a M.2 zistené pomocou <code>lsusb</code>/<code>lspci</code>; sieťové karty s MAC adresou, PCI slotom a priradením k mostu; bezdrôtové zariadenia. Záznamy GPU obsahujú heuristiku <code>passthrough_eligible</code>."
|
||||
},
|
||||
{
|
||||
"collector": "collect_storage.sh",
|
||||
"produces": "storage_inventory",
|
||||
"content": "ZFS pools (s pool typ + členské disky vyriešené na <code>/dev/disk/by-id/*</code>, <code>/dev/disk/by-partuuid/*</code> alebo surové <code>/dev/sdX</code> cesty v závislosti od toho, ako každý pool bol pôvodne vytvorený), LVM objemové skupiny + thin pools, fyzické disky s SMART schopnosť, PVE <code>storage.cfg</code> vstupy, externé pripojenia."
|
||||
},
|
||||
{
|
||||
"collector": "collect_kernel.sh",
|
||||
"produces": "kernel_params",
|
||||
"content": "Parametre pridané správcom do <code>/proc/cmdline</code> bez bežných predvolených položiek, ako sú <code>BOOT_IMAGE=</code>, <code>root=</code>, <code>ro/rw</code>, <code>quiet</code> a <code>splash</code>; moduly načítavané pri štarte z <code>/etc/modules</code>; a cesty súborov <code>/etc/modprobe.d/*.conf</code>, ktoré obsahujú skutočné direktívy (<code>options</code>, <code>blacklist</code>, <code>install</code>, <code>alias</code>, <code>softdep</code>)."
|
||||
},
|
||||
{
|
||||
"collector": "collect_proxmenux_state.sh",
|
||||
"produces": "proxmenux_installed_components",
|
||||
"content": "Číta <code>/usr/local/share/proxmenux/managed_installs.json</code> (registrácia všetkého, čo ProxMenux nainštaloval) a <code>installed_tools.json</code>. Každý záznam udržuje inštalačnú dráhu (<code>menu_script</code>), takže obnovenie môže spustiť presne rovnaký inštalačný tok."
|
||||
},
|
||||
{
|
||||
"collector": "collect_guests.sh",
|
||||
"produces": "vms_lxcs_at_backup",
|
||||
"content": "Vypíše VM (<code>qm list</code>) a kontajnery LXC (<code>pct list</code>) prítomné v čase zálohy: VMID, názov a aktuálny stav. Ide iba o inventár; samotné údaje hostí zálohujú <code>vzdump</code> / PBS."
|
||||
}
|
||||
],
|
||||
"schemaTitle": "Potvrdenie schémy",
|
||||
"schemaBody": "Manifest sa overuje podľa <code>scripts/backup_restore/schema/manifest.schema.json</code>. Príkaz <code>build_manifest.sh --validate</code> spustí validáciu JSON Schema v Pythone, ktorá vyžaduje <code>python3</code> a <code>jsonschema</code>. Ak modul chýba, kontrola sa bez upozornenia preskočí. Validácia slúži najmä vývojárom, nie je závislosťou potrebnou pri bežnom behu."
|
||||
},
|
||||
"applications": {
|
||||
"heading": "Inventár aplikácií",
|
||||
"intro": "Dva inventáre evidujú softvér pridaný k základným balíkom Proxmox VE: zoznam balíkov v <code>metadata/</code> a register komponentov v rootfs, podrobne opísané nižšie. Obnova podľa pôvodného spôsobu inštalácie používa APT alebo inštalátory ProxMenux na opätovnú inštaláciu používateľského softvéru.",
|
||||
"packagesTitle": "packages.manual.list",
|
||||
"packagesBody": "Abecedný textový zoznam z <code>apt-mark showmanual</code> obsahuje všetky balíky APT <em>výslovne nainštalované</em> na zdrojovom hostiteľovi. Nezahŕňa závislosti základného systému Proxmox VE, ktoré APT cieľa nainštaluje automaticky. Pri obnove ho číta <code>_rs_run_complete_extras</code> a použije trojstupňový <em>filter proti kaskádovému odstraňovaniu</em>: <code>dpkg -s</code> zistí už nainštalované balíky, pri knižniciach sa zistia iné hlavné verzie a <code>apt-get install --simulate</code> overí riziko následného odstraňovania. Zvyšné balíky sa nainštalujú cez <code>apt-get install -y</code>.",
|
||||
"componentsTitle": "components_status.json (súčasť rootfs)",
|
||||
"componentsBody": "Register JSON v <code>/usr/local/share/proxmenux/</code> eviduje každý komponent nainštalovaný cez ProxMenux s presným stavom: verziou a osobitnými príznakmi (pri NVIDIA logická hodnota <code>patched</code>, pri Coral verzia DKMS). Súbor je v rootfs, nie v <code>metadata/</code>, pretože sa <em>číta až po</em> skopírovaní rootfs na cieľ. Dispečer po štarte (<code>apply_cluster_postboot.sh</code>) prejde záznamy a spustí pre každý komponent jeho <code>--auto-reinstall</code> hook. Ten prečíta uložený stav a zopakuje inštaláciu pre aktuálne jadro cieľa.",
|
||||
"componentInstallersTitle": "Inštalátory komponentov",
|
||||
"componentInstallersBody": "Štyri inštalátory ProxMenux v súčasnosti vystavujú vstupný bod <code>--auto-reinstall</code>:",
|
||||
"installerRows": [
|
||||
{
|
||||
"component": "nvidia_driver",
|
||||
"installer": "gpu_tpu/nvidia_installer.sh",
|
||||
"action": "Číta <code>version</code> a <code>patched</code>. Stiahne ten istý inštalačný súbor NVIDIA, zostaví moduly DKMS pre jadro cieľa a znovu použije opravu ProxMenux, ak bola na zdroji zapnutá."
|
||||
},
|
||||
{
|
||||
"component": "coral_driver",
|
||||
"installer": "gpu_tpu/install_coral.sh",
|
||||
"action": "Číta verziu Coral ovládač. Kompiluje modul DKMS s jadrom cieľa."
|
||||
},
|
||||
{
|
||||
"component": "amdgpu_top",
|
||||
"installer": "gpu_tpu/amd_gpu_tools.sh",
|
||||
"action": "Číta nahranú verziu. Znovu stiahne presný <code>.deb</code> z GitHub vydania."
|
||||
},
|
||||
{
|
||||
"component": "intel_gpu_tools",
|
||||
"installer": "gpu_tpu/intel_gpu_tools.sh",
|
||||
"action": "APT inštaluje balík. Idempotentné, ak už prítomný z <code>packages.manual.list</code>."
|
||||
}
|
||||
]
|
||||
},
|
||||
"restoreFlow": {
|
||||
"heading": "Ako obnova používa tri časti",
|
||||
"intro": "Obnova má šesť fáz. Každá číta konkrétnu časť archívu a aktualizuje cieľového hostiteľa. Žiadna nevyžaduje dostupnosť zdrojového hostiteľa: archív obsahuje všetky potrebné zálohované údaje.",
|
||||
"stagesCaption": "Fáza 1 podľa manifestu rozhodne, čo upraviť. Fáza 2 skopíruje cesty rootfs použiteľné za behu. Fáza 3 pripraví rizikové cesty na ďalší štart. Fáza 3b importuje dátové pooly ZFS bez koreňového systému, ktorých disky sú všetky prítomné. Fáza 4 rieši balíky. Fáza 5 po reštarte preinštaluje komponenty pre jadro cieľa.",
|
||||
"stageRows": [
|
||||
{
|
||||
"stage": "1",
|
||||
"name": "Kontrola kompatibility",
|
||||
"reads": "manifest.json",
|
||||
"action": "Spúšťa <code>hb_compat_check</code>. Porovnáva zdrojový a cieľový hardvér (NIC, identifikátory úložísk), verziu PVE a hlavnú verziu jadra. Nastavuje <code>HB_COMPAT_KERNEL_DIRECTION</code> (<code>same</code>, <code>bk_newer</code> alebo <code>bk_older</code>) a zaľudňuje <code>RS_SKIP_PATHS</code> s hardware-drift a cross-kernel s výnimkou."
|
||||
},
|
||||
{
|
||||
"stage": "2",
|
||||
"name": "Použitie za tepla",
|
||||
"reads": "rootfs/ (len bezpečné cesty)",
|
||||
"action": "<code>_rs_apply … hot</code> kopíruje <code>hb_classify_path</code>=<code>hot</code> položky priamo do živého cieľa. Všetko pod <code>/etc/pve</code>, <code>/etc/network</code> alebo cesty klasifikované ako <em>reboot</em>/<em>dangerous</em> je odložený."
|
||||
},
|
||||
{
|
||||
"stage": "3",
|
||||
"name": "Príprava odložených zmien",
|
||||
"reads": "rootfs/ (reboot + nebezpečné cesty)",
|
||||
"action": "<code>_rs_prepare_pending_restore</code> pripraví rizikové cesty v <code>/var/lib/proxmenux/pending-restore/</code>, zapíše <code>plan.env</code>, <code>apply-on-boot.list</code> a <code>rs-skip-paths.txt</code> a povolí spustenie <code>proxmenux-restore-onboot.service</code> pri ďalšom štarte."
|
||||
},
|
||||
{
|
||||
"stage": "3b",
|
||||
"name": "Import dátových poolov",
|
||||
"reads": "manifest.storage_inventory + cieľový ZFS stav",
|
||||
"action": "<code>_rs_import_data_pools</code> importuje každého ZFS pool každého iného typu než root, ktorého úplná sada diskov sa nachádza v cieli. Pools nesúci cudzí hostid sa zopakuje s <code>zpool import -f</code>. Pools chýbajúce disky sú preskočené s varovaním. Výsledok per-pool je zaznamenaný v <code>/var/log/proxmenux/restore-datapools-<timestamp>.log</code>."
|
||||
},
|
||||
{
|
||||
"stage": "4",
|
||||
"name": "Inštalácia balíka",
|
||||
"reads": "metadata/packages.manual.list",
|
||||
"action": "<code>_rs_run_complete_extras</code> spustí kaskádovo bezpečný filter a zavolá <code>apt-get install -y</code> so zoznamom prežitých balíkov. Celý výstup ide do <code>/var/log/proxmenux/restore-apt-*.log</code>."
|
||||
},
|
||||
{
|
||||
"stage": "5",
|
||||
"name": "Po štarte systému",
|
||||
"reads": "rootfs (už použité) + components_status.json",
|
||||
"action": "Po reštarte <code>apply_pending_restore.sh</code> použije odložené cesty a <code>apply_cluster_postboot.sh</code> spustí <code>update-initramfs</code>, <code>update-grub</code> alebo <code>proxmox-boot-tool refresh</code>. Potom prejde <code>components_status.json</code> a pre každý komponent spustí jeho <code>--auto-reinstall</code> hook."
|
||||
}
|
||||
]
|
||||
},
|
||||
"whyItWorks": {
|
||||
"heading": "Prečo je záloha rozdelená na tri časti",
|
||||
"body": "Rozdelenie sleduje <strong>životný cyklus</strong> údajov. Súborový systém sa prenáša cez <code>rsync</code>: rýchlo, prehľadne a atómovo po súboroch. Konfiguračný stav, ktorý treba vyhodnotiť pred zmenami, je <strong>štruktúrovaný JSON</strong>, samostatne čitateľný, verzovateľný schémou a strojovo porovnateľný so stavom cieľa. Softvér na reinštaláciu opisuje <strong>inventár</strong> názvov a verzií; správca balíkov a inštalátory ProxMenux vyberú vhodné binárne súbory. Každá časť plní vlastnú úlohu. Spolu smerujú ku konzistentnej obnove odolnej voči chybám: poškodený manifest ponecháva rootfs obnoviteľný, chýbajúci balík nebráni inštalácii komponentov a zlyhanie pri jednej položke nezastaví ďalšiu."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "ProxMenux Zálohovanie a obnovenie — Prehľad | Úplné zálohovanie a obnovenie hostiteľa pre Proxmox VE",
|
||||
"description": "ProxMenux Backup & Restore zachytáva úplný stav hostiteľa Proxmox – súborový systém, štruktúrovaný konfiguračný manifest a nainštalované balíky/komponenty – a reprodukuje ho na rovnakom alebo inom hostiteľovi. Zálohovanie a obnova sú samostatné: žiadne externé závislosti a obnovy medzi jadrami sú podporované prostredníctvom filtra bezpečnej podmnožiny zohľadňujúceho smer zmeny verzie a hydratácie nezávislej od jadra.",
|
||||
"ogTitle": "ProxMenux Zálohovanie a obnovenie — Prehľad",
|
||||
"ogDescription": "Úplné zálohovanie a obnovenie hostiteľa pre Proxmox VE so štruktúrovaným manifestom, zoznamom balíkov a preinštalátormi komponentov.",
|
||||
"twitterTitle": "ProxMenux Zálohovanie a obnovenie | ProxMenux",
|
||||
"twitterDescription": "Úplné zálohovanie a obnovenie hostiteľa pre Proxmox VE so štruktúrovaným manifestom, zoznamom balíkov a preinštalátormi komponentov."
|
||||
},
|
||||
"header": {
|
||||
"title": "Zálohovanie a obnovenie",
|
||||
"description": "Zálohovanie a obnovenie úplného hostiteľa pre Proxmox VE. Zachytáva súborový systém, konfiguráciu a nainštalované komponenty do jedného archívu a reprodukuje hostiteľa v rovnakej alebo inej inštalácii Proxmox bez externých závislostí.",
|
||||
"section": "Zálohovanie a obnovenie"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Čo to je, v jednom odseku",
|
||||
"body": "Záloha ProxMenux zachytáva úplný stav hostiteľa Proxmox: <strong>súborový systém</strong>, teda príslušné adresáre v <code>/etc</code>, <code>/root</code> a <code>/var/lib/pve-cluster</code> spolu s voliteľnými vlastnými cestami; <strong>štruktúrovaný manifest</strong> vo formáte JSON s detegovaným hardvérom, parametrami jadra, konfiguráciou siete, stavom ZFS, používateľmi a záznamami cron; a <strong>inventár aplikácií</strong> s balíkmi označenými v APT ako manuálne nainštalované a komponentmi nainštalovanými cez ProxMenux vrátane presných verzií. Všetky tri podporované ciele – lokálny archív, Proxmox Backup Server (odporúčaný) a Borg – dostávajú rovnaký samostatný obsah. Z každého možno obnoviť cieľového hostiteľa bez toho, aby bol zdrojový hostiteľ počas obnovy dostupný."
|
||||
},
|
||||
"video": {
|
||||
"heading": "Videonávod",
|
||||
"intro": "Uprednostňujete sledovanie zálohovania a obnovenia v akcii pred jeho konfiguráciou? Tento návod obsahuje úplné demo funkcie v ProxMenux.",
|
||||
"title": "ProxMenux — Návod na zálohovanie a obnovenie",
|
||||
"caption": "Externé video na YouTube. Prehráva sa v režime ochrany osobných údajov (žiadne súbory cookie, kým nestlačíte tlačidlo prehrávania)."
|
||||
},
|
||||
"whatItIsNot": {
|
||||
"heading": "Čo to nie je",
|
||||
"intro": "Táto časť sa venuje zálohovaniu a obnove <strong>hostiteľa</strong>: samotnej inštalácie Proxmoxu, nie aplikácií a virtuálnych systémov, ktoré na nej bežia.",
|
||||
"items": [
|
||||
"<strong>Nejde o nástroj na zálohovanie VM/CT.</strong> Táto funkcia nezachytáva disky ani stav RAM virtuálnych systémov; na to slúži <code>vzdump</code>. Ich <strong>konfiguračné súbory</strong> (<code>/etc/pve/nodes/<node>/qemu-server/*.conf</code> a <code>lxc/*.conf</code>) sa <strong>však zálohujú</strong>. Po obnove sa inventár znovu zobrazí a disky možno obnoviť alebo pripojiť z existujúcej zálohy v PBS či na lokálnom úložisku.",
|
||||
"<strong>Nejde o operáciu pre celý klaster.</strong> Každý uzol zálohuje sám seba. Členstvo v klastri sa zachytáva v <code>/etc/pve</code>, aby sa obnovený uzol mohol opäť pridať do klastra. Obnova celého klastra však vyžaduje koordináciu jednotlivých uzlov.",
|
||||
"<strong>Nejde o úplný obraz disku.</strong> Binárne súbory jadra, initramfs ani zavádzacia partícia sa nezálohujú. Pri obnove ProxMenux využíva zavádzacie súbory cieľového hostiteľa, automaticky vytvorené pomocou <code>update-initramfs</code> a nástroja zavádzača, a inštaluje ovládače zodpovedajúce jadru spustenému na cieľovom hostiteľovi."
|
||||
]
|
||||
},
|
||||
"threePillars": {
|
||||
"heading": "Tri piliere zálohovania",
|
||||
"intro": "Archív ProxMenux je štruktúrovaný okolo troch samostatných blokov údajov. Obnova používa všetky tri spolu na reprodukciu zdrojového hostiteľa na cieli, ktorý nemusí mať dokonca nainštalované rovnaké jadro.",
|
||||
"diagramCaption": "Každá záloha obsahuje rovnaké tri bloky údajov bez ohľadu na cieľ. Obnova používa všetky tri: rootfs na uloženie súborov, manifest na zistenie odchýlok a rozdielov medzi verziami jadra a inventár aplikácií na opätovnú inštaláciu balíkov a komponentov pre vlastné jadro cieľa.",
|
||||
"pillar1Label": "Súborový systém",
|
||||
"pillar1Detail": "rootfs/\n(rsync z /etc,\n/etc/systemd/network,\n/root, plus\nsnímka sqlite3\nz /var/lib/pve-cluster,\n+ voliteľné cesty)",
|
||||
"pillar2Label": "Manifest",
|
||||
"pillar2Detail": "manifest.json\n(hardvér, parametre\njadra, sieť,\nZFS, používatelia, cron,\npooly ZFS, úložisko)",
|
||||
"pillar3Label": "Aplikácie",
|
||||
"pillar3Detail": "packages.manual.list\n+ components_status.json\n(manuálne balíky APT + inštalátory\nProxMenux s verziami)"
|
||||
},
|
||||
"restoreIsUniversal": {
|
||||
"heading": "Obnova reprodukuje hostiteľa zdroja, nie archív",
|
||||
"body": "Obnova zálohy ProxMenux neznamená len rozbalenie súborového systému. Postup obnovy prečíta manifest, aby zistil rozdiely medzi zdrojom a cieľom (hardvér, premenovanie sieťových kariet, verziu jadra, identitu poolu ZFS), obnoví súborový systém a potom spustí príslušný inštalátor komponentu pre každú službu nainštalovanú v zdroji (ovládač NVIDIA, Coral TPU, nástroje GPU AMD a Intel). Každý inštalátor sa spúšťa pre <strong>aktuálne jadro cieľa</strong>, takže obnovený hostiteľ nezávisí od prítomnosti zdrojového jadra. Ak je jadro cieľa novšie než jadro zálohy, fáza <strong>hydratácie</strong> nezávislá od jadra zlúči vlastné nastavenia používateľa (tokeny IOMMU, ID zariadení VFIO, osobitné úpravy, kľúče GRUB) s novou zavádzacou konfiguráciou cieľa bez doslovného kopírovania súborov viazaných na jadro."
|
||||
},
|
||||
"twoInterfaces": {
|
||||
"heading": "Dve rozhrania, jeden backend",
|
||||
"intro": "Každý krok pracovného postupu zálohovania a obnovy je dostupný z dvoch vstupných bodov. Oba volajú rovnakú knižnicu shellu, vytvárajú identické archívy a čítajú rovnaký register úloh.",
|
||||
"cliLabel": "ProxMenux Scripts (TUI)",
|
||||
"cliDetail": "menu → Nástroje →\nZálohovanie / obnovenie hostiteľa\n\nDialógový tok,\nSSH priateľský, skriptovateľný\nna použitie bez dozoru.",
|
||||
"webLabel": "ProxMenux Monitor (Web UI)",
|
||||
"webDetail": "Karta Backups vo\nwebovom rozhraní Monitor.\n\nObnova jedným kliknutím,\npriebežný výpis záznamov,\nprepojenie s upozorneniami\na zobrazením rozdielov rollbacku."
|
||||
},
|
||||
"whereNext": {
|
||||
"heading": "Kam ísť odtiaľto",
|
||||
"intro": "Každá podsekcia nižšie podrobne pokrýva jeden aspekt pracovného postupu. Začnite s <em>Ako to funguje</em>, ak je cieľom pochopiť, čo archív obsahuje a prečo. Prejdite na <em>Ciele</em> a nakonfigurujte cieľ pre kópiu. Prečítajte si <em>Obnovovanie</em> a <em>Obnova medzi jadrami</em> pre stranu obnovy.",
|
||||
"items": [
|
||||
{
|
||||
"label": "Ako to funguje",
|
||||
"href": "/docs/backup-restore/how-it-works",
|
||||
"tail": "— podrobne tri bloky údajov (rootfs, manifest, aplikácie) s kolektormi, ktoré ich vytvárajú, a formátom každého súboru."
|
||||
},
|
||||
{
|
||||
"label": "Destinácie",
|
||||
"href": "/docs/backup-restore/destinations",
|
||||
"tail": "— porovnanie lokálneho úložiska, Proxmox Backup Server (odporúča sa) a Borg a ako nakonfigurovať každý z nich."
|
||||
},
|
||||
{
|
||||
"label": "Vytváranie záloh",
|
||||
"href": "/docs/backup-restore/creating-backups",
|
||||
"tail": "— jednorazové zálohy, predvolený profil cesty, pridávanie vlastných ciest, šifrovanie pre PBS."
|
||||
},
|
||||
{
|
||||
"label": "Plánované úlohy",
|
||||
"href": "/docs/backup-restore/scheduled-jobs",
|
||||
"tail": "— nové úlohy verzus pripojenie k existujúcej úlohe PVE vzdump, formáty plánovania, modálny detail úlohy."
|
||||
},
|
||||
{
|
||||
"label": "Obnova",
|
||||
"href": "/docs/backup-restore/restoring",
|
||||
"tail": "– tri akcie s archívom (zobrazenie, stiahnutie, obnovenie), úplná a vlastná obnova, dispečer po spustení a prečo záleží na posledných desiatich minútach."
|
||||
},
|
||||
{
|
||||
"label": "Obnova medzi jadrami",
|
||||
"href": "/docs/backup-restore/cross-kernel",
|
||||
"tail": " — správanie zohľadňujúce smer zmeny verzie pri odlišnom jadre cieľa a zálohy, filter bezpečnej podmnožiny a štyri fázy hydratácie."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Plánované úlohy — časovače, režim attach a uchovávanie záloh | ProxMenux",
|
||||
"description": "Plánované úlohy zálohovania hostiteľa ProxMenux. Dva režimy vytvorenia (vlastný časovač systemd alebo pripojenie k existujúcej úlohe vzdump PVE), pravidlá uchovávania pre jednotlivé úlohy cez proxmox-backup-client, Borg alebo lokálne čistenie, súbory v /var/lib/proxmenux/backup-jobs a spúšťací skript vytvárajúci rovnaké archívy ako interaktívny postup.",
|
||||
"ogTitle": "Zálohovanie ProxMenux — plánované úlohy",
|
||||
"ogDescription": "Plánované zálohy hostiteľa bez obsluhy s režimom pripojenia, pravidlami uchovávania a rovnakými tromi cieľmi ako interaktívny postup.",
|
||||
"twitterTitle": "Plánované úlohy | ProxMenux",
|
||||
"twitterDescription": "Plánované úlohy zálohovania hostiteľa bez obsluhy s režimom pripojenia a uchovávaním."
|
||||
},
|
||||
"header": {
|
||||
"title": "Plánované úlohy",
|
||||
"description": "Úlohy zálohovania hostiteľa bez obsluhy. Dva modely vytvorenia: nová nezávislá úloha s vlastným plánom alebo úloha pripojená k existujúcej úlohe vzdump PVE, z ktorej preberá plán a pravidlá uchovávania. Oba modely vytvárajú rovnaké archívy ako interaktívny postup.",
|
||||
"section": "Záloha a obnova"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Dva modely plánovaných úloh",
|
||||
"body": "Plánovanú úlohu možno vytvoriť podľa jedného z dvoch modelov:",
|
||||
"modelsList": [
|
||||
"<strong>Nová nezávislá úloha</strong> — ProxMenux nastaví vlastný plán pomocou samostatného časovača systemd, nezávisle od ostatných úloh na hostiteľovi. Podporuje všetky tri ciele: lokálny, PBS a Borg.",
|
||||
"<strong>Pripojenie k existujúcej úlohe vzdump PVE</strong> — úloha nemá vlastný plán; spúšťa sa automaticky pri nadradenej úlohe vzdump PVE, ktorá už zálohuje VM a LXC na hostiteľovi. Preberá jej plán a pravidlá uchovávania. Podporuje lokálny cieľ a PBS (Borg nie je podporovaný, pretože PVE preň nemá natívny plánovač)."
|
||||
]
|
||||
},
|
||||
"attachBadge": {
|
||||
"title": "Režim pripojenia — odporúčaný, ak už existuje úloha vzdump PVE",
|
||||
"body": "Ak už existuje úloha vzdump PVE pre VM a LXC na uzle, pripojená záloha hostiteľa sa vykoná po zálohe hostí v <strong>rovnakom zálohovacom cykle</strong>. Pri obnove pochádzajú konfigurácie hostí zo zálohy hostiteľa (v <code>/etc/pve</code>) a ich disky zo záloh vzdump daného cyklu. To pomáha koordinovať obnovu celého uzla, ale nejde o atómovú snímku: zmeny počas cyklu môžu zanechať rozdiely medzi konfiguráciou hostiteľa a stavom diskov hostí."
|
||||
},
|
||||
"frequencyBadge": {
|
||||
"title": "Odporúčaná frekvencia",
|
||||
"body": "Ak chcete maximalizovať kompatibilitu zálohy hostiteľa s budúcou obnovou, zálohujte často. Čím bližšie je záloha aktuálnemu stavu hostiteľa, tým menej rozdielov v konfigurácii, balíkoch a komponentoch musí obnova zosúladiť."
|
||||
},
|
||||
"modes": {
|
||||
"heading": "Dva režimy",
|
||||
"rows": [
|
||||
{
|
||||
"mode": "Nová plánovaná úloha",
|
||||
"backends": "Miestne, PBS, Borg",
|
||||
"schedule": "Vlastný výraz <code>OnCalendar</code> (syntax kalendára systemd, napr. <code>daily</code> alebo <code>Mon..Fri 03:00</code>).",
|
||||
"retention": "Zadáva sa samostatne: <code>keep-last</code>, <code>keep-hourly</code>, <code>keep-daily</code>, <code>keep-weekly</code>, <code>keep-monthly</code>, <code>keep-yearly</code>. Použije spúšťací skript po každej úspešnej zálohe."
|
||||
},
|
||||
{
|
||||
"mode": "Pripojiť k úlohe vzdump PVE",
|
||||
"backends": "Local, PBS (Borg nemá plánovač na strane PVE)",
|
||||
"schedule": "Preberá sa z nadradenej úlohy PVE. Na strane ProxMenux sa neinštaluje žiadny časovač systemd.",
|
||||
"retention": "Preberá sa z konfigurácie <code>prune-backups</code> nadradenej úlohy (pomocou <code>hb_pve_prune_to_keep_env</code> mapovanej jedna k jednej na premenné <code>KEEP_*</code> spúšťacieho skriptu)."
|
||||
}
|
||||
]
|
||||
},
|
||||
"attachDetail": {
|
||||
"heading": "Ako funguje režim pripojenia",
|
||||
"intro": "PVE zapisuje úlohy <code>vzdump</code> do <code>/etc/pve/jobs.cfg</code> — jednu sekciu pre každú úlohu s úložiskom záloh VM a LXC. Režim pripojenia vyžaduje backend podporovaný ProxMenux (lokálny alebo PBS). Záloha hostiteľa sa spustí cez hook job-end po dokončení úlohy zálohovania hostí.",
|
||||
"steps": [
|
||||
{
|
||||
"step": "1",
|
||||
"detail": "Počas vytvárania úlohy ProxMenux uvádza kompatibilné rodičovské PVE úlohy prostredníctvom <code>hb_pve_list_vzdump_jobs_for_backend</code>. Užívateľ si vyberie jednu."
|
||||
},
|
||||
{
|
||||
"step": "2",
|
||||
"detail": "Súbor <code>.env</code> úlohy sa zapíše s <code>PVE_PARENT_JOB</code>, <code>PVE_STORAGE</code> a prevzatými hodnotami <code>KEEP_*</code>; časovač systemd sa nevytvorí."
|
||||
},
|
||||
{
|
||||
"step": "3",
|
||||
"detail": "<code>hb_install_vzdump_hook</code> zaregistruje hook v <code>/etc/vzdump.conf</code>. Vo fáze job-end ľubovoľnej úlohy vzdump porovná prijaté <code>$STOREID</code> s <code>PVE_STORAGE</code> každej povolenej pripojenej úlohy a pri zhode zavolá spúšťací skript. Zhoda sa určuje podľa úložiska, nie podľa ID vybranej nadradenej úlohy."
|
||||
},
|
||||
{
|
||||
"step": "4",
|
||||
"detail": "Archív sa uloží do rovnakého úložiska ako zálohy vzdump: <code>path/dump/</code> pri lokálnom cieli alebo repozitár PBS nastavený v úložisku PVE."
|
||||
}
|
||||
],
|
||||
"outroBody": "Režim pripojenia nemá vlastný časovač. Vypnutie alebo odstránenie vybranej nadradenej úlohy PVE zastaví jej spúšťanie, ale iná úloha vzdump s rovnakým úložiskom môže pripojenú zálohu hostiteľa stále spustiť. Ak tomu chcete zabrániť, vypnite alebo odstráňte samotnú úlohu ProxMenux. Pri vypnutí zostane záznam na disku a možno ho neskôr povoliť alebo znovu pripojiť."
|
||||
},
|
||||
"storageLayout": {
|
||||
"heading": "Súbory, ktoré tvoria prácu",
|
||||
"intro": "Každá plánovaná úloha je plne popísaná tromi alebo štyrmi súbormi na disku. Čítanie im dáva plnú konfiguráciu úlohy bez spoliehania sa na rozhranie.",
|
||||
"rows": [
|
||||
{
|
||||
"path": "/var/lib/proxmenux/backup-jobs/JOB_ID.env",
|
||||
"content": "Backend, ID zálohy alebo cieľ, plán (nový režim) alebo nadradená úloha PVE (režim pripojenia), príznak povolenia, hodnoty uchovávania <code>KEEP_*</code> a odkazy na prihlasovacie údaje."
|
||||
},
|
||||
{
|
||||
"path": "/var/lib/proxmenux/backup-jobs/JOB_ID.paths",
|
||||
"content": "Jedna absolútna cesta na riadok — výber odvodený z profilu a uložený pri vytvorení úlohy. Po úprave súboru sa pri ďalšom spustení časovačom použije nový výber."
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/proxmenux-backup-JOB_ID.timer + .service",
|
||||
"content": "Iba nový režim. Služba vyvoláva <code>run_scheduled_backup.sh JOB_ID</code>. Časovač ho naplánuje s <code>Persistent=true</code> (zmeškané spustenia sa vykonajú pri ďalšom štarte) a malým <code>RandomizedDelaySec=120</code> rozložiť zaťaženie, keď viaceré úlohy zdieľa rovnaký OnCalendar výraz."
|
||||
},
|
||||
{
|
||||
"path": "/etc/vzdump.conf script-hook",
|
||||
"content": "Iba režim pripojenia. Raz ho nainštaluje <code>hb_install_vzdump_hook</code>; porovnáva <code>PVE_STORAGE</code> každej pripojenej úlohy s <code>$STOREID</code>, ktoré PVE odovzdáva hooku."
|
||||
}
|
||||
]
|
||||
},
|
||||
"runner": {
|
||||
"heading": "Čo úloha vykoná pri spustení",
|
||||
"intro": "Každá práca, či je nový model alebo pripojený, má rovnakú trojstupňovú sekvenciu:",
|
||||
"steps": [
|
||||
"<strong>Pripraví zálohu.</strong> Načíta konfiguráciu úlohy (cieľ, profil, cesty) a zostaví strom archívu rovnako ako interaktívny postup. Výsledkom je rovnaký archív, aký by vytvorila manuálna záloha s týmito nastaveniami.",
|
||||
"<strong>Zapíše do cieľa.</strong> Odošle alebo zapíše archív do nastaveného cieľa — lokálny súbor <code>.tar.zst</code>, záloha PBS alebo archív Borg — s presne rovnakými nástrojmi a prihlasovacími údajmi ako manuálna záloha do rovnakého cieľa.",
|
||||
"<strong>Použije pravidlá uchovávania.</strong> Odstráni staré zálohy z cieľa a ponechá počty nastavené v úlohe cez <code>keep-last</code> / <code>keep-daily</code> / <code>keep-weekly</code>. Čistenie vykonáva príslušný backend: PBS používa svoje pravidlá uchovávania, Borg spustí <code>borg prune</code> a pri lokálnom cieli ProxMenux odstráni súbory mimo rozsahu <code>keep-last</code>."
|
||||
]
|
||||
},
|
||||
"management": {
|
||||
"heading": "Správa úloh",
|
||||
"intro": "Menu rozvrhu (Scripts TUI) a záložka Monitor Backup odhaľujú rovnaké akcie na akejkoľvek práci.",
|
||||
"rows": [
|
||||
{
|
||||
"action": "Spustiť teraz",
|
||||
"detail": "Okamžite zavolá spúšťací skript bez čakania na časovač alebo hook vzdump. Umožní overiť konfiguráciu úlohy bez čakania na ďalšie plánované spustenie."
|
||||
},
|
||||
{
|
||||
"action": "Povoliť / zakázať",
|
||||
"detail": "Nový režim: časovač sa ovláda cez <code>systemctl enable/disable --now</code>. Režim pripojenia: zmení príznak <code>ENABLED</code> v súbore env úlohy — hook ho zohľadní pri ďalšom spustení PVE."
|
||||
},
|
||||
{
|
||||
"action": "Upraviť",
|
||||
"detail": "Znovu otvorí destináciu, rozvrh, profil a retenčný postup a prepíše pracovné súbory. Zachováva ID práce."
|
||||
},
|
||||
{
|
||||
"action": "Odstrániť",
|
||||
"detail": "Odstráni súbor env úlohy, súbor ciest, časovač a službu systemd (nový režim) a vypne pripojenie k hooku (režim pripojenia). Existujúce archívy v cieli nemení."
|
||||
},
|
||||
{
|
||||
"action": "Zobraziť záznam",
|
||||
"detail": "Priebežne zobrazuje <code>/var/log/proxmenux/backup-jobs/JOB_ID-YYYYMMDD_HHMMSS.log</code> — jeden protokolový súbor na beh. Spúšťací skript tiež vydáva kompaktný stavový riadok na journald pod systemd služby."
|
||||
}
|
||||
]
|
||||
},
|
||||
"notifications": {
|
||||
"heading": "Oznámenia",
|
||||
"body": "Každé plánované spustenie vyvolá rovnaké udalosti <code>hb_notify_lifecycle</code> ako interaktívny postup (<code>start</code>, <code>complete</code>, <code>fail</code>). Ak sú v Monitore nastavené kanály upozornení, úlohy bez obsluhy oznámia výsledky rovnako ako manuálne zálohy — používateľ nemusí kontrolovať záznam, aby zistil úspech úlohy."
|
||||
},
|
||||
"whereNext": {
|
||||
"heading": "Kam ísť ďalej",
|
||||
"items": [
|
||||
{
|
||||
"label": "Vytváranie záloh",
|
||||
"href": "/docs/backup-restore/creating-backups",
|
||||
"tail": " — interaktívny postup, ktorý zdieľa backend s plánovačom."
|
||||
},
|
||||
{
|
||||
"label": "Ciele",
|
||||
"href": "/docs/backup-restore/destinations",
|
||||
"tail": " — konfigurácia jednotlivých backendov používaná interaktívnym postupom aj plánovačom."
|
||||
},
|
||||
{
|
||||
"label": "Obnovenie",
|
||||
"href": "/docs/backup-restore/restoring",
|
||||
"tail": " — postup používajúci zálohy vytvorené úlohami."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user