Erorre EFI no space left on node proxmox

# Procedura adattata al mio nodo Proxmox per pulizia ESP e fix kernel

## 1. Verificare l’UUID della ESP
cat /etc/kernel/proxmox-boot-uuids
# Output nel mio caso:
# 67D6-E50C

## 2. Verificare quale device corrisponde all’UUID
ls -al /dev/disk/by-uuid/67D6-E50C
# Output nel mio caso:
# /dev/disk/by-uuid/67D6-E50C -> ../../nvme0n1p2
# La mia ESP è quindi /dev/nvme0n1p2

## 3. Montare manualmente la ESP
mkdir /tmp/myesp
mount /dev/nvme0n1p2 /tmp/myesp

## 4. Elencare i kernel presenti nella ESP
ll /tmp/myesp/*/*
# Qui individuo le directory dei kernel vecchi da rimuovere:
# /tmp/myesp/.../5.15.108-1-pve
# /tmp/myesp/.../6.2.16-5-pve

## 5. Rimuovere SOLO i kernel vecchi
rm -rf /tmp/myesp/*/*/5.15.108-1-pve
rm -rf /tmp/myesp/*/*/6.2.16-5-pve

## 6. Smontare la ESP
umount /tmp/myesp

## 7. Riparare dpkg e completare l’installazione del kernel
apt-get -f install

Eliminazione manuale (riveduta)

###############################################
# SEQUENZA CORRETTA PULIZIA ESP + RIMOZIONE KERNEL 6.x
# Adattata ESATTAMENTE a ciò che ha scritto l’utente
###############################################

echo "=== 1) Identifica ESP ==="
cat /etc/kernel/proxmox-boot-uuids
ls -al /dev/disk/by-uuid/B130-7F39   # -> ../../sda2

echo "=== 2) Monta ESP ==="
mkdir -p /tmp/myesp
mount /dev/sda2 /tmp/myesp

echo "=== 3) Elenca kernel presenti nell'ESP ==="
ls -l /tmp/myesp

echo "=== 4) Cancella TUTTI i kernel vecchi (serie 6.x) ==="
rm -f /tmp/myesp/initrd.img-6*
rm -f /tmp/myesp/vmlinuz-6*

echo "=== 5) Verifica che NON ci siano più file 6.x ==="
ls -l /tmp/myesp

echo "=== 6) Controlla spazio ESP ==="
df -h /tmp/myesp
du -ah /tmp/myesp

echo "=== 7) Smonta ESP ==="
umount /tmp/myesp

echo "=== 8) Ripara dpkg se necessario ==="
apt-get -f install

echo "=== 9) Rimuovi i kernel 6.x ==="
apt purge proxmox-kernel-6.*

echo "=== 10) Verifica kernel installati ==="
dpkg -l | grep proxmox-kernel

echo "=== 11) Verifica boot configuration ==="
proxmox-boot-tool status

echo "=== COMPLETATO ==="

🔥 Comandi di Amministrazione Linux ↔ macOS — La Tabella Definitiva per Dominare Ogni Sistema

