
Il y a quelque temps, ce site n'affichait plus aucun article nin commentaire. Bref, tout ce qui était en base de données ne s'affichait plus. Premier réflexe : redémarrer MySql. Et là c'est le drame, celui-ci ne veut plus redémarrer.
En lisant les logs, je lis ces 2 erreurs :
111023 0:06:08 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)
111023 0:06:08 [ERROR] Can't start server: can't create PID file: No space left on device
Et en effet, un df me donne :
Sys. de fichiers 1K-blocs Utilisé Dispo. Uti% Monté sur
rootfs 10403128 9882124 0 100% /
/dev/root 10403128 9882124 0 100% /
/dev/sda2 958137396 30036344 879813720 4% /home
/dev 1020096 0 1020096 0% /dev
Alors si après avoir tenté en vain de supprimer quelques fichiers (log, etc...) voici comment libérer de l'espace sur /dev/root.
Première chose : trouver ce qui plombe votre espace disque, notamment dans les fichiers supprimés mais toujours utilisés par plusieurs process :
#lsof | grep deleted
httpd 2029 root 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2031 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2032 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2033 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2034 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2035 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2036 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2037 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
httpd 2038 apache 2w REG 8,1 8848912384 25121 /var/log/httpd/error_log (deleted)
Pour libérer l'espace occupé par ces fichiers, il suffit de stopper le process qui l'utilise (httpd):
/etc/init.d/httpd stop
Arrêt de httpd : [ OK ]
On relance un lsof
#lsof | grep deleted
mysqld 5367 mysql 4u REG 8,1 0 368643 /tmp/ibSqRfIS (deleted)
mysqld 5367 mysql 5u REG 8,1 0 368644 /tmp/ibzF9oxi (deleted)
mysqld 5367 mysql 6u REG 8,1 0 368645 /tmp/ibQEizmI (deleted)
mysqld 5367 mysql 7u REG 8,1 0 368646 /tmp/ibvY5qc8 (deleted)
mysqld 5367 mysql 11u REG 8,1 0 368647 /tmp/ibCYDWmV (deleted)
#/etc/init.d/mysqld stop
Arrêt de mysqld : [ OK ]
#df
Sys. de fichiers 1K-blocs Utilisé Dispo. Uti% Monté sur
rootfs 10403128 1232300 8646540 13% /
/dev/root 10403128 1232300 8646540 13% /
/dev/sda2 958137396 30036344 879813720 4% /home
/dev 1020096 0 1020096 0% /dev
On n'oublie pas de redémarrer httpd et mysqld :
#/etc/init.d/httpd start
#/etc/init.d/mysqld start