Come aggiornare Proxmox VE 7 a Proxmox VE 8
Questa guida descrive l'aggiornamento in-place di un nodo Proxmox VE 7 a Proxmox VE 8 con apt. L'aggiornamento porta il sistema da Debian 11 Bullseye a Debian 12 Bookworm e sostituisce il kernel 5.15 con uno più recente. Pianificate un periodo di inattività: il nodo deve essere riavviato almeno una volta e, di solito, due.
Proxmox VE 7 ha raggiunto la fine del supporto (EOL) alla fine di luglio 2024 e Proxmox VE 8 ha raggiunto la fine del supporto il 31 agosto 2026. L'aggiornamento alla versione 8 è un passaggio intermedio obbligatorio, ma non vi lascia su una versione supportata. Al termine di questa guida, pianificate il successivo aggiornamento a Proxmox VE 9.
Prima di iniziare
Requisiti
Verificate quanto segue prima di toccare qualsiasi repository:
- tutti i nodi eseguono gli ultimi pacchetti di Proxmox VE 7.4 (
pve-manager7.4-15 o successivo); - almeno 5 GB di spazio libero sul file system root;
- il cluster è in buone condizioni, se il nodo fa parte di un cluster;
- avete accesso al server indipendente dalla sua rete, ad esempio tramite IP-KVM;
- esiste un backup valido e testato di tutte le macchine virtuali e di tutti i container.
Verificate lo spazio libero sul file system root:
df -h /
Eseguite il backup di ogni macchina virtuale e di ogni container prima dell'aggiornamento e accertatevi che i backup possano essere ripristinati. Un aggiornamento di versione maggiore sostituisce il sistema di base, il kernel e i pacchetti del bootloader. Se qualcosa va storto, il ripristino è l'unico modo affidabile per tornare indietro. Conservate i backup al di fuori del nodo da aggiornare, ad esempio su uno storage separato o in INTROSERV Backup Service. Copiate inoltre /etc/pve, /etc/network/interfaces, /etc/passwd e /etc/resolv.conf.
Se avete un cluster Ceph iperconvergente, prima di iniziare deve eseguire Ceph 17.2 Quincy. Controllate la versione nel pannello Ceph di ogni nodo. Se il cluster esegue Octopus o Pacific, aggiornate prima Ceph a Quincy e solo dopo proseguite con questa guida.
Se Proxmox Backup Server è installato sullo stesso host, aggiornatelo dalla versione 2 alla versione 3 prima di aggiornare Proxmox VE. Seguite la guida ufficiale all'aggiornamento di Proxmox Backup Server da 2 a 3.
Come connettersi al nodo
Non eseguite l'aggiornamento di versione maggiore dalla Shell (console) dell'interfaccia web di Proxmox VE. La console web è erogata da servizi di Proxmox VE che vengono riavviati durante l'aggiornamento e la sessione si interromperà a metà del processo.
Connettetevi tramite SSH o IP-KVM. Con SSH, avviate una sessione tmux in modo che l'aggiornamento prosegua se la connessione cade:
apt update apt install tmux tmux new -s upgrade
Se la connessione viene persa, riconnettetevi e tornate alla sessione:
tmux attach -t upgrade
L'opzione più sicura è IP-KVM, perché continua a funzionare anche se la rete del nodo non si attiva dopo il riavvio. Per connettersi a un server dedicato tramite IP-KVM, consultate Connessione a IDRAC KVM oppure Guida all'accesso IP-KVM tramite OpenVPN (server DC2, DC3).
Macchine virtuali e container sul nodo
Arrestate le macchine virtuali e i container sul nodo oppure migrateli su un altro nodo se devono restare in esecuzione. La migrazione da una versione precedente di Proxmox VE a una più recente è supportata. La migrazione da una versione più recente a una precedente non è supportata.
Se il nodo fa parte di un cluster, aggiornate i nodi uno alla volta e ponete ciascun nodo in modalità manutenzione prima di aggiornarlo. La modalità manutenzione sposta i guest gestiti da HA su altri nodi: ha-manager crm-command node-maintenance enable <node>. I guest non gestiti da HA non vengono spostati automaticamente, quindi migrateli o arrestateli manualmente. Un riavvio non disattiva la modalità manutenzione. Dopo l'aggiornamento e il riavvio del nodo, disattivatela manualmente: ha-manager crm-command node-maintenance disable <node>.
Passaggio 1. Aggiornare Proxmox VE 7 alla versione 7.4
Lo strumento di verifica pve7to8 e un percorso di aggiornamento sicuro sono disponibili solo con gli ultimi pacchetti 7.4. Potete installare gli aggiornamenti nell'interfaccia web o dalla riga di comando.
Configurare i repository
Aprite il nodo nell'interfaccia web e andate in Updates → Repositories.
Se non avete un abbonamento a pagamento, selezionate il repository pve-enterprise e fate clic su Disable. Questo repository richiede una chiave di abbonamento.

