Aggiornare Proxmox 8.x al 9.x in pochi passi

Aggiornare un ambiente Proxmox VE da una versione 8.x alla nuova major release 9.x è un processo delicato che richiede attenzione e una corretta preparazione. Questo articolo guida passo passo, con esempi pratici, come eseguire l’upgrade in sicurezza, minimizzando rischi di downtime o problemi di compatibilità.

Introduzione

Proxmox VE 9 porta diverse novità e miglioramenti rispetto alla versione 8.x, inclusi aggiornamenti ai componenti di sistema, nuovi kernel, miglior supporto hardware e ottimizzazioni delle funzionalità di virtualizzazione. Tuttavia, l’aggiornamento da una release 8 (es. 8.3 o 8.4) alla 9 non è un semplice comando “apt upgrade”: richiede alcune attenzioni preliminari e la risoluzione di avvisi specifici, soprattutto legati a Debian 12 (bookworm) che ora diventa “trixie”.

1. Preparazione: backup e controllo versione

Prima di iniziare è fondamentale effettuare un backup completo delle macchine virtuali (VM) e container (CT), e dei file di configurazione chiave, come:

Inoltre, se il tuo nodo Proxmox è ancora su una versione minore della 8.x (ad esempio la 8.3), ti consiglio di aggiornarla prima tramite il pannello web di Proxmox:

clicca il nodo che vuoi aggiornare, vai nella colonna accanto su – [Updates] – poi in alto sull’area ancora a destra fai – [Refresh] – da qui avrai tutta lista di pacchetti aggiornabili disponibili con la loro versione, infine fai – [Upgrade] – si aprirà una console attendi la fine dell’upgrade.

Oppure via shell:

Assicurati di portare la versione almeno alla 8.4.10, l’ultima minore prima del passaggio alla 9.

Backup VM/CT e configurazioni critiche prima dell’upgrade

Prima di procedere con qualsiasi upgrade di Proxmox, è fondamentale avere copie di sicurezza.
Backup delle VM e CT. Puoi usare il pannello grafico o, da shell, il comando:

Esempio per una VM con ID 101 salvata nello storage local:

Backup delle configurazioni di rete e cluster

2. Verifica e gestione degli avvisi con pve8to9

Proxmox fornisce uno strumento chiamato pve8to9 per verificare la compatibilità e i problemi che potrebbero emergere durante l’upgrade.

Prima del passaggio a PVE9 per un controllo approfondito, esegui:

Un avviso comune riguarda il file /etc/sysctl.conf che su Debian 12 (bookworm) risulta deprecato. La best practice è rinominarlo e migrare le configurazioni in un nuovo file personalizzato sotto /etc/sysctl.d/99-custom.conf.

Gestione di sysctl.conf prima dell’upgrade a Proxmox 9

Prima del passaggio da Proxmox 8.x (Debian 12 bookworm) a Proxmox 9.x (Debian 13 trixie), il tool pve8to9 –full potrebbe segnalare un WARN legato all’uso di /etc/sysctl.conf.
Infatti, nelle release più recenti di Debian, il file sysctl.conf è considerato deprecato in favore di configurazioni modulari dentro /etc/sysctl.d/.

In molte installazioni, troverai che:

mostra un symlink verso /etc/sysctl.conf: “/etc/sysctl.d/99-sysctl.conf -> /etc/sysctl.conf

Perché nasce il warning

Quando rinomini o elimini /etc/sysctl.conf, il symlink /etc/sysctl.d/99-sysctl.conf resta puntato a un file inesistente, causando un avviso nel pre-check di upgrade.

Come risolvere

  1. Fare backup del file originale

Prima di modificare qualsiasi configurazione:

  1. Creare un nuovo file di configurazione

Copiare solo le righe non commentate e non vuote in un nuovo file:

  1. Rinominare il vecchio file
  1. Sistemare il symlink (opzionale, ma consigliato)

Puoi rimuoverlo o farlo puntare al nuovo file:

Per rimuoverlo:

Per aggiornarlo:

O anche lasciarlo com’è, tanto nella nuova versione Debian 13 il sistema leggera direttamente le configurazioni dentro il file che abbiamo creato (/etc/sysctl.d/99-custom.conf).

  1. Ricaricare le impostazioni

Dopo la modifica, ricaricare tutte le configurazioni sysctl senza riavviare:

Questo comando: legge /etc/sysctl.conf (se esiste), legge tutti i file .conf in /etc/sysctl.d/ ed applica immediatamente le impostazioni al kernel.

3. Aggiornare i repository e passare a Proxmox 9

Dopo aver risolto eventuali warning e verificato la compatibilità, puoi procedere con la sostituzione dei repository per passare da Debian bookworm a trixie e aggiornare Proxmox:

Se si preferisce agire manualmente sui repository si puo modificare autonomamente il file /etc/apt/sources.list aggiungedo i seguenti repository:

deb http://deb.debian.org/debian trixie main contrib
deb http://deb.debian.org/debian trixie-updates main contrib
deb http://security.debian.org/debian-security trixie-security main contrib

