Linux tiene espacio en disco pero muestra un uso de inodo insuficiente en Linux

Cómo lidiar con el alto uso de inodos en Linux

Recibí una alarma de monitoreo hace unos días, diciendo que el espacio del nodo Inode es insuficiente. No he tratado este tipo de problema antes, por lo que registraré el proceso de procesamiento para referencia futura.

Una alta tasa de uso de Inode no afectará el funcionamiento normal del sistema y la creación de nuevos archivos, pero cuando la tasa de uso alcanza el 100%, aunque el disco aún tenga espacio, no se podrán crear nuevos archivos.

Esto se debe a que cuando el archivo se almacena en el disco, se utilizan tanto el inodo como el bloque. El inodo almacena información de atributos del archivo, incluido el nombre del archivo, el tamaño, el permiso, la hora, la ubicación de almacenamiento, etc., mientras que los datos reales se almacenan en el disco. bloquear.

Entonces, si el inodo se agota, no se pueden crear nuevos archivos, incluso si el disco todavía tiene espacio.

El motivo de esta situación suele ser que hay demasiados archivos pequeños en el sistema, que ocupan una gran cantidad de nodos de inodo. Busque el directorio correspondiente y elimine algunos archivos.

Nota: Los siguientes resultados de ejecución no son valores de alarma reales, sino solo ejemplos de operación.

1. Ver partición de disco y uso de inodos

df -h #Ver el uso de la partición del disco 
df -ih #Ver el uso del nodo inode

2. Encuentra y elimina archivos temporales

ll -rt /tmp | wc -l 
find /tmp -type f -exec rm {} \;

3. Eliminar archivos de 0 bytes

encuentra /home -type f -size 0 -exec rm {} \;

4. Busque el directorio que contiene una gran cantidad de archivos y elimínelos.

para i en /*; hacer eco $i; encuentra $i |wc -l; hecho 
para i en /var/*; hacer eco $i; encuentra $i |wc -l; hecho

Existe una alta probabilidad de que haya una gran cantidad de archivos en /var/spool en el directorio /var, ingrese a este directorio para verlos

para i en /var/spool/*; hacer eco $i; encuentra $i |wc -l; hecho

 Encontró que hay muchos archivos en el directorio /var/spool/postfix/, continúe ingresando al directorio para verlos

 Explicación: tantos archivos generados en /var/spool/postfix/ son causados ​​por la tarea de tiempo crontab. Después de ejecutar la tarea de tiempo, se envía un correo electrónico para informar a la persona de contacto, pero si el envío falla, se generará bajo postfix, por lo que se generan muchos archivos.Archivos basura.

para i en /var/spool/postfix/*; hacer eco $i; encuentra $i |wc -l; hecho

 Se puede ver que los archivos se concentran principalmente en el directorio /var/spool/postfix/maildrop, solo ingrese este directorio para borrar

 Ejecute el comando rm para eliminar directamente, puede informar un error de que la lista de parámetros es demasiado larga, puede eliminarla de las siguientes maneras

ls | xargs -n 500 rm -rf #-n indica el número de parámetros pasados ​​a la vez

Después de la ejecución, use df -ih para verificar el uso del nodo Inode nuevamente y descubra que ha vuelto a la normalidad. 

Categoría:  Linux

Supongo que te gusta

Origin blog.csdn.net/zhongguowangzhan/article/details/128433936
Recomendado
Clasificación