Fate clic su Add, selezionate No-Subscription e fate clic su Add nella finestra di dialogo.

Se avete un abbonamento a pagamento, mantenete il repository pve-enterprise e saltate questa parte.
Installare gli aggiornamenti
Andate in Updates e fate clic su Refresh. Attendete che l'elenco dei pacchetti sia aggiornato.

Fate clic su Upgrade. Si apre una finestra di terminale. Quando viene chiesto se continuare, digitate Y e premete Invio.

Attendete il termine del processo e non chiudete la finestra. Alla fine, l'output chiede di riavviare il nodo.

Lo stesso aggiornamento dalla riga di comando. Senza abbonamento a pagamento, disattivate prima il repository enterprise e aggiungete quello no-subscription, come nell'interfaccia web qui sopra:
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
Quindi installate gli aggiornamenti:
apt update apt dist-upgrade
Debian 11 non è più supportata e i suoi pacchetti potrebbero essere spostati dai mirror regolari a archive.debian.org. Se apt update restituisce errori 404 per bullseye, sostituite le righe Debian in /etc/apt/sources.list con:
deb http://archive.debian.org/debian bullseye main contrib deb http://archive.debian.org/debian-security bullseye-security main contrib
Queste righe servono solo per completare il Passaggio 1. Nel Passaggio 3, sostituitele con le righe Bookworm mostrate lì invece di eseguire sed.
Riavviare e verificare la versione
Riavviate il nodo:
reboot
Dopo l'avvio del nodo, aggiornate la pagina del browser e controllate la versione in Summary del nodo, oppure eseguite:
pveversion
L'output deve mostrare 7.4-15 o successivo.

Passaggio 2. Eseguire lo strumento di verifica pve7to8
Proxmox VE 7.4 include lo script pve7to8. Esso si limita a controllare il sistema e a segnalare i problemi; non modifica nulla. Eseguitelo con tutti i controlli abilitati:
pve7to8 --full