Modificare anche:

nano /etc/apt/sources.list.d/pve-install-repo.list

E impostare:

deb http://download.proxmox.com/debian/pve trixie pve-no-subscription

(oppure in /etc/apt/sources.list.d/pve-enterprise.list impostare deb https://enterprise.proxmox.com/debian/pve trixie pve-enterprise – se si ha una licenza enterprise).

In questo modo si aggiornano le voci relative a Debian Bookworm con quelle di Proxmox VE 9 (basato su Trixie)

Durante la fase di aggiornamento (dist-upgrade), presta attenzione alle richieste in prompt, in particolare quelle relative a file di configurazione modificati.

4. Verifiche finali post-upgrade

Una volta riavviato il nodo, verifica:

  • Versioni Proxmox, Debian e Kernel con:
  • Che tutti i servizi Proxmox siano attivi e senza errori:
  • Che le VM e i container siano avviabili.

Dopo l’aggiornamento da Proxmox VE 8 (Debian 12) a Proxmox VE 9 (Debian 13), alcuni utenti hanno riscontrato il mancato avvio di container (CT) o VM.
L’analisi ha evidenziato che in Debian 13:

Se l’IPv6 configurato non è raggiungibile o non ha il routing corretto, i servizi all’interno dei container possono andare in timeout durante la fase di avvio, impedendone il boot.

Verifica l’intera configurazione delle interfacce di rete:

oppure

Controlla anche la configurazione di rete dentro il file interfaces: /etc/network/interfaces

Se si preferisce dare priorità a IPv4, decommentare in /etc/gai.conf la riga:

precedence ::ffff:0:0/96 100

e salvare il file.

Ricaricare la configurazione:

Riavviare il container o la VM:

Suggerimento: subito dopo l’upgrade, testare l’avvio di almeno una VM e un CT per verificare la piena funzionalità della rete e della risoluzione DNS.

Riepilogo

1. Preparazione prima dell’aggiornamento

Prima di eseguire l’upgrade, è fondamentale:

  • Fare un backup completo di tutte le VM/CT.
  • Annotare eventuali configurazioni personalizzate in /etc/network/interfaces, /etc/gai.conf, /etc/pve, e altre aree di rete.
  • Aggiornare il sistema all’ultima release minore 8.x.
  • Verificare tramite il tool pve8to9 la compatibilità e i problemi che potrebbero emergere durante l’upgrade.
  • Riavviare per assicurarsi che tutto funzioni correttamente prima di procedere.

2. Modifica dei repository e Aggiornamento a Proxmox VE 9

Modificare i file dei repository di Proxmox per passare dalla versione 8 alla 9 e aggiornare la distribuzione.

3. Test post-aggiornamento

Nota importante (per esperienza diretta):
Dopo l’aggiornamento, è fondamentale testare immediatamente l’avvio di tutte le VM e CT listale con: qm list e/o pct list e provane l’avvio con: qm start <VMID> e/o pct start <CTID>.

Nel mio caso, la mancata verifica subito dopo l’aggiornamento ha nascosto un problema che avrebbe potuto essere scoperto prima.

5. Problema post-aggiornamento: ping su IPv6 e CT che non si avviano

Dopo l’aggiornamento a PVE 9, ho notato due comportamenti anomali:

  1. Un semplice ping www.google.it tentava la connessione via IPv6, che però non rispondeva, causando tempi di attesa.
  2. Alcuni container LXC fallivano l’avvio con pct start <CTID>.

Diagnosi IPv6

Test iniziali:

ping www.google.it # tentava IPv6 → 100% packet loss
ping6 <IPv6_Google> # 100% packet loss
ping <IPv4_Google> # OK

Il comportamento era dovuto al fatto che /etc/gai.conf non era configurato per dare priorità all’IPv4 (vedi precedence ::ffff:0:0/96 100) e che la classe ipv6 non era routed su nessuna delle interfacce di rete. Sorprendentemente, dopo aver risolto il problema di rete, i container LXC hanno ripreso ad avviarsi correttamente. Molto probabilmente il problema di avvio era legato a tentativi falliti di collegamento IPv6 durante l’inizializzazione del container.

Conclusioni

L’aggiornamento da Proxmox 8.x a 9.x richiede una corretta preparazione, un’attenta gestione dei backup e una verifica puntuale delle modifiche ai file di configurazione. Seguendo questa guida puoi affrontare la procedura in modo sicuro e affidabile, mantenendo la tua infrastruttura sempre aggiornata.

Considerazioni finali

  • È importante testare subito l’avvio delle VM/CT dopo un aggiornamento.
  • In Debian 12 con PVE 8, la riga in gai.conf era già decommentata, mentre in Debian 13 con PVE 9 potrebbe essere commentata di default.
  • Se si nota che ping dominio punta a IPv6 e questo non risponde, la priorità IPv4 deve essere ripristinata.
  • Alcuni problemi apparentemente “misteriosi” (come l’avvio fallito di CT) possono derivare da questioni di rete e non direttamente da errori di Proxmox.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back To Top