Proxmox Virtual Environment 9 ("Proxmox 9") è disponibile per il libero download, e tutte le installazioni che già montino Proxmox 8.x possono essere aggiornate direttamente, senza bisogno di reinstallare tutto quanto. Ma, per prevenire problemi e incompatibilità, è importante impartire i comandi giusti. Vediamo dunque come aggiornare subito da Proxmox 8 a Proxmox 9 nel modo corretto
La presente guida prevede che il nodo Proxmox che desideriamo aggiornare già monti una qualsiasi versione "8.x". I nodi con Proxmox 7.x o precedenti dovrebbero prima essere migrate fino a Proxmox 8, e poi da lì alla versione 9. Per maggiori informazioni, si veda la pagina "Upgrade from 7 to 8" della Wiki ufficiale.
Aggiornare a Proxmox 9, Passo "zero": Backup!
La procedura che vedremo di seguito consente di aggiornare direttamente da Proxmox 8 a Proxmox 9 senza perdita di dati. È piuttosto sicura, soprattutto se si aggiorna un nodo Proxmox che non sia stato modificato rispetto al default.
Ciò nonostante, è bene capire che stiamo svolgendo un intervento delicato: se qualcosa va storto, magari a causa di uno sbalzo di corrente, per l'esaurimento dello spazio su disco o di una qualsiasi altra circostanza imprevista, potremmo perdere l'accesso al nodo e/o alle virtual machine e container. È dunque imperativo fare un backup prima di cominciare.
Ci sono vari modi:
- la soluzione di riferimento è Proxmox Backup Server
- puoi catturare un'immagine completa del disco
- puoi usare la funzione di backup integrata (sezione
Backup
all'interno di ogni singola VM o container), ricordando poi di copiare il file generato su un disco esterno al nodo Proxmox
Aggiornare a Proxmox 9, Passo 1: SSH da Terminale
La documentazione ufficiale raccomanda esplicitamente di NON usare l'interfaccia grafica web o la "shell" via web per aggiornare a Proxmox 9.
Bisogna invece connettersi in SSH tramite il Terminale nativo del PC. Per la guida passo per passo:
» Leggi: SSH con Windows, Linux, Mac: la Guida Definitiva
Dovresti accedere al nodo Proxmox direttamente come utente "root". Così non fosse, impartisci sudo -s
una volta connesso.
Aggiornare a Proxmox 9, Passo 2: Verifica dello spazio su disco
La procedura di aggiornamento verso Proxmox 9 richiede che sulla partizione di sistema (quella sulla quale è installato Proxmox) siano disponibili almeno 5 GB di spazio libero (10 GB raccomandati). Per verificarlo:
- impartisci
df -h
- individua la riga il cui percorso termina con
pve-root
- verifica la colonna
Avail
Nello screenshot seguente, ad esempio, si vede che il mio nodo ha 6.3G
(gigabyte) di spazio libero. Sono superiori ai 5 GB indicati come requisito minimo, ma inferiore ai 10 GB raccomandati
Il modo più rapido di ricavare un po' di spazio è di cancellare eventuali immagini ISO utilizzate in precedenza per installare i sistemi operativi nelle VM e/o nei container (le potremo caricare nuovamente in seguito, se necessario). Allo scopo:
- accedi all'interfaccia web del tuo sistema con Proxmox
- espandi
Datacenter
- espandi il nodo che stai per aggiornare
- clicca sull'elemento denominato
local
- clicca
Immagini ISO
Presta attenzione al fatto che l'elemento da cliccare nella lista di sinistra si chiama local
e NON
. Se cliccherai su quello sbagliato, non troverai la sezione local-lvmImmagini ISO
Da qui, seleziona una o più immagini ISO e rimuovile
Verificando di nuovo lo spazio libero tramite df -h
da terminale dovresti notare subito la differenza.
Se ancora non basta, valuta di eliminare qualche vecchio backup di VM e container:
- accedi all'interfaccia web del tuo sistema con Proxmox
- espandi
Datacenter
- espandi il nodo che stai per aggiornare
- clicca su una VM o container
- clicca
Backup
Da qui, seleziona i backup che non ti servono più e rimuovili
Poi ripeti la procedura per tutte le VM e i container.
Aggiornare a Proxmox 9, Passo 3: Aggiornamento all'ultima versione 8.x
Procedi ora ad aggiornare la tua istanza corrente all'ultima versione stabile del ramo 8.x. Al momento in cui ho fatto l'upgrade del mio nodo Proxmox, si trattava della 8.4.14
.
Allo scopo, impartisci il seguente comando concatenato:
apt update && apt dist-upgrade -y && apt autoremove -y && reboot
Nota che proprio apt dist-upgrade
è il comando indicato nella documentazione ufficiale. Su Internet ho visto utenti consigliare altri comandi, ben più invasivi, che però rischiano di aggiornare la distribuzione Debian che sottende a Proxmox, creando un disallineamento fra i due componenti che potrebbe compromettere il servizio. È importante utilizzare solo lo specifico comando ufficiale appena indicato.
Al termine della procedura di aggiornamento, il nodo verrà riavviato automaticamente.
Potrai quindi verificare quale nuova versione sia installata:
- da interfaccia web: la versione corrente di Proxmox è indicata in alto
- da linea di comando: ti basta impartire
pveversion
Nello screenshot dimostrativo seguente, ad esempio, si legge che il nodo Proxmox monta la versione 8.3.5
Di nuovo: per aggiornare in sicurezza a Proxmox 9 è raccomandabile che il sistema monti la 8.4.14
o versione successiva del ramo 8.x.
Aggiornare a Proxmox 9, Passo 4: Eseguire pve8to9
Esegui ora il comando pve8to9
. Si tratta di un tool integrato che svolge svariati controlli di compatibilità, per poi evidenziare eventuali problemi, senza modificare nulla.
Nel mio caso, come vedi, sono state rilevate due problematiche relative al bootloader:
La prima, più "lieve", riporta:
WARN: Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it!
La soluzione è proprio quella di impartire il comando suggerito dal tool stesso e riavviare:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u && apt install --reinstall grub-efi-amd64 && reboot
Nel mio caso, non ho avuto alcun effetto collaterale: il sistema si è riavviato, ho eseguito nuovamente pve8to9
e il problema è sparito.
La seconda incompatibilità è critica:
FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages. Remove 'systemd-boot'
Il problema è documentato qui e, per risolverlo, è sufficiente impartire:
apt remove systemd-boot -y && reboot
Anche qui è filato tutto liscio. A riconferma: eseguendo nuovamente pve8to9
, il problema è sparito.
In vero, c'è anche un suggerimento minore che è bene implementare (lo si nota appena, in quanto è scritto in bianco):
NOTICE: storage 'local-lvm' has guest volumes with autoactivation enabled
Fortunatamente, anche qui basta eseguire il comando suggerito per risolvere:
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation -y && reboot
Queste erano le criticità segnalate sul mio nodo (la seconda e la terza, in particolare, dovrebbero essere comuni a tutte le istanze con Proxmox 8). È però importante esaminare in modo specifico le segnalazioni emerse sul nodo che stiamo aggiornando prima di proseguire.
Aggiornare a Proxmox 9, Passo 5: Eseguire pve8to9 --full
Dopo aver esaurito le segnalazioni precedenti, è necessario ri-eseguire lo stesso comando con un'opzione: pve8to9 --full
. Questo esegue un'altra serie di verifiche di compatibilità.
Sul mio nodo non sono emerse ulteriori problematiche. In caso contrario, è necessario risolverle utilizzando i comandi consigliati dal tool stesso.
Aggiornare a Proxmox 9, Passo 6: Arrestare VM e container
Se sul nodo sono in esecuzione container e VM, pve8to9 lo segnala e invita ad arrestarli. Questo è sicuramente il momento giusto di farlo:
- accedi all'interfaccia web del tuo sistema con Proxmox
- espandi
Datacenter
- seleziona il nodo che stai per aggiornare
- clicca sul pulsante
Bulk actions
- seleziona
Bulk shutdown
Ti si aprirà così una finestra di dialogo dalla quale vorrai spuntare tutti i tuoi container e VM, per poi cliccare Shutdown
Aggiornare a Proxmox 9, Passo 7: Da Debian "Bookworm" a "Trixie"
Procediamo ora modificando i riferimenti dei repository utilizzati dalla distribuzione Linux che sottende a Proxmox. Nello specifico: poiché Proxmox 8 era basata su Debian 12 (nome in codice: Bookworm) mentre con Proxmox 9 si passa a Debian 13 (Trixie) dobbiamo sostituire i due nomi:
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
Aggiornare a Proxmox 9, Passo 8: Eliminare i repository di Proxmox 8
Fra un attimo andremo a installare i repository dai quali ottenere Proxmox 9. Prima di farlo, però, eliminiamo quelli relativi a Proxmox 8:
rm -f /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-install-repo.list
Non è finita, perché i vecchi repository hanno riferimenti anche in altri file, che dobbiamo epurare.
Impartiamo ora grep -Ri 'download.proxmox\|enterprise.proxmox' /etc/apt
per cercare quali file stanno usando i repository di Proxmox 8
Il file principale, nel mio caso, è /etc/apt/sources.list
. Apriamolo dunque in modifica:
nano /etc/apt/sources.list
» Leggi anche: Guida: modificare i file di configurazione di Linux Ubuntu/CentOS da terminale è facile con "nano" (alternativa a "vi")
Da qui, dobbiamo cancellare le righe che contengono i riferimenti a download.proxmox.com
e enterprise.proxmox.com
Terminata la modifica, battere Ctrl+O
seguito da Invio
per salvare e Ctrl+X
per uscire.
Ripetere l'operazione per tutti i file nei quali sono stati trovati riferimenti alla vecchia versione.
Aggiornare a Proxmox 9, Passo 9: Aggiungere i repository di Proxmox 9
La maggior parte di noi vorrà utilizzare il repository gratuito di Proxmox. Per "agganciarlo", scaricare il file preposto:
apt install curl -y && curl -Lo /etc/apt/sources.list.d/proxmox.sources https://turbolab.it/scarica/493
Chi invece utilizzasse il repository "Enterprise" (sottoscrizione a pagamento), deve aggiungere il relativo repository dedicato. Lo stesso dicasi per chi ha attivato Ceph. Le istruzioni sono alla pagina ufficiale.
Aggiornare a Proxmox 9, Passo 10: Aggiornare!
Finalmente siamo pronti ad aggiornare per davvero! Allo scopo, basta impartire lo stesso comando già utilizzato in precedenza:
apt update && apt dist-upgrade -y && apt autoremove -y && reboot
La differenza sta nel fatto che, poiché abbiamo sostituito i repository e indicato quelli delle nuove versioni di Debian e Proxmox, verrà effettuato l'avanzamento di versione a Proxmox 9
Ribadisco ancora una volta che apt dist-upgrade
è l'unico comando corretto da utilizzare.
Durante l'upgrade saremo chiamati a confermare alcune sovrascritture, riavvii ecc.
Se non hai motivi forti per scegliere diversamente, puoi seguire questo prospetto:
/etc/issue
: batteren
, poiInvio
Restart services during package upgrades without asking?
: selezionareYes
con le frecce direzionali, poi battereInvio
/etc/lvm/lvm.conf
: batterey
, poiInvio
/etc/ssh/sshd_config
: batterey
, poiInvio
Aggiornare a Proxmox 9, Passo 11: Verificare la versione
Una volta che l'upgrade è terminato e il sistema è stato riavviato, aprire nuovamente la console web o il collegamento SSH e impartire lo stesso comando pveversion
già usato in precedenza per verificare quale versione di Proxmox sia in uso.
Nello screenshot seguente, si vede che il sistema in questione è stato aggiornato a Proxmox 9.0.11
Aggiornare a Proxmox 9, Passo 12: Aggiornare il formato dei repository
Ora che abbiamo il nuovo Debian possiamo aggiornare il formato utilizzato dai file dei repository tramite questo semplice comando:
apt modernize-sources -y
Aggiornare a Proxmox 9, Passo 13: Avviare VM e container
Non resta ora altro da fare se non accedere all'interfaccia web e ri-avviare manualmente le varie virtual machine e container che non fossero state configurate per essere avviate automaticamente al boot di Proxmox.
Per evitare questa incombenza in futuro, è sufficiente:
- selezionare la virtual machine o il container che si desidera auto-avviare al boot
- cliccare
Opzioni
- fare doppio click su
Avvia al boot
- spuntare la casella
- cliccare
OK
D'ora in avanti, il container o la VM in questione verrà avviato automaticamente ad ogni accensione del nodo Proxmox.
Esperienza personale
In questa guida abbiamo visto come aggiornare un nodo da Proxmox 8 a Proxmox 9.
Ho eseguito la procedura sul mio nodo mano a mano che scrivevo l'articolo, quindi posso confermare in prima persona la corretta riuscita dell'upgrade.
Mi sarebbe piaciuto che la modifica dei repository fosse automatica, invece di dover intervenire manualmente, ma capisco che possa essere oltremodo complicato gestire tutte le possibili casistiche.
L'altro aspetto delicato è la corretta verifica dei requisiti, correggendo una alla volta le varie criticità segnalate dal comando pve8to9
. Leggendo con attenzione i messaggi e le soluzioni proposte, comunque, dovrebbe essere cosa semplice.
In chiusura, ribadisco l'importanza di realizzare preventivamente un backup: nel mio caso tutto è filato liscio, ma non si sa mai!
Fonte: Upgrade from 8 to 9 (Proxmox wiki)