Esaminate il risultato:
- le voci
FAILdevono essere risolte prima dell'aggiornamento; - le voci
WARNdevono essere lette e valutate, anche se non bloccano l'aggiornamento; - dopo ogni correzione, eseguite di nuovo lo script per confermare che il problema sia risolto.
Prima di continuare, rimuovete pacchetti, plugin e moduli di storage di terze parti non supportati da Proxmox VE 8. Un plugin di storage di terze parti deve avere una versione compatibile con Proxmox VE 8; in caso contrario, attendete che il suo autore ne rilasci una.
Se Proxmox VE è stato installato su un sistema Debian 11 puro e non dall'ISO di Proxmox VE, verificate se il pacchetto linux-image-amd64 è installato. Va in conflitto con i pacchetti kernel di Proxmox VE e può indurre apt a tentare di rimuovere il pacchetto proxmox-ve. Rimuovetelo prima di continuare: apt remove linux-image-amd64.
Passaggio 3. Passare i repository a Bookworm
Repository Debian
Sostituite Bullseye con Bookworm nell'elenco delle sorgenti principale:
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Se nel Passaggio 1 siete passati a archive.debian.org, sed farebbe puntare le righe a un percorso Bookworm che non esiste nell'archivio. Sostituite invece il contenuto di /etc/apt/sources.list con le righe standard di Debian 12:
deb http://deb.debian.org/debian bookworm main contrib deb http://deb.debian.org/debian bookworm-updates main contrib deb http://security.debian.org/debian-security bookworm-security main contrib
Poi verificate che non rimangano voci Bullseye in nessun file:
grep -r bullseye /etc/apt/sources.list /etc/apt/sources.list.d/
Se il comando trova delle righe, aggiornatele a Bookworm o commentatele con #. Rimuovete eventuali righe di backports: l'aggiornamento non è stato testato con pacchetti da backports.
Verificate inoltre che non vi siano pacchetti bloccati (held) o installati a metà. Entrambi i comandi devono restituire un output vuoto:
apt-mark showhold dpkg --audit
Repository Proxmox VE
Il nome del file del repository dipende da come è stato aggiunto il repository. Elencate prima i file:
ls /etc/apt/sources.list.d/
Senza abbonamento, aggiornate il file che contiene la riga pve-no-subscription. Su un sistema installato da ISO, di solito è pve-install-repo.list:
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
La riga corretta per Proxmox VE 8 senza abbonamento è:
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
Su alcuni sistemi la riga contiene anche [arch=amd64] dopo deb. Va bene, mantenetelo.
Assicuratevi che il repository enterprise sia disattivato: se esiste pve-enterprise.list, la sua riga deve essere commentata con #, come dopo averlo disattivato nel Passaggio 1.
Con un abbonamento a pagamento, scrivete il repository enterprise e assicuratevi che non rimanga attiva alcuna riga pve-no-subscription in altri file:
echo "deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
Repository Ceph
Saltate questa parte se Ceph non è installato sul nodo.
Con abbonamento a pagamento:
echo "deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise" > /etc/apt/sources.list.d/ceph.list
Senza abbonamento:
echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
Se apt update restituisce un errore 401 per il repository enterprise di Ceph, aggiornate l'abbonamento con pvesubscription update --force e riprovate.
Aggiornare l'indice dei pacchetti
apt update
L'output non deve contenere errori. Ogni riga deve puntare a bookworm.
Passaggio 4. Aggiornare il sistema a Proxmox VE 8
Avviate l'aggiornamento:
apt dist-upgrade
La durata dipende dalla velocità del disco root: pochi minuti su SSD, fino a un'ora o più su un HDD lento.
Richieste durante l'aggiornamento
Se all'inizio si apre una pagina con le note di rilascio, premete q per chiuderla e continuate.
Quando viene chiesto se riavviare automaticamente i servizi durante gli aggiornamenti dei pacchetti, selezionate Yes con i tasti freccia e premete Invio.

Richieste sui file di configurazione
Durante l'aggiornamento, apt chiede come procedere con i file di configurazione modificati sia da voi sia dal pacchetto. Premete D per vedere la differenza prima di rispondere. Risposte consigliate per i file più comuni:
/etc/issue: mantenete la vostra versione (N). Proxmox VE rigenera questo file all'avvio e influisce solo sulla schermata di login;/etc/lvm/lvm.conf: installate la versione del maintainer del pacchetto (Y) se non avete modificato il file voi stessi;/etc/apt/sources.list.d/pve-enterprise.list: seaptchiede di questo file, mantenete la vostra versione (N), altrimentiaptsovrascrive il repository configurato nel Passaggio 3;/etc/ssh/sshd_config: se non avete modificato il file, installate la versione del maintainer (Y), che sostituisce l'opzione obsoletaChallengeResponseAuthenticationconKbdInteractiveAuthentication. Se avete modificato voi stessi le impostazioni SSH, confrontate attentamente i file;/etc/default/grub: questa richiesta compare di solito solo se avete modificato il file, ad esempio per aggiungere parametri del kernel. Controllate la differenza; in caso di dubbio, mantenete la vostra versione (N).
Su un sistema che si avvia in modalità UEFI con root su LVM, dopo l'aggiornamento GRUB può non avviarsi con l'errore disk 'lvmid/...' not found. Su un sistema di questo tipo, installate il pacchetto GRUB corretto prima del riavvio:
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64
Eseguite questo comando sui sistemi UEFI che si avviano con GRUB, che è l'impostazione predefinita per le installazioni dall'ISO di Proxmox VE con root su LVM. Su un sistema con BIOS legacy non fa nulla. Saltatelo se root è su ZFS: tali sistemi si avviano tramite proxmox-boot-tool e non sono interessati.
Verificare il risultato
Quando apt dist-upgrade termina senza errori, eseguite di nuovo lo strumento di verifica:
pve7to8 --full
Prima del riavvio, lo strumento può mostrare voci WARN sul kernel in esecuzione e su LXCFS che usa ancora la vecchia libreria FUSE. È normale: entrambe scompaiono dopo il riavvio con il nuovo kernel nel Passaggio 5. Non devono esserci voci FAIL.

