Troubleshooting Disk
Spațiul pe disc este raportat ca fiind 100% plin de către df, dar du nu găsește fișiere mari (Deleted Open Files / Ghost Space)
Ștergi un fișier imens de log, dar comanda "df -h" arată în continuare că discul este plin. Acest lucru se întâmplă deoarece un proces (Nginx, Apache, un serviciu Java) are încă acel fișier deschis.
Identificare
# lsof +L1 # Caută fișierele șterse dar ținute blocate de procese active
# lsof | grep -i deleted # caută direct flagul "deleted"
Remediere
# systemctl restart <serviciu> # Repornire doar serviciul care ține fișierul blocat (vezi PID-ul din "lsof"
# echo 0 > /proc/<PID>/fd/<FD> # Fără restart de serviciu. <PID> și <FD> sunt luate din output-ul comenzii "lsof"
"df -h" arată spațiu liber, dar sistemul spune "No space left on device" (Epuizare Inodes)
Sistemele de fișiere Linux (ext4, XFS) au o limită fixă de fișiere pe care le pot crea (numite inodes), indiferent de dimensiunea lor. Dacă un script creează milioane de fișiere mini (sesiuni de PHP, cache, e-mailuri), discul se blochează complet chiar dacă mai ai sute de GB liberi.
Identificare
# df -i # Verifică utilizarea procentuală a tabelului de Inodes
# find /cale/catre/mount -xdev -type d -exec sh -c 'echo "$(find "$1" -type f | wc -l) $1"' _ {} \; | sort -n -r | head -n 15 # Cauți directorul care conține cele mai multe fișiere
Remediere
# rm -rfv /cale/catre/dir/* # De obicei dă erori de tipul "Argument list too long"
# find /cale/catre/dir -type f -delete # Rezolvare rapidă şi corectă
Mount blocat sau înghețat (NFS / CIFS Network Storage Timeout)
Un storage extern conectat prin rețea (NFS sau Samba/CIFS) își pierde conexiunea. În acel moment, orice comandă de sistem care atinge acel folder va îngheța complet terminalul.
Identificare
# dmesg -T | grep -iE 'nfs|cifs|timeout|server.*not answering' # Verifică logurile de kernel pentru timeout-uri de rețea. Procesele sunt in starea "D"
Remediere
# umount -f -l /cale/catre/mount_blocat # "-f" (Force) Forțează închiderea conexiunii. "-l" (Lazy) Deconectează instant folderul din sistem