FunzioneLinuxmacOSNote
Gestione Servizi
Avviare un serviziosystemctl start nomelaunchctl start nomemacOS usa launchd
Fermare un serviziosystemctl stop nomelaunchctl stop nomeOllama: launchctl stop io.ollama
Riavviare un serviziosystemctl restart nomeStop + StartmacOS non ha restart diretto
Stato serviziosystemctl status nomelaunchctl print system/nomeEsempio: launchctl print system/io.ollama
Abilitare all’avviosystemctl enable nomeAutomatico se .plist presentemacOS non ha “enable”
Disabilitare all’avviosystemctl disable nomelaunchctl unload /Library/LaunchDaemons/nome.plistOppure rimuovere il .plist
Processi e Sistema
Lista processips auxps auxUguale
Kill processokill -9 PIDkill -9 PIDUguale
Monitor risorsehtoptophtop installabile via brew
File System
Spazio dischidf -hdf -hUguale
Spazio directorydu -sh *du -sh *Uguale
Permessichmod 755 filechmod 755 fileUguale
Proprietariochown user:group filechown user:group fileUguale
Rete
IP configurazioneip aifconfigmacOS non ha “ip”
Routingip routenetstat -rnUguale
Pingping -c 4 hostping -c 4 hostUguale
Traceroutetraceroute hosttraceroute hostUguale
DNS lookupdig dominiodig dominioUguale
Flush DNSN/Asudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
macOS ha DNS aggressivo
ARP tablearp -narp -nUguale
Netcatnc -lvp 4444nc -lvp 4444Perfetto per test porte
Test porta TCPnc -zv host 22nc -zv host 22Uguale
TCPDumptcpdump -i eth0tcpdump -i en0Interfacce diverse
Firewall
Regole firewalliptables -LN/AmacOS usa Application Firewall
NATiptables -t nat -LN/AmacOS non espone NAT via CLI

Replica ZFS in Proxmox: perché lo spazio su disco sembra “esplodere”?

Molti utenti che iniziano a sperimentare la replica ZFS in ambienti Proxmox si trovano davanti a una situazione curiosa: una VM da 700 GB sembra occupare oltre 1,2 TB di spazio su ogni nodo. Ma come è possibile? In questo articolo analizziamo le cause reali, sfatiamo alcuni miti e offriamo strumenti pratici per monitorare e ottimizzare lo spazio.

🧠 Cos’è la replica ZFS in Proxmox?

La replica ZFS in Proxmox è un meccanismo che consente di copiare i dischi virtuali (vDisks) di una VM da un nodo a un altro, sfruttando le potenzialità di ZFS:

  • Replica incrementale basata su snapshot temporanei
  • Trasferimento solo dei blocchi modificati
  • Nessuna copia automatica del file .conf della VM (serve manualmente o via HA)

📦 Perché lo spazio occupato è maggiore della dimensione della VM?

1. Overhead ZFS

ZFS non memorizza solo i dati, ma anche:

  • Metadati per ogni blocco
  • Checksum per l’integrità
  • Struttura interna dei dataset
  • Intent log (ZIL) e cache (ARC/L2ARC)

Ogni disco virtuale è un dataset ZFS, quindi l’overhead si moltiplica.

2. Scritture reali vs spazio nominale

Una VM da 700 GB può scrivere molti più dati nel tempo (log, swap, file temporanei). ZFS conserva i blocchi modificati, anche se il file originale è stato cancellato.

3. Snapshot manuali

Se l’utente crea snapshot manuali e non li elimina, ZFS conserva i blocchi differenziali, aumentando lo spazio usato.

4. Snapshot di replica

Proxmox crea snapshot temporanei per la replica, con nomi tipo:

__replicate_<VMID>-<replicaID>_<timestamp>__

Questi snapshot non vengono conservati a lungo, ma se la replica è frequente o fallisce, possono accumularsi temporaneamente.

5. Compressione inefficace

Se ZFS ha compression=off o i dati sono poco compressibili (es. video, immagini), lo spazio occupato sarà vicino al reale.

🔍 Come analizzare lo spazio occupato

Ecco alcuni comandi utili da eseguire via terminale:

zfs get compression,compressratio rpool/data/subvol-100-disk-0

Verifica se la compressione è attiva e quanto è efficace.

zfs list -o name,used,refer,mountpoint

Confronta lo spazio totale usato con quello referenziato.

zfs get usedbysnapshots rpool/data/subvol-100-disk-0

Controlla quanto spazio è occupato dagli snapshot.

zfs list -t snapshot

Visualizza tutti gli snapshot attivi.

🧊 QCOW2 vs RAW: impatto sullo spazio

FormatoTipoSpazio inizialeSnapshotPerformance
QCOW2ThinSolo spazio usatoBuona
RAWThickSpazio pienoOttima