Passaggio 5. Riavviare con il nuovo kernel
Riavviate il nodo. È obbligatorio anche se su Proxmox VE 7 usavate già il kernel opzionale 6.2:
reboot
Su alcuni hardware il nuovo kernel può rinominare le interfacce di rete. Se dopo il riavvio il nodo non risponde in rete, connettetevi tramite IP-KVM, controllate i nomi attuali delle interfacce con ip link e aggiornateli in /etc/network/interfaces. Poi applicate la configurazione con ifreload -a.
Passaggio 6. Verificare il risultato
Svuotate la cache del browser oppure forzate il ricaricamento dell'interfaccia web con Ctrl+Shift+R (Cmd+Shift+R su macOS). Controllate la versione in Summary del nodo oppure con:
pveversion

Avviate le macchine virtuali e i container e verificate che funzionino. In un cluster, disattivate la modalità manutenzione sul nodo e proseguite con il nodo successivo, ripartendo dalla verifica dei requisiti.
I sistemi che si avviano in modalità UEFI tramite proxmox-boot-tool, di solito con root su ZFS e installati da ISO, dopo l'aggiornamento ricevono un avviso di pve7to8 sul pacchetto systemd-boot. Installate il pacchetto solo se lo strumento di verifica segnala questo avviso. Sugli altri sistemi non è necessario e il suo script di installazione può sostituire GRUB come bootloader.
Risoluzione dei problemi
L'aggiornamento vuole rimuovere proxmox-ve
Il messaggio W: (pve-apt-hook) You are attempting to remove the meta-package 'proxmox-ve'! significa che qualche repository è ancora configurato per Bullseye o non esiste per Bookworm. Controllate tutti i file in /etc/apt/sources.list.d/, correggete i repository ed eseguite di nuovo apt update. Non confermate la rimozione.
L'aggiornamento è stato interrotto
Se la connessione è caduta o l'aggiornamento si è fermato a metà, riconnettetevi alla sessione tmux oppure accedete di nuovo ed eseguite:
dpkg --configure -a apt -f install apt dist-upgrade
Errori di dipendenze per i pacchetti Ceph
Se apt dist-upgrade segnala dipendenze non soddisfatte per i pacchetti Ceph su un nodo senza Ceph, aggiungete il repository no-subscription di Ceph Quincy dal Passaggio 3 ed eseguite di nuovo apt update. Alcuni pacchetti di Proxmox VE possono richiederlo durante l'aggiornamento.
Il nodo non si avvia
Connettetevi tramite IP-KVM per vedere l'errore di avvio. Per i problemi con GRUB, consultate la pagina ufficiale Recover From Grub Failure.
Prossimi passi
Proxmox VE 8 non riceve più aggiornamenti. Pianificate l'aggiornamento a Proxmox VE 9 su Debian 13 Trixie, che segue la stessa procedura con lo strumento di verifica pve8to9.
Se preferite non eseguire in autonomia gli aggiornamenti di versione maggiore, gli specialisti di Amministrazione di sistema di INTROSERV possono pianificare ed eseguire l'aggiornamento per voi.