mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-04 20:02:07 +00:00
Merge pull request #587 from MaEscalanteHe/docs/drift-utils
docs(web): fix Utils drift
This commit is contained in:
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "Was im Paket landet",
|
||||
"intro": "Für eine OVA / OVF namens <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "Für eine OVA / OVF namens <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "Was exportiert wird",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "SHA1-Manifest",
|
||||
"intro": "Jedes Paket enthält eine <code>.mf</code>-Datei mit SHA1-Hashes des OVF-Deskriptors und jedes VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "In der OVF-Spezifikation ist das Manifest optional; viele Importprogramme ignorieren es. Es hilft jedoch zu prüfen, ob das Paket unbeschädigt übertragen wurde. Prüfen Sie es manuell mit <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Halten Sie den Host in gutem Zustand: mit CLI-Werkzeugen, regelmäßigen Aktualisierungen und dem Versionsupgrade, wenn es ansteht.",
|
||||
"bullets": [
|
||||
"Installationsprogramm für Systemwerkzeuge (25 CLI-Werkzeuge)",
|
||||
"Proxmox-Systemaktualisierung (apt + dist-upgrade)",
|
||||
"Proxmox-Systemaktualisierung (apt + full-upgrade)",
|
||||
"Versionsupgrade PVE 8 → PVE 9"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "ISO-Erstellung",
|
||||
"body": "Erstellen Sie direkt auf dem Proxmox-Host eine neue, aktuelle Windows-Installations-ISO. Das Skript automatisiert den gesamten UUP-Dump-Ablauf: Installation der Abhängigkeiten (aria2c, cabextract, wimlib-imagex, …), paralleler Download der Aktualisierungsdateien mit aria2 und Umwandlung in eine bootfähige ISO. Diese wird unter <code>/var/lib/vz/template/iso</code> gespeichert und kann einer VM zugewiesen werden.",
|
||||
"body": "Erstellen Sie direkt auf dem Proxmox-Host eine neue, aktuelle Windows-Installations-ISO. Das Skript automatisiert den gesamten UUP-Dump-Ablauf: Installation der Abhängigkeiten (aria2c, cabextract, wimlib-imagex, …), paralleler Download der Aktualisierungsdateien mit aria2 und Umwandlung in eine bootfähige ISO. Diese wird im erkannten Proxmox-ISO-Speicher gespeichert (Ausweichziel <code>/var/lib/vz/template/iso</code>) und kann einer VM zugewiesen werden.",
|
||||
"options": [
|
||||
{
|
||||
"title": "UUP-Dump-ISO-Erstellung",
|
||||
"description": "Erstellen Sie eine aktuelle Windows-Installations-ISO über einen Freigabelink von UUP Dump. Abhängigkeiten, Download und Umwandlung werden vollständig automatisch abgewickelt. Die fertige ISO wird unter /var/lib/vz/template/iso für die VM-Erstellung gespeichert.",
|
||||
"description": "Erstellen Sie eine aktuelle Windows-Installations-ISO über einen Freigabelink von UUP Dump. Abhängigkeiten, Download und Umwandlung werden vollständig automatisch abgewickelt. Die fertige ISO wird im erkannten Proxmox-ISO-Speicher für die VM-Erstellung gespeichert.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Proxmox-Systemupdate",
|
||||
"description": "Repository-Prüfung + apt update + apt dist-upgrade mit Rückfrage vor dem Neustart. Erkennt die PVE-Hauptversion (8 oder 9), behält die konfigurierten Repositories bei und fragt nach, bevor ein Host ohne Abonnement auf das no-subscription-Repository umgestellt wird. Anschließend wird autoremove ausgeführt.",
|
||||
"description": "Repository-Prüfung + apt update + apt full-upgrade mit Rückfrage vor dem Neustart. Erkennt die PVE-Hauptversion (8 oder 9), behält die konfigurierten Repositories bei und fragt nach, bevor ein Host ohne Abonnement auf das no-subscription-Repository umgestellt wird. Anschließend wird autoremove ausgeführt.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "Das Enterprise-Repository ist aktiviert, aber der Host hat kein aktives Abonnement. Das Arbeitsskript bietet vor <code>apt-get update</code> die Umstellung auf no-subscription an. Wurde sie abgelehnt, starten Sie die Aktualisierung erneut und stimmen Sie zu. Alternativ deaktivieren Sie Enterprise unter <em>Node → Updates → Repositories</em> und aktivieren no-subscription."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade bleibt bei \"Configuring grub-pc\" hängen",
|
||||
"title": "full-upgrade bleibt bei \"Configuring grub-pc\" hängen",
|
||||
"body": "Falls eine interaktive GRUB-Abfrage erscheint, fragt sie nach den Geräten für den Bootloader. <code>--force-confold</code> gilt für Entscheidungen zu Konfigurationsdateien, nicht für diese Geräteauswahl. Wählen Sie mit <kbd>Tab</kbd> + <kbd>Space</kbd> die passenden Startfestplatten und dann OK. Die Auswahl lässt sich vorher mit <code>dpkg-reconfigure grub-pc</code> konfigurieren."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Proxmox-Systemupdate",
|
||||
"tailRich": "— für den eigentlichen <code>apt dist-upgrade</code> auf dem Host."
|
||||
"tailRich": " — für den eigentlichen <code>apt full-upgrade</code> auf dem Host."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Geprüfte Sicherungen</strong> aller VMs und CTs (PBS, vzdump, ZFS-Snapshots — auch die Wiederherstellung prüfen).",
|
||||
"<strong>Konsolen- / IPMI- / iKVM-Zugang</strong> zum Host, falls SSH während des Upgrades ausfällt.",
|
||||
"Der Host ist bereits auf PVE 8.4.x auf dem neuesten Stand (das Skript erzwingt dies).",
|
||||
"Der Host befindet sich auf dem neuesten PVE-8-Patchstand. Das Skript aktualisiert zuerst PVE 8; es prüft nicht auf eine bestimmte Version 8.4.x.",
|
||||
"Ceph (falls vorhanden) auf der Version 19.x Squid.",
|
||||
"Mindestens <strong>5 GB freier Speicher</strong> im Root-Dateisystem."
|
||||
"Mindestens <strong>5 GB freier Speicher</strong> im Root-Dateisystem, wie es der Proxmox-Leitfaden empfiehlt. Das Skript selbst prüft nur 1 GB in /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Warum das Web-Terminal blockiert ist",
|
||||
"body": "Alle drei Upgrade-Modi erkennen <code>termproxy</code> / <code>vncshell</code> in der Kette übergeordneter Prozesse und verweigern den Start. Das Proxmox-Webterminal wird von <code>pveproxy</code> bereitgestellt, einem Dienst, der beim Upgrade aktualisiert wird. Sobald <code>pveproxy</code> neu startet, endet die Terminalsitzung und damit auch das darin laufende Upgrade-Skript. Der Host kann unvollständig aktualisiert zurückbleiben.",
|
||||
"body": "Die Modi Automatisch und Interaktiv erkennen <code>termproxy</code> / <code>vncshell</code> in der Kette übergeordneter Prozesse und verweigern den Start, es sei denn, die Sitzung läuft über SSH oder <code>PVE_ALLOW_WEBTERM=1</code> ist gesetzt. Die Vorabprüfung und die manuelle Anleitung ändern nichts und laufen überall. Das Proxmox-Webterminal wird von <code>pveproxy</code> bereitgestellt, einem Dienst, der beim Upgrade aktualisiert wird. Sobald <code>pveproxy</code> neu startet, endet die Terminalsitzung und damit auch das darin laufende Upgrade-Skript. Der Host kann unvollständig aktualisiert zurückbleiben, ohne gute Möglichkeit zur Fortsetzung.",
|
||||
"warningTitle": "SSH oder eine physische / IPMI- / iKVM-Konsole verwenden",
|
||||
"warningBody": "SSH ist die übliche Wahl. Starten Sie die Sitzung in <code>tmux</code> oder <code>screen</code>, damit das Upgrade kurze Netzunterbrechungen übersteht. Erkennt das Skript eine einfache SSH-Shell, zeigt es zu Beginn einen Hinweis auf tmux/screen an."
|
||||
"warningBody": "SSH ist die übliche Wahl. Starten Sie die Sitzung in <code>tmux</code> oder <code>screen</code>, damit das Upgrade kurze Netzunterbrechungen übersteht. Der Bestätigungsdialog des Upgrades erinnert Sie daran, es von der Konsole oder per SSH in tmux/screen auszuführen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Automatischer / unbeaufsichtigter Modus",
|
||||
"intro": "Rückfragen zu Paketen und Konfigurationsdateien verwenden die Standardwerte aus der folgenden Tabelle, und ein 401 vom Enterprise-Repository wechselt ohne Rückfrage zu no-subscription. Die Upgrade-Bestätigung, die Zusammenfassung des PVE-8-Updates, Reparaturen der Vorabprüfung und die Neustart-Rückfrage werden weiterhin angezeigt.",
|
||||
"intro": "Rückfragen zu Paketen und Konfigurationsdateien verwenden die Standardwerte aus der folgenden Tabelle. Die Upgrade-Bestätigung, die Zusammenfassung des PVE-8-Updates, Reparaturen der Vorabprüfung und die Neustart-Rückfrage werden weiterhin angezeigt.",
|
||||
"behaviourHeading": "Besonderheiten des automatischen Modus",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Einstellung",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Ablauf im automatischen Modus",
|
||||
"flowIntro": "Sechs aufeinanderfolgende Phasen. Phase 2 aktualisiert die PVE-8-Pakete, Phase 3 schreibt die Repository-Konfiguration für PVE 9. Ein Fehler hält den Ablauf an, macht diese Änderungen aber nicht rückgängig; schlägt das PVE-8-Update fehl oder wird es abgebrochen, bleiben die Repositories unverändert. Phase 5 führt <code>dist-upgrade</code> auf PVE 9 aus.",
|
||||
"flowDiagram": "1. PRÜFUNGEN\ntermproxy / vncshell blockieren; Upgrade bestätigen; PVE 9 ablehnen.\n\n2. PVE 8 VORBEREITEN\nscripts/global/update-pve8.sh\nPVE-8-Pakete aktualisieren; Abbruch, wenn das Update fehlschlägt oder abgebrochen wird.\npve8to9 --full (kann Reparaturen anbieten).\nSpeicher und Verbindung prüfen; Ceph 19.x Squid auf hyperkonvergenten Knoten.\n\n3. REPOSITORIES UMSTELLEN\nBookworm → Trixie; deb822-Dateien .sources schreiben.\nAlte .list-Dateien auskommentieren; apt-get update.\n\n4. PVE-9-KANDIDAT PRÜFEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nAbbruch, wenn der Kandidat nicht 9.x ist oder proxmox-ve entfernt würde.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nOhne Subskription: pve-enterprise.sources deaktivieren.\nProtokoll: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. PRÜFEN UND NEU STARTEN\nEFI: apt install grub-efi-amd64\npve8to9 --full; Ergebnis und Neustart-Rückfrage prüfen.",
|
||||
"flowIntro": "Sechs aufeinanderfolgende Phasen. Phase 2 stellt die PVE-8-Repositories auf no-subscription um (Enterprise- und Ceph-Listen deaktiviert, <code>/etc/apt/sources.list</code> neu geschrieben), bevor sie die Update-Zusammenfassung anzeigt, und aktualisiert dann die Pakete; Phase 3 schreibt die Repository-Konfiguration für PVE 9. Ein Fehler hält den Ablauf an, macht diese Änderungen aber nicht rückgängig; schlägt das PVE-8-Update fehl oder wird es abgebrochen, startet die PVE-9-Migration nicht, die Änderungen an den PVE-8-Repositories bleiben aber bestehen. Phase 5 führt <code>dist-upgrade</code> auf PVE 9 aus.",
|
||||
"flowDiagram": "1. PRÜFUNGEN\ntermproxy / vncshell blockieren; Upgrade bestätigen; PVE 9 ablehnen.\n\n2. PVE 8 VORBEREITEN\nscripts/global/update-pve8.sh\nPVE-8-Repositories auf no-subscription umstellen und sources.list neu schreiben;\nPVE-8-Pakete aktualisieren; Abbruch, wenn das Update fehlschlägt oder abgebrochen wird.\npve8to9 --full (kann Reparaturen anbieten).\nSpeicher und Verbindung prüfen; Ceph 19.x Squid auf hyperkonvergenten Knoten.\n\n3. REPOSITORIES UMSTELLEN\nBookworm → Trixie; deb822-Dateien .sources schreiben.\nAlte .list-Dateien auskommentieren; apt-get update.\n\n4. PVE-9-KANDIDAT PRÜFEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nAbbruch, wenn der Kandidat nicht 9.x ist oder proxmox-ve entfernt würde.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nOhne Subskription: pve-enterprise.sources deaktivieren.\nProtokoll: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. PRÜFEN UND NEU STARTEN\nEFI: apt install grub-efi-amd64\npve8to9 --full; Ergebnis und Neustart-Rückfrage prüfen.",
|
||||
"preflightHeading": "Vor dem Upgrade: diese Punkte werden geprüft",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Prüfung",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Manuelles Upgrade-Verfahren",
|
||||
"intro": "Dies zeigt die Menüoption <strong>Manuelle Upgrade-Anleitung</strong>: die <wikilink>offizielle Proxmox-Anleitung für das Upgrade von 8 auf 9</wikilink>, in vier Phasen gegliedert. Das Skript <em>zeigt</em> die Befehle; Sie führen sie selbst in einer separaten Root-Shell aus. Volle Einsicht in jeden Schritt.",
|
||||
"intro": "Dies folgt der Anzeige der Menüoption <strong>Manuelle Upgrade-Anleitung</strong>, basierend auf der <wikilink>offiziellen Proxmox-Anleitung für das Upgrade von 8 auf 9</wikilink> und in vier Phasen gegliedert. Die dpkg-Antworttabelle ergänzt die Hinweise des Wikis zu sshd_config und chrony.conf, die das Menü als einfaches Y anzeigt. Das Skript <em>zeigt</em> die Befehle; Sie führen sie selbst in einer separaten Root-Shell aus. Keine Automatisierung, volle Einsicht in jeden Schritt.",
|
||||
"rootCalloutTitle": "Alle Befehle brauchen root",
|
||||
"rootCalloutBody": "Verwenden Sie eine Root-Shell, auch für Umleitungen und Here-Dokumente. Bei <code>sudo</code> muss der gesamte Befehl mit Root-Rechten ausgeführt werden.",
|
||||
"phase1Heading": "Phase 1 — Vorbereitung",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Cluster & Ceph",
|
||||
"clusterCalloutTitle": "Cluster: Upgrade-Knoten nacheinander",
|
||||
"clusterCalloutBody": "Erkannt über <code>pvecm status</code>. <strong>Nicht</strong> mehrere Knoten gleichzeitig aktualisieren. Gäste zuerst verschieben, den Knoten aktualisieren, neu starten und die Cluster-Mitgliedschaft prüfen. Erst dann fortfahren. Während des Upgrades funktioniert Live-Migration von älteren zu neueren PVE-Versionen; die Gegenrichtung wird grundsätzlich nicht unterstützt. HA-Gruppen werden automatisch in HA-Regeln umgewandelt, sobald alle Knoten PVE 9 verwenden.",
|
||||
"clusterCalloutBody": "<strong>Nicht</strong> mehrere Knoten gleichzeitig aktualisieren. Gäste zuerst verschieben, den Knoten aktualisieren, neu starten und die Cluster-Mitgliedschaft prüfen. Erst dann fortfahren. Während des Upgrades funktioniert Live-Migration von älteren zu neueren PVE-Versionen; die Gegenrichtung wird grundsätzlich nicht unterstützt. HA-Gruppen werden automatisch in HA-Regeln umgewandelt, sobald alle Knoten PVE 9 verwenden.",
|
||||
"cephCalloutTitle": "Ceph: ZUERST Ceph, danach Proxmox aktualisieren",
|
||||
"cephCalloutBody": "Ceph muss vor dem Proxmox-Upgrade bereits 19.x Squid verwenden. Folgen Sie der offiziellen Reihenfolge Quincy 17 → Reef 18 → Squid 19: Pakete aktualisieren und Ceph-Daemons schrittweise in der dokumentierten Reihenfolge neu starten. Vor dem Upgrade jedes Proxmox-Knotens <code>ceph --version</code> prüfen. Vollständiges Verfahren: <cephlink>Wiki zum Upgrade von Ceph Reef auf Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Beteiligte Dateien",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Offizielle Quellen",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "What ends up in the package",
|
||||
"intro": "For an OVA / OVF named <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "For an OVA / OVF named <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "What gets exported",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "SHA1 manifest",
|
||||
"intro": "Every package includes a <code>.mf</code> file with SHA1 hashes of the OVF descriptor and each VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "Optional in the OVF spec — many readers ignore it — but useful for verifying the package made it across intact. Verify manually with <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Keep the host healthy: CLI tooling, regular updates, and the major-version upgrade when it's time.",
|
||||
"bullets": [
|
||||
"System Utilities Installer (25 CLI tools)",
|
||||
"Proxmox System Update (apt + dist-upgrade)",
|
||||
"Proxmox System Update (apt + full-upgrade)",
|
||||
"PVE 8 → PVE 9 major upgrade"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "ISO creation",
|
||||
"body": "Build a fresh, up-to-date Windows installation ISO directly on the Proxmox host. The script automates the whole UUP Dump flow: dependency install (aria2c, cabextract, wimlib-imagex, …), parallelised download of the update files via aria2, and conversion into a single bootable ISO that lands in <code>/var/lib/vz/template/iso</code> ready to attach to a VM.",
|
||||
"body": "Build a fresh, up-to-date Windows installation ISO directly on the Proxmox host. The script automates the whole UUP Dump flow: dependency install (aria2c, cabextract, wimlib-imagex, …), parallelised download of the update files via aria2, and conversion into a single bootable ISO saved to the detected Proxmox ISO storage (fallback <code>/var/lib/vz/template/iso</code>), ready to attach to a VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "UUP Dump ISO Creator",
|
||||
"description": "Build an up-to-date Windows installation ISO from a UUP Dump shared link. Dependencies, download and conversion fully automated; the resulting ISO lands in /var/lib/vz/template/iso ready for VM creation.",
|
||||
"description": "Build an up-to-date Windows installation ISO from a UUP Dump shared link. Dependencies, download and conversion fully automated; the resulting ISO is saved to the detected Proxmox ISO storage, ready for VM creation.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Proxmox System Update",
|
||||
"description": "Repository check + apt update + apt dist-upgrade with reboot prompt. Detects the PVE major version (8 or 9), keeps the configured repositories and asks before switching a host without subscription to no-subscription, then runs autoremove.",
|
||||
"description": "Repository check + apt update + apt full-upgrade with reboot prompt. Detects the PVE major version (8 or 9), keeps the configured repositories and asks before switching a host without subscription to no-subscription, then runs autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "The Enterprise repository is enabled and the host has no active subscription. The worker offers the switch to no-subscription before <code>apt-get update</code>; when it was declined, run the update again and accept it, or disable the Enterprise source in <em>Node → Updates → Repositories</em> and enable the no-subscription one."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade hangs at \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade hangs at \"Configuring grub-pc\"",
|
||||
"body": "If an interactive GRUB prompt is visible, it asks which devices should receive the boot loader. The <code>--force-confold</code> option applies to configuration-file decisions, not to this device selection. Use <kbd>Tab</kbd> + <kbd>Space</kbd> to select the appropriate boot disks, then OK. You can configure this selection beforehand with <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Proxmox System Update",
|
||||
"tailRich": " — for the actual <code>apt dist-upgrade</code> on the host."
|
||||
"tailRich": " — for the actual <code>apt full-upgrade</code> on the host."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Verified backups</strong> of every VM and CT (PBS, vzdump, ZFS snapshots — and verify they restore).",
|
||||
"<strong>Console / IPMI / iKVM access</strong> to the host for when SSH drops mid-upgrade.",
|
||||
"The host already up-to-date on PVE 8.4.x (the script enforces this).",
|
||||
"The host on the latest PVE 8 patch level. The script updates PVE 8 first; it does not check for a specific 8.4.x version.",
|
||||
"Ceph (if present) on version 19.x Squid.",
|
||||
"At least <strong>5 GB free</strong> on the root filesystem."
|
||||
"At least <strong>5 GB free</strong> on the root filesystem, as the Proxmox guide recommends. The script itself only checks for 1 GB in /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Why the web terminal is blocked",
|
||||
"body": "All three upgrade modes detect <code>termproxy</code> / <code>vncshell</code> in the parent process chain and refuse to run. Reason: the Proxmox web terminal is served by <code>pveproxy</code>, which is one of the services that gets upgraded mid-flow. As soon as <code>pveproxy</code> restarts, your terminal session dies — and so does the upgrade script that was running inside it. The host is left half-upgraded, no good way to resume.",
|
||||
"body": "The Automatic and Interactive modes detect <code>termproxy</code> / <code>vncshell</code> in the parent process chain and refuse to run, unless the session comes over SSH or <code>PVE_ALLOW_WEBTERM=1</code> is set. The pre-check and the manual guide change nothing and run anywhere. Reason: the Proxmox web terminal is served by <code>pveproxy</code>, which is one of the services that gets upgraded mid-flow. As soon as <code>pveproxy</code> restarts, your terminal session dies — and so does the upgrade script that was running inside it. The host is left half-upgraded, no good way to resume.",
|
||||
"warningTitle": "Use SSH or physical / IPMI / iKVM console",
|
||||
"warningBody": "SSH is the most common choice. Open it inside <code>tmux</code> or <code>screen</code> so the upgrade survives a brief network blip. The very first thing the script does is print the tmux/screen reminder if it detects you're in a plain SSH shell."
|
||||
"warningBody": "SSH is the most common choice. Open it inside <code>tmux</code> or <code>screen</code> so the upgrade survives a brief network blip. The upgrade confirmation dialog reminds you to run it from the console or from SSH inside tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Automatic / Unattended mode",
|
||||
"intro": "Package and configuration-file prompts use the defaults in the table below, and a 401 from the enterprise repository switches to no-subscription without asking. The upgrade confirmation, the PVE 8 update summary, any pre-check repairs and the reboot prompt are still shown.",
|
||||
"intro": "Package and configuration-file prompts use the defaults in the table below. The upgrade confirmation, the PVE 8 update summary, any pre-check repairs and the reboot prompt are still shown.",
|
||||
"behaviourHeading": "Auto-mode-specific behaviour",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Setting",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Auto-mode flow",
|
||||
"flowIntro": "Six sequential phases. Phase 2 updates the PVE 8 packages and phase 3 writes the PVE 9 repository configuration. A failure stops the flow without rolling those changes back; if the PVE 8 update fails or is cancelled, the repositories are left unchanged. Phase 5 runs the PVE 9 <code>dist-upgrade</code>.",
|
||||
"flowDiagram": "1. CHECKS\nBlock termproxy / vncshell; confirm the upgrade; reject PVE 9.\n\n2. PREPARE PVE 8\nscripts/global/update-pve8.sh\nUpdate PVE 8 packages; stop if the update fails or is cancelled.\npve8to9 --full (may offer repairs).\nCheck space and connectivity; Ceph 19.x Squid on hyper-converged nodes.\n\n3. MIGRATE REPOSITORIES\nBookworm → Trixie; write deb822 .sources files.\nComment legacy .list files; apt-get update.\n\n4. VALIDATE THE PVE 9 CANDIDATE\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStop if the candidate is not 9.x or proxmox-ve would be removed.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nNo subscription: disable pve-enterprise.sources.\nLog: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFY AND REBOOT\nEFI: apt install grub-efi-amd64\npve8to9 --full; review results and the reboot prompt.",
|
||||
"flowIntro": "Six sequential phases. Phase 2 switches the PVE 8 repositories to no-subscription (enterprise and Ceph lists disabled, <code>/etc/apt/sources.list</code> rewritten) before it shows the update summary, then updates the packages; phase 3 writes the PVE 9 repository configuration. A failure stops the flow without rolling those changes back; if the PVE 8 update fails or is cancelled, the PVE 9 migration does not start, but the PVE 8 repository changes stay. Phase 5 runs the PVE 9 <code>dist-upgrade</code>.",
|
||||
"flowDiagram": "1. CHECKS\nBlock termproxy / vncshell; confirm the upgrade; reject PVE 9.\n\n2. PREPARE PVE 8\nscripts/global/update-pve8.sh\nSwitch PVE 8 repositories to no-subscription and rewrite sources.list;\nupdate PVE 8 packages; stop if the update fails or is cancelled.\npve8to9 --full (may offer repairs).\nCheck space and connectivity; Ceph 19.x Squid on hyper-converged nodes.\n\n3. MIGRATE REPOSITORIES\nBookworm → Trixie; write deb822 .sources files.\nComment legacy .list files; apt-get update.\n\n4. VALIDATE THE PVE 9 CANDIDATE\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStop if the candidate is not 9.x or proxmox-ve would be removed.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nNo subscription: disable pve-enterprise.sources.\nLog: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFY AND REBOOT\nEFI: apt install grub-efi-amd64\npve8to9 --full; review results and the reboot prompt.",
|
||||
"preflightHeading": "Pre-flight: what gets checked",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Check",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Manual upgrade procedure",
|
||||
"intro": "This is what the <strong>Manual upgrade guide</strong> menu option displays — a faithful mirror of <wikilink>the official Proxmox 8-to-9 upgrade wiki</wikilink> organised in 4 phases. The script <em>shows</em> these commands; you type them yourself in a separate root shell. No automation — full visibility.",
|
||||
"intro": "This follows what the <strong>Manual upgrade guide</strong> menu option displays, based on <wikilink>the official Proxmox 8-to-9 upgrade wiki</wikilink> and organised in 4 phases. The dpkg answer table adds the wiki's caveats for sshd_config and chrony.conf, which the menu shows as a plain Y. The script <em>shows</em> these commands; you type them yourself in a separate root shell. No automation — full visibility.",
|
||||
"rootCalloutTitle": "All commands need root",
|
||||
"rootCalloutBody": "Use a root shell for these commands, including redirections and here-documents. If you use <code>sudo</code>, ensure the entire command runs with root privileges.",
|
||||
"phase1Heading": "Phase 1 — Preparation",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Cluster & Ceph",
|
||||
"clusterCalloutTitle": "Cluster: upgrade nodes one at a time",
|
||||
"clusterCalloutBody": "Detected via <code>pvecm status</code>. <strong>Do not</strong> upgrade more than one node at a time. Move guests off the node, upgrade, reboot and verify cluster membership before proceeding. During the upgrade, live migration from an older PVE version to a newer one works; the reverse direction is generally unsupported. HA groups migrate automatically to HA rules once all nodes run PVE 9.",
|
||||
"clusterCalloutBody": "<strong>Do not</strong> upgrade more than one node at a time. Move guests off the node, upgrade, reboot and verify cluster membership before proceeding. During the upgrade, live migration from an older PVE version to a newer one works; the reverse direction is generally unsupported. HA groups migrate automatically to HA rules once all nodes run PVE 9.",
|
||||
"cephCalloutTitle": "Ceph: upgrade Ceph FIRST, then Proxmox",
|
||||
"cephCalloutBody": "Ceph must already run 19.x Squid before upgrading Proxmox. Follow the official sequence: Quincy 17 → Reef 18 → Squid 19, updating packages and restarting Ceph daemons in the documented rolling order. Verify <code>ceph --version</code> before upgrading each Proxmox node. Follow the full procedure: <cephlink>Ceph Reef to Squid upgrade wiki</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Files involved",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Official references",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "Qué acaba en el paquete",
|
||||
"intro": "Para un OVA / OVF llamado <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "Para un OVA / OVF llamado <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "Qué se exporta",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "Manifiesto SHA1",
|
||||
"intro": "Todo paquete incluye un archivo <code>.mf</code> con hashes SHA1 del descriptor OVF y de cada VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "Opcional en la especificación OVF — muchos lectores lo ignoran — pero útil para verificar que el paquete llegó intacto. Verifica manualmente con <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Mantén el host sano: herramientas CLI, actualizaciones periódicas y el salto de versión mayor cuando toca.",
|
||||
"bullets": [
|
||||
"Instalador de utilidades del sistema (25 herramientas CLI)",
|
||||
"Actualización del sistema Proxmox (apt + dist-upgrade)",
|
||||
"Actualización del sistema Proxmox (apt + full-upgrade)",
|
||||
"Salto de versión mayor PVE 8 → PVE 9"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "Creación de ISOs",
|
||||
"body": "Crea una ISO de instalación de Windows actualizada directamente en el host Proxmox. El script automatiza todo el flujo de UUP Dump: instalación de dependencias (aria2c, cabextract, wimlib-imagex, …), descarga paralelizada de los archivos de actualización vía aria2 y conversión en una única ISO arrancable que aterriza en <code>/var/lib/vz/template/iso</code> lista para asociar a una VM.",
|
||||
"body": "Crea una ISO de instalación de Windows actualizada directamente en el host Proxmox. El script automatiza todo el flujo de UUP Dump: instalación de dependencias (aria2c, cabextract, wimlib-imagex, …), descarga paralelizada de los archivos de actualización vía aria2 y conversión en una única ISO arrancable guardada en el almacenamiento ISO de Proxmox detectado (alternativa <code>/var/lib/vz/template/iso</code>), lista para asociar a una VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Creador de ISO UUP Dump",
|
||||
"description": "Crea una ISO de instalación de Windows actualizada desde un enlace compartido de UUP Dump. Dependencias, descarga y conversión totalmente automatizadas; la ISO resultante aterriza en /var/lib/vz/template/iso lista para crear una VM.",
|
||||
"description": "Crea una ISO de instalación de Windows actualizada desde un enlace compartido de UUP Dump. Dependencias, descarga y conversión totalmente automatizadas; la ISO resultante se guarda en el almacenamiento ISO de Proxmox detectado, lista para crear una VM.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Actualización del sistema Proxmox",
|
||||
"description": "Comprobación de repositorios + apt update + apt dist-upgrade, con confirmación antes de reiniciar. Detecta la versión mayor de PVE (8 o 9), conserva los repositorios configurados y solicita confirmación antes de cambiar al repositorio no-subscription un host sin suscripción; después ejecuta autoremove.",
|
||||
"description": "Comprobación de repositorios + apt update + apt full-upgrade, con confirmación antes de reiniciar. Detecta la versión mayor de PVE (8 o 9), conserva los repositorios configurados y solicita confirmación antes de cambiar al repositorio no-subscription un host sin suscripción; después ejecuta autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "El repositorio Enterprise está habilitado y el host no tiene suscripción activa. El worker ofrece el cambio a sin suscripción antes de <code>apt-get update</code>; si se rechazó, ejecuta de nuevo la actualización y acéptalo, o deshabilita la fuente Enterprise en <em>Nodo → Actualizaciones → Repositorios</em> y habilita la de sin suscripción."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade se queda colgado en \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade se queda colgado en \"Configuring grub-pc\"",
|
||||
"body": "Si aparece una pregunta interactiva de GRUB, solicita los dispositivos donde instalar el cargador de arranque. La opción <code>--force-confold</code> se aplica a decisiones sobre archivos de configuración, no a esta selección de dispositivos. Usa <kbd>Tab</kbd> + <kbd>Space</kbd> para seleccionar los discos de arranque adecuados y después OK. Puedes configurar esta selección de antemano con <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Actualización del sistema Proxmox",
|
||||
"tailRich": " — para el <code>apt dist-upgrade</code> real en el host."
|
||||
"tailRich": " — para el <code>apt full-upgrade</code> real en el host."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Backups verificados</strong> de cada VM y CT (PBS, vzdump, snapshots ZFS — y verifica que se restauran).",
|
||||
"<strong>Acceso por consola / IPMI / iKVM</strong> al host para cuando SSH se caiga a mitad del upgrade.",
|
||||
"El host ya actualizado en PVE 8.4.x (el script lo fuerza).",
|
||||
"El host en el último nivel de parche de PVE 8. El script actualiza primero PVE 8; no comprueba una versión 8.4.x concreta.",
|
||||
"Ceph (si está presente) en versión 19.x Squid.",
|
||||
"Al menos <strong>5 GB libres</strong> en el sistema de archivos raíz."
|
||||
"Al menos <strong>5 GB libres</strong> en el sistema de archivos raíz, como recomienda la guía de Proxmox. El propio script solo comprueba 1 GB en /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Por qué se bloquea el terminal web",
|
||||
"body": "Los tres modos de upgrade detectan <code>termproxy</code> / <code>vncshell</code> en la cadena de procesos padre y se niegan a ejecutarse. Razón: el terminal web de Proxmox lo sirve <code>pveproxy</code>, que es uno de los servicios que se actualiza a mitad del flujo. En cuanto <code>pveproxy</code> reinicia, tu sesión de terminal muere — y con ella el script de upgrade que se estaba ejecutando dentro. El host se queda medio actualizado, sin una buena forma de reanudar.",
|
||||
"body": "Los modos Automático e Interactivo detectan <code>termproxy</code> / <code>vncshell</code> en la cadena de procesos padre y se niegan a ejecutarse, salvo que la sesión llegue por SSH o esté definida <code>PVE_ALLOW_WEBTERM=1</code>. La comprobación previa y la guía manual no cambian nada y se ejecutan en cualquier lugar. Razón: el terminal web de Proxmox lo sirve <code>pveproxy</code>, que es uno de los servicios que se actualiza a mitad del flujo. En cuanto <code>pveproxy</code> reinicia, tu sesión de terminal muere — y con ella el script de upgrade que se estaba ejecutando dentro. El host se queda medio actualizado, sin una buena forma de reanudar.",
|
||||
"warningTitle": "Usa SSH o consola física / IPMI / iKVM",
|
||||
"warningBody": "SSH es la elección más común. Ábrelo dentro de <code>tmux</code> o <code>screen</code> para que el upgrade sobreviva a un parpadeo breve de red. Lo primerísimo que hace el script es imprimir el recordatorio de tmux/screen si detecta que estás en un shell SSH pelado."
|
||||
"warningBody": "SSH es la elección más común. Ábrelo dentro de <code>tmux</code> o <code>screen</code> para que el upgrade sobreviva a un parpadeo breve de red. El diálogo de confirmación de la actualización te recuerda ejecutarla desde la consola o desde SSH dentro de tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Modo Automático / Desatendido",
|
||||
"intro": "Las preguntas de paquetes y archivos de configuración usan los valores predeterminados de la tabla siguiente, y un 401 del repositorio Enterprise cambia a no-subscription sin preguntar. La confirmación de la actualización, el resumen de la actualización de PVE 8, las reparaciones de la comprobación previa y la pregunta de reinicio se siguen mostrando.",
|
||||
"intro": "Las preguntas de paquetes y archivos de configuración usan los valores predeterminados de la tabla siguiente. La confirmación de la actualización, el resumen de la actualización de PVE 8, las reparaciones de la comprobación previa y la pregunta de reinicio se siguen mostrando.",
|
||||
"behaviourHeading": "Comportamiento específico del modo automático",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Ajuste",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Flujo del modo automático",
|
||||
"flowIntro": "Seis fases consecutivas. La fase 2 actualiza los paquetes de PVE 8 y la fase 3 escribe la configuración de repositorios de PVE 9. Un fallo detiene el proceso sin revertir esos cambios; si la actualización de PVE 8 falla o se cancela, los repositorios no se modifican. La fase 5 ejecuta <code>dist-upgrade</code> para PVE 9.",
|
||||
"flowDiagram": "1. COMPROBACIONES\nBloquea termproxy / vncshell; confirma la actualización; rechaza PVE 9.\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nActualiza los paquetes de PVE 8; se detiene si la actualización falla o se cancela.\npve8to9 --full (puede ofrecer reparaciones).\nComprueba espacio y conectividad; Ceph 19.x Squid en nodos hiperconvergentes.\n\n3. MIGRAR REPOSITORIOS\nBookworm → Trixie; escribe archivos deb822 .sources.\nComenta los archivos .list antiguos; apt-get update.\n\n4. VALIDAR EL CANDIDATO DE PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSe detiene si el candidato no es 9.x o se eliminaría proxmox-ve.\n\n5. ACTUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSin suscripción: desactiva pve-enterprise.sources.\nRegistro: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFICAR Y REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; revisa el resultado y la pregunta de reinicio.",
|
||||
"flowIntro": "Seis fases consecutivas. La fase 2 cambia los repositorios de PVE 8 a no-subscription (listas enterprise y Ceph desactivadas, <code>/etc/apt/sources.list</code> reescrito) antes de mostrar el resumen de la actualización y después actualiza los paquetes; la fase 3 escribe la configuración de repositorios de PVE 9. Un fallo detiene el proceso sin revertir esos cambios; si la actualización de PVE 8 falla o se cancela, la migración a PVE 9 no empieza, pero los cambios en los repositorios de PVE 8 permanecen. La fase 5 ejecuta <code>dist-upgrade</code> para PVE 9.",
|
||||
"flowDiagram": "1. COMPROBACIONES\nBloquea termproxy / vncshell; confirma la actualización; rechaza PVE 9.\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nCambia los repositorios de PVE 8 a no-subscription y reescribe sources.list;\nactualiza los paquetes de PVE 8; se detiene si la actualización falla o se cancela.\npve8to9 --full (puede ofrecer reparaciones).\nComprueba espacio y conectividad; Ceph 19.x Squid en nodos hiperconvergentes.\n\n3. MIGRAR REPOSITORIOS\nBookworm → Trixie; escribe archivos deb822 .sources.\nComenta los archivos .list antiguos; apt-get update.\n\n4. VALIDAR EL CANDIDATO DE PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSe detiene si el candidato no es 9.x o se eliminaría proxmox-ve.\n\n5. ACTUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSin suscripción: desactiva pve-enterprise.sources.\nRegistro: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFICAR Y REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; revisa el resultado y la pregunta de reinicio.",
|
||||
"preflightHeading": "Comprobaciones previas: qué se chequea",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Chequeo",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Procedimiento manual de upgrade",
|
||||
"intro": "Esto es lo que muestra la opción de menú <strong>Guía manual de upgrade</strong> — un espejo fiel del <wikilink>wiki oficial de upgrade Proxmox 8 a 9</wikilink> organizado en 4 fases. El script <em>muestra</em> estos comandos; tú los tecleas en un shell root aparte. Sin automatización — visibilidad total.",
|
||||
"intro": "Esto sigue lo que muestra la opción de menú <strong>Guía manual de upgrade</strong>, basada en <wikilink>el wiki oficial de upgrade Proxmox 8 a 9</wikilink> y organizada en 4 fases. La tabla de respuestas de dpkg añade las salvedades del wiki para sshd_config y chrony.conf, que el menú muestra como una simple Y. El script <em>muestra</em> estos comandos; tú los tecleas en un shell root aparte. Sin automatización — visibilidad total.",
|
||||
"rootCalloutTitle": "Todos los comandos necesitan root",
|
||||
"rootCalloutBody": "Usa una sesión de shell como root para estos comandos, incluidas las redirecciones y los documentos here-document. Si utilizas <code>sudo</code>, asegúrate de ejecutar el comando completo con privilegios de root.",
|
||||
"phase1Heading": "Fase 1 — Preparación",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Clúster y Ceph",
|
||||
"clusterCalloutTitle": "Clúster: actualiza los nodos uno a uno",
|
||||
"clusterCalloutBody": "Se detecta mediante <code>pvecm status</code>. <strong>No</strong> actualices más de un nodo a la vez. Mueve sus máquinas, actualízalo, reinícialo y verifica su pertenencia al clúster antes de continuar. Durante la actualización funciona la migración en vivo desde versiones anteriores de PVE a posteriores; la dirección inversa generalmente no es compatible. Los grupos de HA se convierten automáticamente en reglas de HA cuando todos los nodos ejecutan PVE 9.",
|
||||
"clusterCalloutBody": "<strong>No</strong> actualices más de un nodo a la vez. Mueve sus máquinas, actualízalo, reinícialo y verifica su pertenencia al clúster antes de continuar. Durante la actualización funciona la migración en vivo desde versiones anteriores de PVE a posteriores; la dirección inversa generalmente no es compatible. Los grupos de HA se convierten automáticamente en reglas de HA cuando todos los nodos ejecutan PVE 9.",
|
||||
"cephCalloutTitle": "Ceph: actualiza Ceph PRIMERO, después Proxmox",
|
||||
"cephCalloutBody": "Ceph debe ejecutar ya 19.x Squid antes de actualizar Proxmox. Sigue la secuencia oficial: Quincy 17 → Reef 18 → Squid 19, actualizando paquetes y reiniciando los demonios de Ceph de forma escalonada en el orden documentado. Comprueba <code>ceph --version</code> antes de actualizar cada nodo Proxmox. Sigue el procedimiento completo: <cephlink>guía de actualización de Ceph Reef a Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Archivos implicados",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Referencias oficiales",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "Ce qui finit dans le paquet",
|
||||
"intro": "Pour une OVA / OVF nommée <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "Pour une OVA / OVF nommée <code>myvm-100-20260426_183015</code> :",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "Ce qui est exporté",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "Manifeste SHA1",
|
||||
"intro": "Chaque paquet contient un fichier <code>.mf</code> avec les empreintes SHA1 du descripteur OVF et de chaque VMDK :",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "Facultatif dans la spécification OVF et ignoré par de nombreux outils, le manifeste permet toutefois de vérifier que le paquet a été transféré intact. Vérifiez-le manuellement avec <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Maintenez l’hôte en bon état : outils CLI, mises à jour régulières et passage à la version majeure suivante le moment venu.",
|
||||
"bullets": [
|
||||
"Installateur d’utilitaires système (25 outils CLI)",
|
||||
"Mise à jour du système Proxmox (apt + dist-upgrade)",
|
||||
"Mise à jour du système Proxmox (apt + full-upgrade)",
|
||||
"PVE 8 → PVE 9 mise à jour majeure"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "Création ISO",
|
||||
"body": "Créez une nouvelle ISO d’installation de Windows à jour directement sur l’hôte Proxmox. Le script automatise tout le processus UUP Dump : installation des dépendances (aria2c, cabextract, wimlib-imagex, …), téléchargement parallèle des fichiers de mise à jour avec aria2 et conversion en une ISO amorçable. Elle est enregistrée dans <code>/var/lib/vz/template/iso</code>, prête à être associée à une VM.",
|
||||
"body": "Créez une nouvelle ISO d’installation de Windows à jour directement sur l’hôte Proxmox. Le script automatise tout le processus UUP Dump : installation des dépendances (aria2c, cabextract, wimlib-imagex, …), téléchargement parallèle des fichiers de mise à jour avec aria2 et conversion en une ISO amorçable. Elle est enregistrée dans le stockage ISO Proxmox détecté (repli : <code>/var/lib/vz/template/iso</code>), prête à être associée à une VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Créateur d’ISO UUP Dump",
|
||||
"description": "Créez une ISO d’installation de Windows à jour depuis un lien partagé UUP Dump. Les dépendances, le téléchargement et la conversion sont entièrement automatisés ; l’ISO obtenue est enregistrée dans /var/lib/vz/template/iso, prête pour la création d’une VM.",
|
||||
"description": "Créez une ISO d’installation de Windows à jour depuis un lien partagé UUP Dump. Les dépendances, le téléchargement et la conversion sont entièrement automatisés ; l’ISO obtenue est enregistrée dans le stockage ISO Proxmox détecté, prête pour la création d’une VM.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Mise à jour du système Proxmox",
|
||||
"description": "Vérification des dépôts + apt update + apt dist-upgrade, avec confirmation avant le redémarrage. Détecte la version majeure de PVE (8 ou 9), conserve les dépôts configurés et demande confirmation avant de faire passer un hôte sans abonnement au dépôt no-subscription, puis exécute autoremove.",
|
||||
"description": "Vérification des dépôts + apt update + apt full-upgrade, avec confirmation avant le redémarrage. Détecte la version majeure de PVE (8 ou 9), conserve les dépôts configurés et demande confirmation avant de faire passer un hôte sans abonnement au dépôt no-subscription, puis exécute autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "Le dépôt Enterprise est activé sans abonnement actif. Avant <code>apt-get update</code>, le script propose le passage à no-subscription. Si vous avez refusé, relancez la mise à jour et acceptez, ou désactivez Enterprise dans <em>Node → Updates → Repositories</em> et activez no-subscription."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade reste bloqué sur \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade reste bloqué sur \"Configuring grub-pc\"",
|
||||
"body": "Si une question interactive GRUB est visible, elle demande les appareils où installer le chargeur de démarrage. L’option <code>--force-confold</code> concerne les fichiers de configuration, pas ce choix d’appareils. Sélectionnez les disques de démarrage appropriés avec <kbd>Tab</kbd> + <kbd>Space</kbd>, puis OK. Vous pouvez configurer ce choix à l’avance avec <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Mise à jour du système Proxmox",
|
||||
"tailRich": "— pour le <code>apt dist-upgrade</code> réel sur l'hôte."
|
||||
"tailRich": " — pour le <code>apt full-upgrade</code> réel sur l’hôte."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Sauvegardes vérifiées</strong> de chaque VM et CT (PBS, vzdump, instantanés ZFS — vérifiez aussi leur restauration).",
|
||||
"<strong>Accès console / IPMI / iKVM</strong> à l’hôte en cas de coupure SSH pendant la mise à niveau.",
|
||||
"L'hôte déjà mis à jour sur PVE 8.4.x (le script l'applique).",
|
||||
"L’hôte au dernier niveau de correctifs PVE 8. Le script met d’abord à jour PVE 8 ; il ne vérifie pas une version 8.4.x précise.",
|
||||
"Ceph (le cas échéant) sur la version 19.x Squid.",
|
||||
"Au moins <strong>5 Go libres</strong> sur le système de fichiers racine."
|
||||
"Au moins <strong>5 Go libres</strong> sur le système de fichiers racine, comme le recommande le guide Proxmox. Le script lui-même ne vérifie que 1 Go dans /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Pourquoi le terminal web est bloqué",
|
||||
"body": "Les trois modes détectent <code>termproxy</code> / <code>vncshell</code> dans la chaîne des processus parents et refusent de démarrer. Le terminal web dépend de <code>pveproxy</code>, un service mis à jour pendant l’opération. Au redémarrage de <code>pveproxy</code>, la session se ferme, ainsi que le script lancé dedans. L’hôte peut rester partiellement mis à niveau.",
|
||||
"body": "Les modes Automatique et Interactif détectent <code>termproxy</code> / <code>vncshell</code> dans la chaîne des processus parents et refusent de démarrer, sauf si la session passe par SSH ou si <code>PVE_ALLOW_WEBTERM=1</code> est défini. Le contrôle préalable et le guide manuel ne changent rien et s’exécutent partout. Le terminal web dépend de <code>pveproxy</code>, un service mis à jour pendant l’opération. Au redémarrage de <code>pveproxy</code>, la session se ferme, ainsi que le script lancé dedans. L’hôte peut rester partiellement mis à niveau.",
|
||||
"warningTitle": "Utilisez SSH ou une console physique / IPMI / iKVM",
|
||||
"warningBody": "SSH est le choix habituel. Lancez-le dans <code>tmux</code> ou <code>screen</code> pour résister aux brèves coupures réseau. Si le script détecte un simple shell SSH, il affiche d’abord un rappel concernant tmux/screen."
|
||||
"warningBody": "SSH est le choix habituel. Lancez-le dans <code>tmux</code> ou <code>screen</code> pour résister aux brèves coupures réseau. La boîte de dialogue de confirmation de la mise à niveau rappelle de l’exécuter depuis la console ou depuis SSH dans tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Mode automatique / sans surveillance",
|
||||
"intro": "Les questions sur les paquets et les fichiers de configuration utilisent les valeurs par défaut du tableau ci-dessous, et un 401 du dépôt Enterprise bascule vers no-subscription sans demander. La confirmation de la mise à niveau, le résumé de la mise à jour PVE 8, les réparations du contrôle préalable et la demande de redémarrage restent affichés.",
|
||||
"intro": "Les questions sur les paquets et les fichiers de configuration utilisent les valeurs par défaut du tableau ci-dessous. La confirmation de la mise à niveau, le résumé de la mise à jour PVE 8, les réparations du contrôle préalable et la demande de redémarrage restent affichés.",
|
||||
"behaviourHeading": "Comportement propre au mode automatique",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Réglage",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Déroulement du mode automatique",
|
||||
"flowIntro": "Six phases successives. La phase 2 met à jour les paquets PVE 8 et la phase 3 écrit la configuration des dépôts PVE 9. Un échec arrête le déroulement sans annuler ces modifications ; si la mise à jour PVE 8 échoue ou est annulée, les dépôts restent inchangés. La phase 5 lance <code>dist-upgrade</code> vers PVE 9.",
|
||||
"flowDiagram": "1. CONTRÔLES\nBloque termproxy / vncshell ; confirme la mise à niveau ; refuse PVE 9.\n\n2. PRÉPARER PVE 8\nscripts/global/update-pve8.sh\nMet à jour les paquets PVE 8 ; arrêt si la mise à jour échoue ou est annulée.\npve8to9 --full (peut proposer des réparations).\nVérifie espace et connectivité ; Ceph 19.x Squid sur les nœuds hyperconvergés.\n\n3. MIGRER LES DÉPÔTS\nBookworm → Trixie ; écrit les fichiers deb822 .sources.\nCommente les anciens fichiers .list ; apt-get update.\n\n4. VALIDER LE CANDIDAT PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nArrêt si le candidat n’est pas 9.x ou si proxmox-ve serait supprimé.\n\n5. METTRE À NIVEAU\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSans abonnement : désactive pve-enterprise.sources.\nJournal : /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VÉRIFIER ET REDÉMARRER\nEFI : apt install grub-efi-amd64\npve8to9 --full ; examiner le résultat et la demande de redémarrage.",
|
||||
"flowIntro": "Six phases successives. La phase 2 bascule les dépôts PVE 8 vers no-subscription (listes Enterprise et Ceph désactivées, <code>/etc/apt/sources.list</code> réécrit) avant d’afficher le résumé de la mise à jour, puis met à jour les paquets ; la phase 3 écrit la configuration des dépôts PVE 9. Un échec arrête le déroulement sans annuler ces modifications ; si la mise à jour PVE 8 échoue ou est annulée, la migration vers PVE 9 ne démarre pas, mais les modifications des dépôts PVE 8 restent. La phase 5 lance <code>dist-upgrade</code> vers PVE 9.",
|
||||
"flowDiagram": "1. CONTRÔLES\nBloque termproxy / vncshell ; confirme la mise à niveau ; refuse PVE 9.\n\n2. PRÉPARER PVE 8\nscripts/global/update-pve8.sh\nBascule les dépôts PVE 8 vers no-subscription et réécrit sources.list ;\nmet à jour les paquets PVE 8 ; arrêt si la mise à jour échoue ou est annulée.\npve8to9 --full (peut proposer des réparations).\nVérifie espace et connectivité ; Ceph 19.x Squid sur les nœuds hyperconvergés.\n\n3. MIGRER LES DÉPÔTS\nBookworm → Trixie ; écrit les fichiers deb822 .sources.\nCommente les anciens fichiers .list ; apt-get update.\n\n4. VALIDER LE CANDIDAT PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nArrêt si le candidat n’est pas 9.x ou si proxmox-ve serait supprimé.\n\n5. METTRE À NIVEAU\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSans abonnement : désactive pve-enterprise.sources.\nJournal : /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VÉRIFIER ET REDÉMARRER\nEFI : apt install grub-efi-amd64\npve8to9 --full ; examiner le résultat et la demande de redémarrage.",
|
||||
"preflightHeading": "Contrôles avant la mise à niveau",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Vérifier",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Procédure de mise à niveau manuelle",
|
||||
"intro": "Voici ce qu’affiche l’option <strong>Guide de mise à niveau manuelle</strong> : le <wikilink>wiki officiel Proxmox de passage de 8 à 9</wikilink>, organisé en quatre phases. Le script <em>affiche</em> les commandes ; vous les exécutez dans un autre shell root. Chaque étape reste visible.",
|
||||
"intro": "Voici ce qu’affiche l’option <strong>Guide de mise à niveau manuelle</strong> : le <wikilink>wiki officiel Proxmox de passage de 8 à 9</wikilink>, organisé en quatre phases. Le tableau des réponses dpkg ajoute les réserves du wiki pour sshd_config et chrony.conf, que le menu affiche comme un simple Y. Le script <em>affiche</em> les commandes ; vous les exécutez dans un autre shell root. Aucune automatisation, chaque étape reste visible.",
|
||||
"rootCalloutTitle": "Toutes les commandes ont besoin de root",
|
||||
"rootCalloutBody": "Utilisez un shell root pour ces commandes, y compris les redirections et les documents here-document. Avec <code>sudo</code>, assurez-vous que la commande entière bénéficie des privilèges root.",
|
||||
"phase1Heading": "Phase 1 — Préparation",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Cluster & Ceph",
|
||||
"clusterCalloutTitle": "Cluster: mise à niveau des nœuds un à la fois",
|
||||
"clusterCalloutBody": "Détecté par <code>pvecm status</code>. <strong>Ne mettez pas</strong> plusieurs nœuds à niveau simultanément. Déplacez les invités, mettez le nœud à niveau, redémarrez et vérifiez son appartenance au cluster avant de continuer. Pendant l’opération, la migration à chaud d’une ancienne version de PVE vers une plus récente fonctionne ; le sens inverse n’est généralement pas pris en charge. Les groupes HA deviennent automatiquement des règles HA lorsque tous les nœuds utilisent PVE 9.",
|
||||
"clusterCalloutBody": "<strong>Ne mettez pas</strong> plusieurs nœuds à niveau simultanément. Déplacez les invités, mettez le nœud à niveau, redémarrez et vérifiez son appartenance au cluster avant de continuer. Pendant l’opération, la migration à chaud d’une ancienne version de PVE vers une plus récente fonctionne ; le sens inverse n’est généralement pas pris en charge. Les groupes HA deviennent automatiquement des règles HA lorsque tous les nœuds utilisent PVE 9.",
|
||||
"cephCalloutTitle": "Ceph : mettre Ceph à niveau D’ABORD, puis Proxmox",
|
||||
"cephCalloutBody": "Ceph doit déjà utiliser 19.x Squid avant la mise à niveau Proxmox. Suivez l’ordre officiel Quincy 17 → Reef 18 → Squid 19, avec mise à jour des paquets et redémarrages échelonnés des démons Ceph dans l’ordre documenté. Vérifiez <code>ceph --version</code> avant chaque nœud Proxmox. Procédure complète : <cephlink>wiki de passage de Ceph Reef à Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Fichiers concernés",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Références officielles",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "Cosa finisce nel pacchetto",
|
||||
"intro": "Per un OVA / OVF chiamato <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "Per un OVA / OVF chiamato <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "Cosa viene esportato",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "Manifesto SHA1",
|
||||
"intro": "Ogni pacchetto include un file <code>.mf</code> con gli hash SHA1 del descrittore OVF e di ogni VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "È facoltativo nella specifica OVF e molti programmi lo ignorano, ma serve a verificare che il pacchetto sia stato trasferito integro. Verificalo manualmente con <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Mantieni l’host in buone condizioni con strumenti CLI, aggiornamenti regolari e il passaggio di versione principale quando necessario.",
|
||||
"bullets": [
|
||||
"Installatore di utilità di sistema (25 strumenti CLI)",
|
||||
"Aggiornamento del sistema Proxmox (apt + dist-upgrade)",
|
||||
"Aggiornamento del sistema Proxmox (apt + full-upgrade)",
|
||||
"Passaggio di versione principale PVE 8 → PVE 9"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "Creazione ISO",
|
||||
"body": "Crea una nuova ISO di installazione di Windows aggiornata direttamente sull’host Proxmox. Lo script automatizza l’intero processo UUP Dump: installazione delle dipendenze (aria2c, cabextract, wimlib-imagex, …), download parallelo dei file di aggiornamento tramite aria2 e conversione in una singola ISO avviabile. La ISO viene salvata in <code>/var/lib/vz/template/iso</code>, pronta da collegare a una VM.",
|
||||
"body": "Crea una nuova ISO di installazione di Windows aggiornata direttamente sull’host Proxmox. Lo script automatizza l’intero processo UUP Dump: installazione delle dipendenze (aria2c, cabextract, wimlib-imagex, …), download parallelo dei file di aggiornamento tramite aria2 e conversione in una singola ISO avviabile. La ISO viene salvata nello storage ISO di Proxmox rilevato (alternativa <code>/var/lib/vz/template/iso</code>), pronta da collegare a una VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Creatore di ISO UUP Dump",
|
||||
"description": "Crea una ISO di installazione di Windows aggiornata da un link condiviso di UUP Dump. Dipendenze, download e conversione sono completamente automatizzati; la ISO risultante viene salvata in /var/lib/vz/template/iso, pronta per creare una VM.",
|
||||
"description": "Crea una ISO di installazione di Windows aggiornata da un link condiviso di UUP Dump. Dipendenze, download e conversione sono completamente automatizzati; la ISO risultante viene salvata nello storage ISO di Proxmox rilevato, pronta per creare una VM.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Aggiornamento sistema Proxmox",
|
||||
"description": "Controllo dei repository + apt update + apt dist-upgrade, con conferma prima del riavvio. Rileva la versione principale di PVE (8 o 9), mantiene i repository configurati e chiede conferma prima di passare un host senza abbonamento al repository no-subscription, quindi esegue autoremove.",
|
||||
"description": "Controllo dei repository + apt update + apt full-upgrade, con conferma prima del riavvio. Rileva la versione principale di PVE (8 o 9), mantiene i repository configurati e chiede conferma prima di passare un host senza abbonamento al repository no-subscription, quindi esegue autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "Il repository Enterprise è abilitato, ma l’host non ha un abbonamento attivo. Prima di <code>apt-get update</code>, lo script propone il passaggio a no-subscription. Se hai rifiutato, ripeti l’aggiornamento e accetta, oppure disabilita Enterprise in <em>Node → Updates → Repositories</em> e abilita no-subscription."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade si blocca su \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade si blocca su \"Configuring grub-pc\"",
|
||||
"body": "Se compare una richiesta interattiva di GRUB, chiede i dispositivi su cui installare il boot loader. L’opzione <code>--force-confold</code> riguarda i file di configurazione, non questa selezione. Usa <kbd>Tab</kbd> + <kbd>Space</kbd> per scegliere i dischi di avvio appropriati, poi OK. Puoi configurare la scelta in anticipo con <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Aggiornamento sistema Proxmox",
|
||||
"tailRich": "— per il <code>apt dist-upgrade</code> effettivo sull'host."
|
||||
"tailRich": "— per il <code>apt full-upgrade</code> effettivo sull'host."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Backup verificati</strong> di ogni VM e CT (PBS, vzdump, snapshot ZFS — verificare anche il ripristino).",
|
||||
"<strong>Accesso console / IPMI / iKVM</strong> all’host in caso di interruzione SSH durante l’aggiornamento.",
|
||||
"L'host è già aggiornato su PVE 8.4.x (lo script applica questo).",
|
||||
"L'host sull'ultimo livello di patch di PVE 8. Lo script aggiorna prima PVE 8; non verifica una versione specifica 8.4.x.",
|
||||
"Ceph (se presente) sulla versione 19.x Squid.",
|
||||
"Almeno <strong>5 GB liberi</strong> nel filesystem root."
|
||||
"Almeno <strong>5 GB liberi</strong> nel filesystem root, come raccomanda la guida Proxmox. Lo script stesso controlla solo 1 GB in /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Perché il terminale web è bloccato",
|
||||
"body": "Le tre modalità rilevano <code>termproxy</code> / <code>vncshell</code> nella catena dei processi padre e rifiutano l’avvio. Il terminale web dipende da <code>pveproxy</code>, servizio aggiornato durante l’operazione. Al riavvio di <code>pveproxy</code> termina la sessione e lo script al suo interno. L’host può rimanere aggiornato solo in parte.",
|
||||
"body": "Le modalità Automatic e Interactive rilevano <code>termproxy</code> / <code>vncshell</code> nella catena dei processi padre e rifiutano l’avvio, a meno che la sessione arrivi via SSH o sia impostato <code>PVE_ALLOW_WEBTERM=1</code>. Il controllo preliminare e la guida manuale non cambiano nulla e funzionano ovunque. Il terminale web dipende da <code>pveproxy</code>, servizio aggiornato durante l’operazione. Al riavvio di <code>pveproxy</code> termina la sessione e lo script al suo interno. L’host può rimanere aggiornato solo in parte.",
|
||||
"warningTitle": "Usa SSH o una console fisica / IPMI / iKVM",
|
||||
"warningBody": "SSH è la scelta più comune. Avvialo dentro <code>tmux</code> o <code>screen</code> per resistere a brevi interruzioni di rete. Se rileva una normale shell SSH, lo script mostra subito un promemoria su tmux/screen."
|
||||
"warningBody": "SSH è la scelta più comune. Avvialo dentro <code>tmux</code> o <code>screen</code> per resistere a brevi interruzioni di rete. La finestra di conferma dell’aggiornamento ti ricorda di eseguirlo dalla console o da SSH dentro tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Modalità automatica / Senza intervento",
|
||||
"intro": "Le domande su pacchetti e file di configurazione usano i valori predefiniti della tabella seguente, e un 401 dal repository Enterprise passa a no-subscription senza chiedere. La conferma dell’aggiornamento, il riepilogo dell’aggiornamento di PVE 8, le riparazioni dei controlli e la richiesta di riavvio vengono comunque mostrati.",
|
||||
"intro": "Le domande su pacchetti e file di configurazione usano i valori predefiniti della tabella seguente. La conferma dell’aggiornamento, il riepilogo dell’aggiornamento di PVE 8, le riparazioni dei controlli e la richiesta di riavvio vengono comunque mostrati.",
|
||||
"behaviourHeading": "Comportamento specifico della modalità automatica",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Impostazione",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Percorso della modalità automatica",
|
||||
"flowIntro": "Sei fasi consecutive. La fase 2 aggiorna i pacchetti PVE 8 e la fase 3 scrive la configurazione dei repository di PVE 9. Un errore interrompe il percorso senza annullare quelle modifiche; se l’aggiornamento di PVE 8 non riesce o viene annullato, i repository restano invariati. La fase 5 esegue <code>dist-upgrade</code> a PVE 9.",
|
||||
"flowDiagram": "1. CONTROLLI\nBlocca termproxy / vncshell; conferma l’aggiornamento; rifiuta PVE 9.\n\n2. PREPARARE PVE 8\nscripts/global/update-pve8.sh\nAggiorna i pacchetti PVE 8; si ferma se l’aggiornamento non riesce o viene annullato.\npve8to9 --full (può proporre riparazioni).\nControlla spazio e connettività; Ceph 19.x Squid sui nodi iperconvergenti.\n\n3. MIGRARE I REPOSITORY\nBookworm → Trixie; scrive file deb822 .sources.\nCommenta i vecchi file .list; apt-get update.\n\n4. VERIFICARE IL CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSi ferma se il candidato non è 9.x o se proxmox-ve verrebbe rimosso.\n\n5. AGGIORNARE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSenza abbonamento: disattiva pve-enterprise.sources.\nRegistro: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFICARE E RIAVVIARE\nEFI: apt install grub-efi-amd64\npve8to9 --full; esaminare risultati e richiesta di riavvio.",
|
||||
"flowIntro": "Sei fasi consecutive. La fase 2 passa i repository di PVE 8 a no-subscription (elenchi Enterprise e Ceph disabilitati, <code>/etc/apt/sources.list</code> riscritto) prima di mostrare il riepilogo dell’aggiornamento, poi aggiorna i pacchetti; la fase 3 scrive la configurazione dei repository di PVE 9. Un errore interrompe il percorso senza annullare quelle modifiche; se l’aggiornamento di PVE 8 non riesce o viene annullato, la migrazione a PVE 9 non parte, ma le modifiche ai repository di PVE 8 restano. La fase 5 esegue <code>dist-upgrade</code> a PVE 9.",
|
||||
"flowDiagram": "1. CONTROLLI\nBlocca termproxy / vncshell; conferma l’aggiornamento; rifiuta PVE 9.\n\n2. PREPARARE PVE 8\nscripts/global/update-pve8.sh\nPassa i repository di PVE 8 a no-subscription e riscrive sources.list;\naggiorna i pacchetti PVE 8; si ferma se l’aggiornamento non riesce o viene annullato.\npve8to9 --full (può proporre riparazioni).\nControlla spazio e connettività; Ceph 19.x Squid sui nodi iperconvergenti.\n\n3. MIGRARE I REPOSITORY\nBookworm → Trixie; scrive file deb822 .sources.\nCommenta i vecchi file .list; apt-get update.\n\n4. VERIFICARE IL CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSi ferma se il candidato non è 9.x o se proxmox-ve verrebbe rimosso.\n\n5. AGGIORNARE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSenza abbonamento: disattiva pve-enterprise.sources.\nRegistro: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFICARE E RIAVVIARE\nEFI: apt install grub-efi-amd64\npve8to9 --full; esaminare risultati e richiesta di riavvio.",
|
||||
"preflightHeading": "Controlli prima dell’aggiornamento",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Controllo",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Procedura di aggiornamento manuale",
|
||||
"intro": "Questo è ciò che mostra l’opzione <strong>Guida all’aggiornamento manuale</strong>: il <wikilink>wiki ufficiale Proxmox per il passaggio da 8 a 9</wikilink>, diviso in quattro fasi. Lo script <em>mostra</em> i comandi; li esegui personalmente in una shell root separata. Ogni passaggio è visibile.",
|
||||
"intro": "Questo segue ciò che mostra l’opzione di menu <strong>Guida all’aggiornamento manuale</strong>, basata sul <wikilink>wiki ufficiale Proxmox per il passaggio da 8 a 9</wikilink> e organizzata in quattro fasi. La tabella delle risposte dpkg aggiunge le avvertenze del wiki per sshd_config e chrony.conf, che il menu mostra come un semplice Y. Lo script <em>mostra</em> i comandi; li esegui personalmente in una shell root separata. Nessuna automazione: piena visibilità.",
|
||||
"rootCalloutTitle": "Tutti i comandi hanno bisogno di root",
|
||||
"rootCalloutBody": "Usa una shell root per questi comandi, incluse redirezioni e here-document. Con <code>sudo</code>, assicurati che l’intero comando venga eseguito con privilegi root.",
|
||||
"phase1Heading": "Fase 1 — Preparazione",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Cluster e Ceph",
|
||||
"clusterCalloutTitle": "Cluster: aggiornare i nodi uno alla volta",
|
||||
"clusterCalloutBody": "Rilevato con <code>pvecm status</code>. <strong>Non</strong> aggiornare più nodi contemporaneamente. Sposta gli ospiti, aggiorna il nodo, riavvia e verifica l’appartenenza al cluster prima di proseguire. Durante l’aggiornamento funziona la migrazione live da versioni PVE precedenti a successive; la direzione inversa generalmente non è supportata. I gruppi HA diventano automaticamente regole HA quando tutti i nodi usano PVE 9.",
|
||||
"clusterCalloutBody": "<strong>Non</strong> aggiornare più di un nodo alla volta. Sposta gli ospiti fuori dal nodo, aggiorna, riavvia e verifica l’appartenenza al cluster prima di proseguire. Durante l’aggiornamento funziona la migrazione live da versioni PVE precedenti a successive; la direzione inversa generalmente non è supportata. I gruppi HA diventano automaticamente regole HA quando tutti i nodi usano PVE 9.",
|
||||
"cephCalloutTitle": "Ceph: aggiornare PRIMA Ceph, poi Proxmox",
|
||||
"cephCalloutBody": "Ceph deve già usare 19.x Squid prima dell’aggiornamento Proxmox. Segui l’ordine ufficiale Quincy 17 → Reef 18 → Squid 19, aggiornando pacchetti e riavviando progressivamente i demoni Ceph nell’ordine documentato. Verifica <code>ceph --version</code> prima di ogni nodo Proxmox. Procedura completa: <cephlink>wiki per il passaggio da Ceph Reef a Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "File coinvolti",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Riferimenti ufficiali",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "O que acaba no pacote",
|
||||
"intro": "Para um OVA/OVF denominado <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "Para um OVA/OVF denominado <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "O que é exportado",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "Manifesto SHA1",
|
||||
"intro": "Cada pacote inclui um ficheiro <code>.mf</code> com os hashes SHA1 do descritor OVF e de cada VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "É opcional na especificação OVF e muitos programas ignoram-no, mas permite verificar se o pacote foi transferido intacto. Verifique manualmente com <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Mantenha o host saudável: ferramentas CLI, atualizações regulares e atualização de versão principal quando chegar a hora.",
|
||||
"bullets": [
|
||||
"Instalador de utilitários de sistema (25 ferramentas CLI)",
|
||||
"Atualização do Sistema Proxmox (apt + dist-upgrade)",
|
||||
"Atualização do Sistema Proxmox (apt + full-upgrade)",
|
||||
"Atualização de versão principal PVE 8 → PVE 9"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "Criação ISO",
|
||||
"body": "Crie uma nova ISO de instalação do Windows atualizada diretamente no host Proxmox. O script automatiza todo o processo UUP Dump: instalação de dependências (aria2c, cabextract, wimlib-imagex, …), transferência paralela dos ficheiros de atualização com aria2 e conversão numa única ISO de arranque. A ISO é guardada em <code>/var/lib/vz/template/iso</code>, pronta para associar a uma VM.",
|
||||
"body": "Crie uma nova ISO de instalação do Windows atualizada diretamente no host Proxmox. O script automatiza todo o processo UUP Dump: instalação de dependências (aria2c, cabextract, wimlib-imagex, …), transferência paralela dos ficheiros de atualização com aria2 e conversão numa única ISO de arranque. A ISO é guardada no armazenamento ISO do Proxmox detetado (alternativa <code>/var/lib/vz/template/iso</code>), pronta para associar a uma VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Criador de ISO do UUP Dump",
|
||||
"description": "Crie uma ISO de instalação do Windows atualizada a partir de um link partilhado do UUP Dump. As dependências, a transferência e a conversão são totalmente automatizadas; a ISO resultante é guardada em /var/lib/vz/template/iso, pronta para criar uma VM.",
|
||||
"description": "Crie uma ISO de instalação do Windows atualizada a partir de um link partilhado do UUP Dump. As dependências, a transferência e a conversão são totalmente automatizadas; a ISO resultante é guardada no armazenamento ISO do Proxmox detetado, pronta para criar uma VM.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Atualização do sistema Proxmox",
|
||||
"description": "Verificação dos repositórios + apt update + apt dist-upgrade, com confirmação antes de reiniciar. Deteta a versão principal do PVE (8 ou 9), mantém os repositórios configurados e pede confirmação antes de mudar um host sem subscrição para o repositório no-subscription; depois executa autoremove.",
|
||||
"description": "Verificação dos repositórios + apt update + apt full-upgrade, com confirmação antes de reiniciar. Deteta a versão principal do PVE (8 ou 9), mantém os repositórios configurados e pede confirmação antes de mudar um host sem subscrição para o repositório no-subscription; depois executa autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "O repositório Enterprise está ativo, mas o host não tem subscrição ativa. Antes de <code>apt-get update</code>, o script propõe passar a no-subscription. Se recusou, repita a atualização e aceite, ou desative Enterprise em <em>Node → Updates → Repositories</em> e ative no-subscription."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade trava em \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade trava em \"Configuring grub-pc\"",
|
||||
"body": "Se aparecer uma pergunta interativa do GRUB, pede os dispositivos onde instalar o gestor de arranque. A opção <code>--force-confold</code> aplica-se aos ficheiros de configuração, não à escolha dos dispositivos. Use <kbd>Tab</kbd> + <kbd>Space</kbd> para selecionar os discos de arranque adequados e depois OK. Pode configurar esta escolha antes com <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Atualização do sistema Proxmox",
|
||||
"tailRich": " — para o <code>apt dist-upgrade</code> efectivo no hospedeiro."
|
||||
"tailRich": " — para o <code>apt full-upgrade</code> efectivo no hospedeiro."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Cópias de segurança verificadas</strong> de cada VM e CT (PBS, vzdump, snapshots ZFS — verifique também o restauro).",
|
||||
"<strong>Acesso por consola / IPMI / iKVM</strong> ao anfitrião caso a ligação SSH seja interrompida.",
|
||||
"O host já está atualizado em PVE 8.4.x (o script obriga isso).",
|
||||
"O host no nível de patch mais recente do PVE 8. O script atualiza primeiro o PVE 8; não verifica uma versão 8.4.x específica.",
|
||||
"Ceph (se presente) na versão 19.x Squid.",
|
||||
"Pelo menos <strong>5 GB livres</strong> no sistema de ficheiros raiz."
|
||||
"Pelo menos <strong>5 GB livres</strong> no sistema de ficheiros raiz, como recomenda o guia do Proxmox. O próprio script só verifica 1 GB em /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Por que o terminal web está bloqueado",
|
||||
"body": "Os três modos detetam <code>termproxy</code> / <code>vncshell</code> na cadeia de processos ascendentes e recusam iniciar. O terminal web depende de <code>pveproxy</code>, um serviço atualizado durante o processo. Quando <code>pveproxy</code> reinicia, a sessão termina e o script que nela decorre também. O anfitrião pode ficar parcialmente atualizado.",
|
||||
"body": "Os modos Automático e Interativo detetam <code>termproxy</code> / <code>vncshell</code> na cadeia de processos ascendentes e recusam iniciar, a menos que a sessão venha por SSH ou que <code>PVE_ALLOW_WEBTERM=1</code> esteja definido. A verificação prévia e o guia manual não alteram nada e funcionam em qualquer lado. O terminal web depende de <code>pveproxy</code>, um serviço atualizado durante o processo. Quando <code>pveproxy</code> reinicia, a sessão termina e o script que nela decorre também. O anfitrião pode ficar parcialmente atualizado, sem boa forma de retomar.",
|
||||
"warningTitle": "Utilize SSH ou uma consola física / IPMI / iKVM",
|
||||
"warningBody": "SSH é a opção habitual. Inicie a sessão dentro de <code>tmux</code> ou <code>screen</code> para resistir a breves interrupções de rede. Se detetar uma shell SSH simples, o script apresenta primeiro um lembrete sobre tmux/screen."
|
||||
"warningBody": "SSH é a opção habitual. Inicie a sessão dentro de <code>tmux</code> ou <code>screen</code> para resistir a breves interrupções de rede. A janela de confirmação da atualização lembra-o de executá-la a partir da consola ou de SSH dentro de tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Modo automático / sem vigilância",
|
||||
"intro": "As perguntas sobre pacotes e ficheiros de configuração usam os valores predefinidos da tabela seguinte, e um 401 do repositório Enterprise muda para no-subscription sem perguntar. A confirmação da atualização, o resumo da atualização do PVE 8, as reparações das verificações e a pergunta de reinício continuam a ser apresentados.",
|
||||
"intro": "As perguntas sobre pacotes e ficheiros de configuração usam os valores predefinidos da tabela seguinte. A confirmação da atualização, o resumo da atualização do PVE 8, as reparações das verificações e a pergunta de reinício continuam a ser apresentados.",
|
||||
"behaviourHeading": "Comportamento específico do modo automático",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Configuração",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Processo do modo automático",
|
||||
"flowIntro": "Seis fases consecutivas. A fase 2 atualiza os pacotes PVE 8 e a fase 3 escreve a configuração dos repositórios do PVE 9. Uma falha interrompe o processo sem reverter essas alterações; se a atualização do PVE 8 falhar ou for cancelada, os repositórios ficam inalterados. A fase 5 executa <code>dist-upgrade</code> para PVE 9.",
|
||||
"flowDiagram": "1. VERIFICAÇÕES\nBloqueia termproxy / vncshell; confirma a atualização; rejeita PVE 9.\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nAtualiza os pacotes PVE 8; para se a atualização falhar ou for cancelada.\npve8to9 --full (pode propor reparações).\nVerifica espaço e conectividade; Ceph 19.x Squid em nós hiperconvergentes.\n\n3. MIGRAR REPOSITÓRIOS\nBookworm → Trixie; escreve ficheiros deb822 .sources.\nComenta os ficheiros .list antigos; apt-get update.\n\n4. VALIDAR O CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nPara se o candidato não for 9.x ou se proxmox-ve fosse removido.\n\n5. ATUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSem subscrição: desativa pve-enterprise.sources.\nRegisto: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFICAR E REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; examine os resultados e a pergunta de reinício.",
|
||||
"flowIntro": "Seis fases consecutivas. A fase 2 muda os repositórios do PVE 8 para no-subscription (listas Enterprise e Ceph desativadas, <code>/etc/apt/sources.list</code> reescrito) antes de mostrar o resumo da atualização e depois atualiza os pacotes; a fase 3 escreve a configuração dos repositórios do PVE 9. Uma falha interrompe o processo sem reverter essas alterações; se a atualização do PVE 8 falhar ou for cancelada, a migração para o PVE 9 não começa, mas as alterações nos repositórios do PVE 8 permanecem. A fase 5 executa <code>dist-upgrade</code> para PVE 9.",
|
||||
"flowDiagram": "1. VERIFICAÇÕES\nBloqueia termproxy / vncshell; confirma a atualização; rejeita PVE 9.\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nMuda os repositórios PVE 8 para no-subscription e reescreve sources.list;\natualiza os pacotes PVE 8; para se a atualização falhar ou for cancelada.\npve8to9 --full (pode propor reparações).\nVerifica espaço e conectividade; Ceph 19.x Squid em nós hiperconvergentes.\n\n3. MIGRAR REPOSITÓRIOS\nBookworm → Trixie; escreve ficheiros deb822 .sources.\nComenta os ficheiros .list antigos; apt-get update.\n\n4. VALIDAR O CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nPara se o candidato não for 9.x ou se proxmox-ve fosse removido.\n\n5. ATUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSem subscrição: desativa pve-enterprise.sources.\nRegisto: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. VERIFICAR E REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; examine os resultados e a pergunta de reinício.",
|
||||
"preflightHeading": "Verificações antes da atualização",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Verificar",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Procedimento de actualização manual",
|
||||
"intro": "É isto que mostra a opção <strong>Guia de atualização manual</strong>: o <wikilink>wiki oficial Proxmox para passar de 8 para 9</wikilink>, organizado em quatro fases. O script <em>mostra</em> os comandos; executa-os pessoalmente numa shell root separada. Cada passo é visível.",
|
||||
"intro": "Isto segue o que mostra a opção de menu <strong>Guia de atualização manual</strong>, com base no <wikilink>wiki oficial Proxmox para passar de 8 para 9</wikilink> e organizado em quatro fases. A tabela de respostas do dpkg acrescenta as ressalvas do wiki para sshd_config e chrony.conf, que o menu mostra como um simples Y. O script <em>mostra</em> os comandos; executa-os pessoalmente numa shell root separada. Sem automação, cada passo é visível.",
|
||||
"rootCalloutTitle": "Todos os comandos precisam de root",
|
||||
"rootCalloutBody": "Utilize uma shell root para estes comandos, incluindo redirecionamentos e documentos here-document. Com <code>sudo</code>, garanta que todo o comando é executado com privilégios root.",
|
||||
"phase1Heading": "Fase 1 — Preparação",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Cluster e Ceph",
|
||||
"clusterCalloutTitle": "Cluster: atualizar um nó de cada vez",
|
||||
"clusterCalloutBody": "Detetado por <code>pvecm status</code>. <strong>Não</strong> atualize vários nós ao mesmo tempo. Mova os convidados, atualize o nó, reinicie e confirme a participação no cluster antes de continuar. Durante a atualização, funciona a migração em direto de versões PVE anteriores para posteriores; o sentido inverso geralmente não é suportado. Os grupos HA são convertidos automaticamente em regras HA quando todos os nós utilizam PVE 9.",
|
||||
"clusterCalloutBody": "<strong>Não</strong> atualize vários nós ao mesmo tempo. Mova os convidados, atualize o nó, reinicie e confirme a participação no cluster antes de continuar. Durante a atualização, funciona a migração em direto de versões PVE anteriores para posteriores; o sentido inverso geralmente não é suportado. Os grupos HA são convertidos automaticamente em regras HA quando todos os nós utilizam PVE 9.",
|
||||
"cephCalloutTitle": "Ceph: atualizar Ceph PRIMEIRO, depois Proxmox",
|
||||
"cephCalloutBody": "O Ceph já deve estar em 19.x Squid antes de atualizar o Proxmox. Siga a sequência oficial Quincy 17 → Reef 18 → Squid 19, atualizando pacotes e reiniciando os daemons Ceph de forma gradual pela ordem documentada. Confirme <code>ceph --version</code> antes de cada nó Proxmox. Procedimento completo: <cephlink>wiki de atualização de Ceph Reef para Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Ficheiros envolvidos",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Referências oficiais",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "Čo balík obsahuje",
|
||||
"intro": "Pre OVA / OVF s názvom <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "Pre OVA / OVF s názvom <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "Čo sa exportuje",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "Manifest SHA1",
|
||||
"intro": "Každý balík obsahuje súbor <code>.mf</code> s hashmi SHA1 deskriptora OVF a každého súboru VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "V špecifikácii OVF je manifest voliteľný a mnohé programy ho ignorujú. Pomáha však overiť, či sa balík preniesol neporušený. Overte ho ručne pomocou <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Udržiavajte hostiteľa v dobrom stave pomocou nástrojov CLI, pravidelných aktualizácií a prechodu na novú hlavnú verziu, keď príde čas.",
|
||||
"bullets": [
|
||||
"Inštalátor systémových nástrojov (25 nástrojov CLI)",
|
||||
"Aktualizácia systému Proxmox (apt + dist-upgrade)",
|
||||
"Aktualizácia systému Proxmox (apt + full-upgrade)",
|
||||
"Prechod z PVE 8 na PVE 9"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "Tvorba ISO",
|
||||
"body": "Vytvorte nový, aktuálny inštalačný obraz ISO systému Windows priamo na hostiteľovi Proxmox. Skript automatizuje celý postup UUP Dump: inštaláciu závislostí (aria2c, cabextract, wimlib-imagex, …), paralelné sťahovanie aktualizačných súborov cez aria2 a konverziu na jeden zavádzací obraz ISO. Ten sa uloží do <code>/var/lib/vz/template/iso</code> a je pripravený na pripojenie k VM.",
|
||||
"body": "Vytvorte nový, aktuálny inštalačný obraz ISO systému Windows priamo na hostiteľovi Proxmox. Skript automatizuje celý postup UUP Dump: inštaláciu závislostí (aria2c, cabextract, wimlib-imagex, …), paralelné sťahovanie aktualizačných súborov cez aria2 a konverziu na jeden zavádzací obraz ISO. Ten sa uloží do zisteného úložiska ISO Proxmoxu (záložne <code>/var/lib/vz/template/iso</code>) a je pripravený na pripojenie k VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Tvorba ISO cez UUP Dump",
|
||||
"description": "Vytvorte aktuálny inštalačný obraz ISO systému Windows zo zdieľaného odkazu UUP Dump. Závislosti, sťahovanie aj konverzia sú plne automatizované. Výsledný obraz ISO sa uloží do /var/lib/vz/template/iso a je pripravený na vytvorenie VM.",
|
||||
"description": "Vytvorte aktuálny inštalačný obraz ISO systému Windows zo zdieľaného odkazu UUP Dump. Závislosti, sťahovanie aj konverzia sú plne automatizované. Výsledný obraz ISO sa uloží do zisteného úložiska ISO Proxmoxu a je pripravený na vytvorenie VM.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Aktualizácia systému Proxmox",
|
||||
"description": "Kontrola repozitárov + apt update + apt dist-upgrade s potvrdením pred reštartom. Rozpozná hlavnú verziu PVE (8 alebo 9), zachová nakonfigurované repozitáre a pred prepnutím hostiteľa bez predplatného na repozitár no-subscription požiada o potvrdenie. Potom spustí autoremove.",
|
||||
"description": "Kontrola repozitárov + apt update + apt full-upgrade s potvrdením pred reštartom. Rozpozná hlavnú verziu PVE (8 alebo 9), zachová nakonfigurované repozitáre a pred prepnutím hostiteľa bez predplatného na repozitár no-subscription požiada o potvrdenie. Potom spustí autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "Repozitár Enterprise je zapnutý, ale hostiteľ nemá aktívne predplatné. Pred <code>apt-get update</code> skript ponúkne prechod na no-subscription. Ak ste ho odmietli, spustite aktualizáciu znova a potvrďte ho, alebo vypnite Enterprise v <em>Node → Updates → Repositories</em> a zapnite no-subscription."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade sa zastaví pri \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade sa zastaví pri \"Configuring grub-pc\"",
|
||||
"body": "Ak sa zobrazuje interaktívna otázka GRUB, žiada zariadenia na inštaláciu zavádzača. Voľba <code>--force-confold</code> platí pre konfiguračné súbory, nie pre tento výber zariadení. Pomocou <kbd>Tab</kbd> + <kbd>Space</kbd> vyberte príslušné zavádzacie disky a potom OK. Výber možno nastaviť vopred pomocou <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Aktualizácia systému Proxmox",
|
||||
"tailRich": " — pre samotný <code>apt dist-upgrade</code> na hostiteľovi."
|
||||
"tailRich": " — pre samotný <code>apt full-upgrade</code> na hostiteľovi."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Overené zálohy</strong> všetkých VM a CT (PBS, vzdump, snímky ZFS — overte aj obnovu).",
|
||||
"<strong>Prístup cez konzolu / IPMI / iKVM</strong> k hostiteľovi pre prípad výpadku SSH.",
|
||||
"Hostiteľ už používa aktuálnu PVE 8.4.x (skript to vynucuje).",
|
||||
"Hostiteľ s najnovšou úrovňou záplat PVE 8. Skript najprv aktualizuje PVE 8; nekontroluje konkrétnu verziu 8.4.x.",
|
||||
"Ceph (ak je k dispozícii) vo verzii 19.x Squid.",
|
||||
"Aspoň <strong>5 GB voľného miesta</strong> v koreňovom súborovom systéme."
|
||||
"Aspoň <strong>5 GB voľného miesta</strong> v koreňovom súborovom systéme, ako odporúča sprievodca Proxmoxu. Samotný skript kontroluje iba 1 GB v /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Prečo je webový terminál zablokovaný?",
|
||||
"body": "Všetky tri režimy zistia <code>termproxy</code> / <code>vncshell</code> v reťazci rodičovských procesov a odmietnu spustenie. Webový terminál závisí od služby <code>pveproxy</code>, ktorá sa počas aktualizácie mení. Po reštarte <code>pveproxy</code> sa ukončí terminál aj skript v ňom. Hostiteľ môže zostať aktualizovaný iba čiastočne.",
|
||||
"body": "Automatický a interaktívny režim zistia <code>termproxy</code> / <code>vncshell</code> v reťazci rodičovských procesov a odmietnu spustenie, ak relácia nepochádza cez SSH alebo nie je nastavené <code>PVE_ALLOW_WEBTERM=1</code>. Predbežná kontrola a ručný návod nič nemenia a bežia kdekoľvek. Webový terminál závisí od služby <code>pveproxy</code>, ktorá sa počas aktualizácie mení. Po reštarte <code>pveproxy</code> sa ukončí terminál aj skript v ňom. Hostiteľ môže zostať aktualizovaný iba čiastočne a niet dobrého spôsobu, ako pokračovať.",
|
||||
"warningTitle": "Použite SSH alebo fyzickú konzolu / IPMI / iKVM",
|
||||
"warningBody": "Najčastejšou voľbou je SSH. Spustite ho v <code>tmux</code> alebo <code>screen</code>, aby krátky výpadok siete neprerušil aktualizáciu. Pri bežnom SSH shelli skript najprv zobrazí pripomienku tmux/screen."
|
||||
"warningBody": "Najčastejšou voľbou je SSH. Spustite ho v <code>tmux</code> alebo <code>screen</code>, aby krátky výpadok siete neprerušil aktualizáciu. Dialóg potvrdenia aktualizácie pripomína, že ju treba spustiť z konzoly alebo cez SSH v tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Automatický režim / Bezobslužne",
|
||||
"intro": "Otázky k balíkom a konfiguračným súborom používajú predvolené hodnoty z nasledujúcej tabuľky a odpoveď 401 z repozitára Enterprise prepne na no-subscription bez opýtania. Potvrdenie aktualizácie, súhrn aktualizácie PVE 8, opravy z predbežnej kontroly a otázka na reštart sa naďalej zobrazujú.",
|
||||
"intro": "Otázky k balíkom a konfiguračným súborom používajú predvolené hodnoty z nasledujúcej tabuľky. Potvrdenie aktualizácie, súhrn aktualizácie PVE 8, opravy z predbežnej kontroly a otázka na reštart sa naďalej zobrazujú.",
|
||||
"behaviourHeading": "Správanie automatického režimu",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Nastavenie",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Postup automatického režimu",
|
||||
"flowIntro": "Šesť po sebe idúcich fáz. Fáza 2 aktualizuje balíky PVE 8 a fáza 3 zapíše konfiguráciu repozitárov PVE 9. Chyba postup zastaví, tieto zmeny však nevráti; ak aktualizácia PVE 8 zlyhá alebo sa zruší, repozitáre zostanú nezmenené. Fáza 5 vykoná <code>dist-upgrade</code> na PVE 9.",
|
||||
"flowDiagram": "1. KONTROLY\nBlokuje termproxy / vncshell; potvrdí aktualizáciu; odmietne PVE 9.\n\n2. PRÍPRAVA PVE 8\nscripts/global/update-pve8.sh\nAktualizuje balíky PVE 8; zastaví sa, ak aktualizácia zlyhá alebo sa zruší.\npve8to9 --full (môže ponúknuť opravy).\nOverí miesto a pripojenie; Ceph 19.x Squid na hyperkonvergovaných uzloch.\n\n3. MIGRÁCIA REPOZITÁROV\nBookworm → Trixie; zapíše súbory deb822 .sources.\nZakomentuje staré súbory .list; apt-get update.\n\n4. OVERENIE KANDIDÁTA PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nZastaví sa, ak kandidát nie je 9.x alebo by sa odstránil proxmox-ve.\n\n5. AKTUALIZÁCIA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nBez predplatného: vypne pve-enterprise.sources.\nProtokol: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. OVERENIE A REŠTART\nEFI: apt install grub-efi-amd64\npve8to9 --full; skontrolujte výsledok a otázku na reštart.",
|
||||
"flowIntro": "Šesť po sebe idúcich fáz. Fáza 2 prepne repozitáre PVE 8 na no-subscription (zoznamy Enterprise a Ceph vypnuté, <code>/etc/apt/sources.list</code> prepísaný) ešte pred zobrazením súhrnu aktualizácie a potom aktualizuje balíky; fáza 3 zapíše konfiguráciu repozitárov PVE 9. Chyba postup zastaví, tieto zmeny však nevráti; ak aktualizácia PVE 8 zlyhá alebo sa zruší, migrácia na PVE 9 sa nezačne, ale zmeny repozitárov PVE 8 zostanú. Fáza 5 vykoná <code>dist-upgrade</code> na PVE 9.",
|
||||
"flowDiagram": "1. KONTROLY\nBlokuje termproxy / vncshell; potvrdí aktualizáciu; odmietne PVE 9.\n\n2. PRÍPRAVA PVE 8\nscripts/global/update-pve8.sh\nPrepne repozitáre PVE 8 na no-subscription a prepíše sources.list;\naktualizuje balíky PVE 8; zastaví sa, ak aktualizácia zlyhá alebo sa zruší.\npve8to9 --full (môže ponúknuť opravy).\nOverí miesto a pripojenie; Ceph 19.x Squid na hyperkonvergovaných uzloch.\n\n3. MIGRÁCIA REPOZITÁROV\nBookworm → Trixie; zapíše súbory deb822 .sources.\nZakomentuje staré súbory .list; apt-get update.\n\n4. OVERENIE KANDIDÁTA PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nZastaví sa, ak kandidát nie je 9.x alebo by sa odstránil proxmox-ve.\n\n5. AKTUALIZÁCIA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nBez predplatného: vypne pve-enterprise.sources.\nProtokol: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. OVERENIE A REŠTART\nEFI: apt install grub-efi-amd64\npve8to9 --full; skontrolujte výsledok a otázku na reštart.",
|
||||
"preflightHeading": "Kontroly pred aktualizáciou",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Kontrola",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Postup manuálnej aktualizácie",
|
||||
"intro": "Toto zobrazí možnosť <strong>Ručný návod na aktualizáciu</strong>: <wikilink>oficiálny wiki návod Proxmoxu z 8 na 9</wikilink>, rozdelený do štyroch fáz. Skript príkazy <em>zobrazí</em>; vykonáte ich sami v samostatnom shelli používateľa root. Každý krok máte pod kontrolou.",
|
||||
"intro": "Toto zobrazí možnosť <strong>Ručný návod na aktualizáciu</strong>, vychádzajúca z <wikilink>oficiálneho wiki návodu Proxmoxu z 8 na 9</wikilink> a rozdelená do štyroch fáz. Tabuľka odpovedí dpkg dopĺňa upozornenia wiki k sshd_config a chrony.conf, ktoré menu zobrazuje ako obyčajné Y. Skript príkazy <em>zobrazí</em>; vykonáte ich sami v samostatnom shelli používateľa root. Žiadna automatizácia, každý krok máte pod kontrolou.",
|
||||
"rootCalloutTitle": "Všetky príkazy vyžadujú root",
|
||||
"rootCalloutBody": "Použite shell používateľa root aj pre presmerovania a dokumenty here-document. Pri <code>sudo</code> zabezpečte, aby sa s oprávneniami root vykonal celý príkaz.",
|
||||
"phase1Heading": "Fáza 1 — Príprava",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Klaster a Ceph",
|
||||
"clusterCalloutTitle": "Klaster: aktualizujte uzly po jednom",
|
||||
"clusterCalloutBody": "Zistené cez <code>pvecm status</code>. <strong>Neaktualizujte</strong> viac uzlov naraz. Presuňte hostí, aktualizujte uzol, reštartujte a overte členstvo v klastri. Až potom pokračujte. Počas aktualizácie funguje živá migrácia zo staršej verzie PVE na novšiu; opačný smer spravidla nie je podporovaný. Skupiny HA sa automaticky prevedú na pravidlá HA, keď všetky uzly používajú PVE 9.",
|
||||
"clusterCalloutBody": "<strong>Neaktualizujte</strong> viac uzlov naraz. Presuňte hostí z uzla, aktualizujte, reštartujte a overte členstvo v klastri. Až potom pokračujte. Počas aktualizácie funguje živá migrácia zo staršej verzie PVE na novšiu; opačný smer spravidla nie je podporovaný. Skupiny HA sa automaticky prevedú na pravidlá HA, keď všetky uzly používajú PVE 9.",
|
||||
"cephCalloutTitle": "Ceph: NAJPRV inovujte Ceph, potom Proxmox",
|
||||
"cephCalloutBody": "Ceph musí pred aktualizáciou Proxmoxu už používať 19.x Squid. Postupujte v oficiálnom poradí Quincy 17 → Reef 18 → Squid 19: aktualizujte balíky a postupne reštartujte démony Ceph podľa návodu. Pred každým uzlom Proxmoxu overte <code>ceph --version</code>. Celý postup: <cephlink>wiki aktualizácie Ceph Reef na Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Príslušné súbory",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Oficiálne zdroje",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"package": {
|
||||
"heading": "Vad som hamnar i paketet",
|
||||
"intro": "För en OVA / OVF som heter <code>myvm-100-2026-04-26_18-30-15</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
|
||||
"intro": "För en OVA / OVF som heter <code>myvm-100-20260426_183015</code>:",
|
||||
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-20260426_183015.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-20260426_183015.mf # SHA1 manifest\nmyvm-100-20260426_183015-disk1.vmdk\nmyvm-100-20260426_183015-disk2.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-20260426_183015-ovf/\n├── myvm-100-20260426_183015.ovf\n├── myvm-100-20260426_183015.mf\n├── myvm-100-20260426_183015-disk1.vmdk\n└── myvm-100-20260426_183015-disk2.vmdk"
|
||||
},
|
||||
"exported": {
|
||||
"heading": "Vad blir exporterat",
|
||||
@@ -90,7 +90,7 @@
|
||||
"manifest": {
|
||||
"heading": "SHA1-manifest",
|
||||
"intro": "Varje paket innehåller en <code>.mf</code>-fil med SHA1-hashar för OVF-beskrivningsfilen och varje VMDK:",
|
||||
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"code": "SHA1(myvm-100-20260426_183015.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-20260426_183015-disk1.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-20260426_183015-disk2.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
|
||||
"outro": "Manifestet är valfritt i OVF-specifikationen och många program ignorerar det, men det kan användas för att kontrollera att paketet överfördes oskadat. Verifiera manuellt med <code>sha1sum -c file.mf</code>."
|
||||
},
|
||||
"import": {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"body": "Håll värden frisk: CLI-verktyg, regelbundna uppdateringar och storversionsuppgraderingen när det är dags.",
|
||||
"bullets": [
|
||||
"Installationsprogram för systemverktyg (25 CLI-verktyg)",
|
||||
"Proxmox systemuppdatering (apt + dist-upgrade)",
|
||||
"Proxmox systemuppdatering (apt + full-upgrade)",
|
||||
"Uppgradering av huvudversion PVE 8 → PVE 9"
|
||||
]
|
||||
},
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"isoSection": {
|
||||
"heading": "Skapa ISO-filer",
|
||||
"body": "Skapa en ny och aktuell Windows-installations-ISO direkt på Proxmox-värden. Skriptet automatiserar hela UUP Dump-flödet: installation av beroenden (aria2c, cabextract, wimlib-imagex, …), parallell nedladdning av uppdateringsfiler med aria2 och konvertering till en enda startbar ISO. Den sparas i <code>/var/lib/vz/template/iso</code> och är redo att anslutas till en VM.",
|
||||
"body": "Skapa en ny och aktuell Windows-installations-ISO direkt på Proxmox-värden. Skriptet automatiserar hela UUP Dump-flödet: installation av beroenden (aria2c, cabextract, wimlib-imagex, …), parallell nedladdning av uppdateringsfiler med aria2 och konvertering till en enda startbar ISO. Den sparas i den identifierade Proxmox ISO-lagringen (reserv: <code>/var/lib/vz/template/iso</code>) och är redo att anslutas till en VM.",
|
||||
"options": [
|
||||
{
|
||||
"title": "UUP Dump ISO-skapare",
|
||||
"description": "Skapa en aktuell Windows-installations-ISO från en delad UUP Dump-länk. Beroenden, nedladdning och konvertering hanteras helt automatiskt. Den färdiga ISO-filen sparas i /var/lib/vz/template/iso, redo för att skapa en VM.",
|
||||
"description": "Skapa en aktuell Windows-installations-ISO från en delad UUP Dump-länk. Beroenden, nedladdning och konvertering hanteras helt automatiskt. Den färdiga ISO-filen sparas i den identifierade Proxmox ISO-lagringen, redo för att skapa en VM.",
|
||||
"href": "/docs/utils/UUp-Dump-ISO-Creator"
|
||||
}
|
||||
]
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Proxmox systemuppdatering",
|
||||
"description": "Kontroll av paketförråd + apt update + apt dist-upgrade med bekräftelse före omstart. Identifierar PVE-huvudversionen (8 eller 9), behåller konfigurerade paketförråd och frågar innan en värd utan abonnemang byter till no-subscription-förrådet. Därefter körs autoremove.",
|
||||
"description": "Kontroll av paketförråd + apt update + apt full-upgrade med bekräftelse före omstart. Identifierar PVE-huvudversionen (8 eller 9), behåller konfigurerade paketförråd och frågar innan en värd utan abonnemang byter till no-subscription-förrådet. Därefter körs autoremove.",
|
||||
"href": "/docs/utils/system-update"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"body": "Enterprise-förrådet är aktiverat utan ett aktivt abonnemang. Före <code>apt-get update</code> erbjuder arbetsskriptet ett byte till no-subscription. Om du avböjde kan du köra uppdateringen igen och acceptera, eller inaktivera Enterprise i <em>Node → Updates → Repositories</em> och aktivera no-subscription."
|
||||
},
|
||||
{
|
||||
"title": "dist-upgrade fastnar vid \"Configuring grub-pc\"",
|
||||
"title": "full-upgrade fastnar vid \"Configuring grub-pc\"",
|
||||
"body": "Om en interaktiv GRUB-fråga visas frågar den vilka enheter som ska få starthanteraren. Alternativet <code>--force-confold</code> gäller konfigurationsfiler, inte det här enhetsvalet. Välj lämpliga startdiskar med <kbd>Tab</kbd> + <kbd>Space</kbd> och sedan OK. Du kan konfigurera valet i förväg med <code>dpkg-reconfigure grub-pc</code>."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{
|
||||
"href": "/docs/utils/system-update",
|
||||
"label": "Proxmox systemuppdatering",
|
||||
"tailRich": " — för den faktiska <code>apt dist-upgrade</code> på värden."
|
||||
"tailRich": " — för den faktiska <code>apt full-upgrade</code> på värden."
|
||||
},
|
||||
{
|
||||
"href": "/docs/network/monitoring",
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
"items": [
|
||||
"<strong>Verifierade säkerhetskopior</strong> av varje VM och CT (PBS, vzdump, ZFS-ögonblicksbilder — kontrollera även att de går att återställa).",
|
||||
"<strong>Åtkomst via konsol / IPMI / iKVM</strong> till värden om SSH kopplas ned under uppgraderingen.",
|
||||
"Värden ska redan vara uppdaterad till aktuell PVE 8.4.x, vilket skriptet kontrollerar.",
|
||||
"Värden ska redan vara på den senaste PVE 8-patchnivån. Skriptet uppdaterar först PVE 8; det kontrollerar inte någon specifik 8.4.x-version.",
|
||||
"Ceph (om den finns) på version 19.x Squid.",
|
||||
"Minst <strong>5 GB ledigt</strong> i rotfilsystemet."
|
||||
"Minst <strong>5 GB ledigt</strong> i rotfilsystemet, som Proxmox-guiden rekommenderar. Skriptet själv kontrollerar bara 1 GB i /var/cache/apt/archives."
|
||||
]
|
||||
},
|
||||
"modeMenu": {
|
||||
@@ -63,13 +63,13 @@
|
||||
},
|
||||
"webTerminal": {
|
||||
"heading": "Varför webbterminalen blockeras",
|
||||
"body": "Alla tre lägen upptäcker <code>termproxy</code> / <code>vncshell</code> i kedjan av överordnade processer och vägrar starta. Webbterminalen beror på <code>pveproxy</code>, en tjänst som uppdateras under förloppet. När <code>pveproxy</code> startas om avslutas terminalsessionen och skriptet i den. Värden kan då bli endast delvis uppgraderad.",
|
||||
"body": "Lägena Automatic och Interactive upptäcker <code>termproxy</code> / <code>vncshell</code> i kedjan av överordnade processer och vägrar starta, om inte sessionen kommer via SSH eller <code>PVE_ALLOW_WEBTERM=1</code> är satt. Förkontrollen och den manuella guiden ändrar ingenting och kan köras var som helst. Webbterminalen beror på <code>pveproxy</code>, en tjänst som uppdateras under förloppet. När <code>pveproxy</code> startas om avslutas terminalsessionen och skriptet i den. Värden kan då bli endast delvis uppgraderad.",
|
||||
"warningTitle": "Använd SSH eller fysisk konsol / IPMI / iKVM",
|
||||
"warningBody": "SSH är det vanligaste valet. Kör det i <code>tmux</code> eller <code>screen</code> så att uppgraderingen klarar korta nätavbrott. Om skriptet upptäcker ett vanligt SSH-skal visas först en påminnelse om tmux/screen."
|
||||
"warningBody": "SSH är det vanligaste valet. Kör det i <code>tmux</code> eller <code>screen</code> så att uppgraderingen klarar korta nätavbrott. Bekräftelsedialogen för uppgraderingen påminner dig om att köra den från konsolen eller från SSH i tmux/screen."
|
||||
},
|
||||
"auto": {
|
||||
"heading": "Automatiskt läge / Utan tillsyn",
|
||||
"intro": "Frågor om paket och konfigurationsfiler använder standardvärdena i tabellen nedan, och ett 401 från Enterprise-källan byter till no-subscription utan att fråga. Bekräftelsen av uppgraderingen, sammanfattningen av PVE 8-uppdateringen, reparationer från förkontrollen och frågan om omstart visas fortfarande.",
|
||||
"intro": "Frågor om paket och konfigurationsfiler använder standardvärdena i tabellen nedan. Bekräftelsen av uppgraderingen, sammanfattningen av PVE 8-uppdateringen, reparationer från förkontrollen och frågan om omstart visas fortfarande.",
|
||||
"behaviourHeading": "Beteende i automatiskt läge",
|
||||
"behaviourTable": {
|
||||
"settingHeader": "Inställning",
|
||||
@@ -94,8 +94,8 @@
|
||||
]
|
||||
},
|
||||
"flowHeading": "Förlopp i automatiskt läge",
|
||||
"flowIntro": "Sex faser i följd. Fas 2 uppdaterar PVE 8-paketen och fas 3 skriver konfigurationen för PVE 9-paketkällorna. Ett fel stoppar förloppet men återställer inte ändringarna; om PVE 8-uppdateringen misslyckas eller avbryts lämnas paketkällorna orörda. Fas 5 kör <code>dist-upgrade</code> till PVE 9.",
|
||||
"flowDiagram": "1. KONTROLLER\nBlockera termproxy / vncshell; bekräfta uppgraderingen; avvisa PVE 9.\n\n2. FÖRBERED PVE 8\nscripts/global/update-pve8.sh\nUppdatera PVE 8-paket; stoppa om uppdateringen misslyckas eller avbryts.\npve8to9 --full (kan erbjuda reparationer).\nKontrollera utrymme och anslutning; Ceph 19.x Squid på hyperkonvergerade noder.\n\n3. ÄNDRA PAKETKÄLLOR\nBookworm → Trixie; skriv deb822-filer .sources.\nKommentera bort gamla .list-filer; apt-get update.\n\n4. KONTROLLERA PVE 9-KANDIDATEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStoppa om kandidaten inte är 9.x eller om proxmox-ve skulle tas bort.\n\n5. UPPGRADERA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nUtan prenumeration: inaktivera pve-enterprise.sources.\nLogg: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. KONTROLLERA OCH STARTA OM\nEFI: apt install grub-efi-amd64\npve8to9 --full; granska resultatet och frågan om omstart.",
|
||||
"flowIntro": "Sex faser i följd. Fas 2 byter PVE 8-paketkällorna till no-subscription (Enterprise- och Ceph-listorna inaktiveras, <code>/etc/apt/sources.list</code> skrivs om) innan sammanfattningen av uppdateringen visas och uppdaterar sedan paketen; fas 3 skriver konfigurationen för PVE 9-paketkällorna. Ett fel stoppar förloppet men återställer inte ändringarna; om PVE 8-uppdateringen misslyckas eller avbryts startar inte PVE 9-migreringen, men ändringarna i PVE 8-paketkällorna finns kvar. Fas 5 kör <code>dist-upgrade</code> till PVE 9.",
|
||||
"flowDiagram": "1. KONTROLLER\nBlockera termproxy / vncshell; bekräfta uppgraderingen; avvisa PVE 9.\n\n2. FÖRBERED PVE 8\nscripts/global/update-pve8.sh\nByt PVE 8-paketkällor till no-subscription och skriv om sources.list;\nuppdatera PVE 8-paket; stoppa om uppdateringen misslyckas eller avbryts.\npve8to9 --full (kan erbjuda reparationer).\nKontrollera utrymme och anslutning; Ceph 19.x Squid på hyperkonvergerade noder.\n\n3. ÄNDRA PAKETKÄLLOR\nBookworm → Trixie; skriv deb822-filer .sources.\nKommentera bort gamla .list-filer; apt-get update.\n\n4. KONTROLLERA PVE 9-KANDIDATEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStoppa om kandidaten inte är 9.x eller om proxmox-ve skulle tas bort.\n\n5. UPPGRADERA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nUtan prenumeration: inaktivera pve-enterprise.sources.\nLogg: /var/log/pve8-a-pve9-<timestamp>.log\n\n6. KONTROLLERA OCH STARTA OM\nEFI: apt install grub-efi-amd64\npve8to9 --full; granska resultatet och frågan om omstart.",
|
||||
"preflightHeading": "Förkontroll: vad som kontrolleras",
|
||||
"preflightTable": {
|
||||
"checkHeader": "Kontroll",
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
"manual": {
|
||||
"heading": "Manuellt uppgraderingsförfarande",
|
||||
"intro": "Detta visar menyalternativet <strong>Manuell uppgraderingsguide</strong>: <wikilink>Proxmox officiella wiki för uppgradering från 8 till 9</wikilink>, uppdelad i fyra faser. Skriptet <em>visar</em> kommandona; du kör dem själv i ett separat root-skal. Varje steg är synligt.",
|
||||
"intro": "Detta följer menyalternativet <strong>Manuell uppgraderingsguide</strong>, baserat på <wikilink>Proxmox officiella wiki för uppgradering från 8 till 9</wikilink> och uppdelat i fyra faser. Tabellen med dpkg-svar lägger till wikins förbehåll för sshd_config och chrony.conf, som menyn visar som ett vanligt Y. Skriptet <em>visar</em> kommandona; du kör dem själv i ett separat root-skal. Ingen automatisering, full insyn.",
|
||||
"rootCalloutTitle": "Alla kommandon kräver root",
|
||||
"rootCalloutBody": "Använd ett root-skal för kommandona, även för omdirigeringar och here-dokument. Med <code>sudo</code> måste hela kommandot köras med root-behörighet.",
|
||||
"phase1Heading": "Fas 1 - Förberedelse",
|
||||
@@ -230,7 +230,7 @@
|
||||
"clusterCeph": {
|
||||
"heading": "Kluster och Ceph",
|
||||
"clusterCalloutTitle": "Cluster: uppgradera noder en i taget",
|
||||
"clusterCalloutBody": "Identifieras med <code>pvecm status</code>. <strong>Uppgradera inte</strong> flera noder samtidigt. Flytta gästerna, uppgradera noden, starta om och verifiera klustermedlemskapet innan du fortsätter. Under uppgraderingen fungerar livemigrering från äldre till nyare PVE-versioner; motsatt riktning stöds normalt inte. HA-grupper omvandlas automatiskt till HA-regler när alla noder kör PVE 9.",
|
||||
"clusterCalloutBody": "<strong>Uppgradera inte</strong> flera noder samtidigt. Flytta gästerna, uppgradera noden, starta om och verifiera klustermedlemskapet innan du fortsätter. Under uppgraderingen fungerar livemigrering från äldre till nyare PVE-versioner; motsatt riktning stöds normalt inte. HA-grupper omvandlas automatiskt till HA-regler när alla noder kör PVE 9.",
|
||||
"cephCalloutTitle": "Ceph: uppgradera Ceph FÖRST, sedan Proxmox",
|
||||
"cephCalloutBody": "Ceph måste redan köra 19.x Squid före Proxmox-uppgraderingen. Följ den officiella ordningen Quincy 17 → Reef 18 → Squid 19: uppdatera paket och starta om Ceph-demoner stegvis i dokumenterad ordning. Kontrollera <code>ceph --version</code> före varje Proxmox-nod. Fullständigt förfarande: <cephlink>wikin för uppgradering av Ceph Reef till Squid</cephlink>."
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
},
|
||||
"files": {
|
||||
"heading": "Filer involverade",
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-<timestamp>.log # full upgrade log"
|
||||
},
|
||||
"references": {
|
||||
"heading": "Officiella referenser",
|
||||
|
||||
Reference in New Issue
Block a user