Su ZFS, anche i dischi RAW possono essere “thin” grazie alla compressione e ai blocchi sparsi, ma QCOW2 è nativamente più flessibile.

✅ Conclusione

Se vedi uno spazio ZFS occupato superiore alla dimensione della VM, non è un bug: è il risultato di come ZFS gestisce i dati, la replica e la protezione. Per tenere sotto controllo lo spazio:

  • Monitora gli snapshot manuali
  • Verifica la compressione
  • Analizza i blocchi modificati
  • Evita di duplicare VM con ID diversi che puntano agli stessi dischi

Rocky limux Join AD 2008

Esattamente 2 anni orsono , Red Hat divulgò la notizia che avrebbe cessato lo sviluppo di CentOS , ponendo lo stato di fatto che tale sistema era giunto in EOL .

Personalmente ho iniziato a cercare delle alternative e quindi tra queste ho optato per la distro “Rocky Linux” , compatibile con sistemi Red Hat . Questa offre la potenza e la stabilità in contesti di produzione server e workstation davvero apprezzabili . Ho eseguito l’installazione di tale distro su un sistema cluster Proxmox , che tra l’altro , aggiungo , che ho dovuto apportare piccole modifiche nella creazione di tale VM , in quanto si presentavano continui Kernel Panic al boot .

Le modifiche anzi la modifica necessaria per l’avvio di tale sistema , sta nel cambiare il default della cpu KVM in host CPU , con l’opzione CPU MAX per un contesto cluster . Fatto questo , la distro si avvia regolarmente senza alcun problema di sorta .

Avendo una rete gestita da un server Linux con servizi AD ( foresta 2008 ) elenco qui a seguire i passi necessar per l’accredito al dominio AD :

In primis , occorre entrare in console del sistema e procedere all’installazione dei pacchetti essenziali per effettuare il join su AD .

sudo dnf install realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
sudo realm join ad.mycompany.local
sudo update-crypto-policies --set DEFAULT:AD-SUPPORT

Bene , premessa a quanto scritto do per scontato che la date e l’ora di sistema sia corretti e che il resolv.conf punti correttmente al server AD con relativo search .

search internal2.lan
nameserver 192.168.3.123 

Eseguire la procedura classica di join tramite il comando:

realm join -u administartor ad.internal2.lan

Ecco a seguire il file sssd.conf modificato e funzionante .

[sssd]
domains = ad.internal2.lan
config_file_version = 2
services = nss, pam, ssh
default_domain_suffix = ad.internal2.lan
[nss]

homedir_substring = /home

[domain/ad.internal2.lan]

ad_gpo_access_control = permissive krb5_store_password_if_offline = True cache_credentials = True krb5_realm = AD.INTERNAL2.LAN realmd_tags = manages-system joined-with-adcli id_provider = ad override_homedir = /home/%u fallback_homedir = /home/%u@%d override_shell = /bin/bash ad_domain = ad.internal2.lan use_fully_qualified_names = True ldap_id_mapping = True access_provider = ad default_shell = /bin/bash dyndns_update = true dyndns_refresh_interval = 43200 dyndns_update_ptr = true dyndns_ttl = 3600

Molto importante risulta la direttiva “override_shell= /bin/bash ” , in quanto senza questo parametro risulta impossibile avere la shell bash subito dopo aver effettuato il login in ssh .

Bene , eseguite tutte le operazioni sopra descritte , si è pronti per effettuare e provare le connessioni in ssh , chiaramente utilizzando utenti del dominio AD . Per chi volesse installare l’interfaccia GUI , personalmente ho utilizzato GDM e la suite Gnome , senza riscontrare alcun problema di sorta , tranne la sezione di autentica che può essere risolta aggiungendo “adm” allo user del dominio con il quale si effettua il collegamento RDP . Inoltre è importante modiifcare la sezione visudo inerente ai permessi o meglio all’uso del comando “SU” .