Bonjour
Petit casse tête du dimanche matin !
Sur un serveur LAMP à base de Debian10 (à jour en version 10.9),
j'ai noté des lenteurs et le syslog est sans équivoque :
[4958833.739887] EXT4-fs warning (device sda3):
ext4_dx_add_entry:2258: Directory (ino: 18612230) index full, reach
max htree level :2
[4958833.739889] EXT4-fs warning (device sda3):
ext4_dx_add_entry:2262: Large directory feature is not enabled on
this filesystem
Après analyse, je ne dépasse pas le nombre max d'inodes du système
de fichier (j'en suis à 9% d'utilisé), par contre, le répertoire
/var/lib/php/sessions/ contient ....56 781 542 fichiers
J'ai lancé hier soir un : find . -cmin +30 | xargs rm;
Mais après plusieurs heures la commande échoue avec "trop
d'arguments"
Bref ce matin, il y a deux heures, je tente une nouvelle approche :
rsync -a --delete /tmp/empty/ /var/lib/php/sessions/
avec bien sur /tmp/empty qui est vide
Mais après deux heures de fonctionnement, je n'ai aucun retour de la
commande !
Du coup connaissez vous une méthode "rapide" pour effacer plusieurs
millions de fichiers d'un répertoire !
PS : Par contre, je ne comprend pas la présence de ses fichiers, car
j'ai bien un cron qui se lance toutes les demi-heures pour supprimer
les sessions. Va falloir que j'élucide ce mystère !