Lo tengo unos 3 meses sin problemas, pero hoy Pandora FMS no funciona y el servicio de Pandora no se inicia, tampoco el de MySQL. Si intento iniciar el de MySQL me muestra este error:
Para ver el estado del servicio de MySQL:
Código:
/etc/init.d/mysql status
Devuelve:
MySQL (Percona Server) is not running [FALLÓ]
Para intentar iniciarlo:
Código:
/etc/init.d/mysql start
Y muestra este error:
Starting MySQL (Percona Server).The server quit without upd[FALLÓ]ID file (/var/lib/mysql/PANDORA.pid).
touch: no se puede efectuar `touch' sobre /var/lock/subsys/mysql: No queda espacio en el dispositivo
He hecho un df -h y el disco duro tiene espacio libre suficiente ¿a qué puede ser debido este error?
Publicado:
Mar Nov 25, 2014 9:29 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error no se puede efectuar touch mysql No queda espacio
Anuncios
Es posible que se hayan agotado los inodos en la partición de Linux, ejecuta el comando:
Código:
df -i
Y dinos el resultado.
Publicado:
Mar Nov 25, 2014 9:31 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error no se puede efectuar touch mysql No queda espacio
Anuncios
alonsojpd escribió:
Es posible que se hayan agotado los inodos en la partición de Linux, ejecuta el comando:
Pero no entiendo eso de los inodos qué es y cómo se soluciona.
Efectivamente la partición se ha quedado sin inodos libres, digamos, simplificando, que los inodos es como el número máximo de ficheros que puedes tener en una partición, en tu caso "3276800" y si te fijas en lo que te devuelve el comando df -i verás que has llegado al máximo.
Esto suele suceder porque tengas alguna aplicación que esté generando ficheros de log, a veces millones, como es tu caso, pues has agotado los 3 millones máximo.
Para solucionarlo debes averiguar en qué carpeta de tu equipo Linux se han generado esos ficheros y, si es posible, eliminarlos para liberar inodos.
Publicado:
Mar Nov 25, 2014 9:39 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error no se puede efectuar touch mysql No queda espacio
Anuncios
alonsojpd escribió:
Efectivamente la partición se ha quedado sin inodos libres, digamos, simplificando, que los inodos es como el número máximo de ficheros que puedes tener en una partición, en tu caso "3276800" y si te fijas en lo que te devuelve el comando df -i verás que has llegado al máximo.
Esto suele suceder porque tengas alguna aplicación que esté generando ficheros de log, a veces millones, como es tu caso, pues has agotado los 3 millones máximo.
Para solucionarlo debes averiguar en qué carpeta de tu equipo Linux se han generado esos ficheros y, si es posible, eliminarlos para liberar inodos.
Ok, ahora lo entiendo, efectivamente he debido alcanzar ese límite de inodos pues no me deja tampoco instalar nada, quería instalar el comando tree para ver el número de ficheros de cada carpeta con:
Código:
tree -a
Pero al intentar un:
Código:
yum install tree
Me muestra este error:
rpmdb: /var/lib/rpm/__db.001: No queda espacio en el dispositivo
error: db3 error(28) de dbenv -- open: No queda espacio en el dispositivo
error: no se pudo abrir Ãndice Packages utilizando db3 - No queda espacio en el dispositivo (28)
error: no se puede abrir la base de datos Packages en /var/lib/rpm
CRITICAL:yum.main:
Supongo que todo provocado por quedarme sin inodos, incluso si intento guardar este sencillo script en un fichero "contar_ficheros" que vi para obtener el número de ficheros de cada carpeta:
find . -type d | while read DIR; do
ls -A $DIR | echo $DIR $(wc -w);done
¿cómo puedo ver el número de ficheros de cada carpeta para ver donde se han generado esos millones de ficheros?
Publicado:
Mar Nov 25, 2014 9:45 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error no se puede efectuar touch mysql No queda espacio
Anuncios
varios escribió:
rpmdb: /var/lib/rpm/__db.001: No queda espacio en el dispositivo
error: db3 error(28) de dbenv -- open: No queda espacio en el dispositivo
error: no se pudo abrir Ãndice Packages utilizando db3 - No queda espacio en el dispositivo (28)
error: no se puede abrir la base de datos Packages en /var/lib/rpm
CRITICAL:yum.main:
Efectivamente, mientras no elimines algún fichero que te sea innesario no podrás crear nuevos ficheros y el yum install crea nuevos ficheros. Así pues intenta eliminar ficheros temporales, o algún otro que seas que puedes eliminar. Si no sabes qué eliminar, puedes usar el siguiente comando que te mostrará el número de ficheros de cada carpeta:
Código:
find . -type f | wc -l
Te obtendrá el número de ficheros de la carpeta donde estés actualmente.
Lo habitual es que el problema lo tengas en /var/log pues en esa carpeta es donde se suelen almacenar los ficheros de log y es ahí donde las aplicaciones podrían generar múltiples ficheros.
Publicado:
Mar Nov 25, 2014 10:08 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error no se puede efectuar touch mysql No queda espacio
Anuncios
alonsojpd escribió:
Código:
find . -type f | wc -l
Efectivamente, ejecuté el comando find . -type f | wc -l en /var y me devolvió varios millones de ficheros, afiné un poco más la búsqueda y veo que el problema está en:
/var/spool/pandora/data_in
Hice ahí un ls -lah y se quedó "colgado" mostrando ficheros ¿cómo puedo arreglar esto?
Publicado:
Mar Nov 25, 2014 10:14 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error no se puede efectuar touch mysql No queda espacio
Anuncios
varios escribió:
Efectivamente, ejecuté el comando find . -type f | wc -l en /var y me devolvió varios millones de ficheros, afiné un poco más la búsqueda y veo que el problema está en:
/var/spool/pandora/data_in
Hice ahí un ls -lah y se quedó "colgado" mostrando ficheros ¿cómo puedo arreglar esto?
En esa carpeta Pandora guarda información de los agentes remotos y también la información de los agentes que tengan módulos conectados por el API, por lo tanto no te conviene eliminar esa carpeta entera que sería una solución con el comando:
Código:
rm -r -f /var/spool/pandora/data_in
Pero te dejaría Pandora fallando probablemente con algún problema. Por lo tanto lo mejor es que intentes acceder a la carpeta y vayas eliminando dentro de ella ficheros XML del agente que se conecte por el API, suelen llevar en el nombre la IP del agente, por lo que puedes hacer un:
Código:
ls -lah *IP*
Es posible que se te cuelgue, pero algún nombre te devolverá, en ese caso puedes ir eliminando ficheros (suelen llevar un número incremental correlativo) por lo que podrías eliminarlos poco a poco con:
Código:
rm -f IP222*
donde "IP222" será la IP y un número correlativo.
Ultima edición por alonsojpd el Lun Dic 01, 2014 11:49 am, editado 2 veces
Publicado:
Mar Nov 25, 2014 10:17 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Error no se puede efectuar touch mysql
Así es, en el listado aparecen ficheros con una IP, la de un servidor que conecta con Pandora FMS por su API, ya lo configuré para que no envíe tanta información.
El problema es que cuando intento eliminar ficheros de esa carpeta con:
Código:
rm -f 192.168.1.100*
Me devuelve el error:
bash: /bin/rm: La lista de argumentos es demasiado larga
y no elimina ¿cómo puedo solucionar esto?
Publicado:
Mar Nov 25, 2014 10:29 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error no se puede efectuar touch mysql
Anuncios
varios escribió:
El problema es que cuando intento eliminar ficheros de esa carpeta con:
Código:
rm -f 192.168.1.100*
Me devuelve el error:
bash: /bin/rm: La lista de argumentos es demasiado larga
y no elimina ¿cómo puedo solucionar esto?
En ese caso puedes usar el siguiente comando Linux que te permitirá eliminar millones de ficheros de una ubicación sin que te dé el error "La lista de argumentos es demasiado larga", eso sí, cuando lo ejecutes puede que tarde bastante:
Código:
find /directorio/ -name "IP*" -exec rm {} \;
Publicado:
Lun Dic 01, 2014 11:53 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: [RESUELTO] Error no se puede efectuar touch mysql
Anuncios
alonsojpd escribió:
En ese caso puedes usar el siguiente comando Linux que te permitirá eliminar millones de ficheros de una ubicación sin que te dé el error "La lista de argumentos es demasiado larga", eso sí, cuando lo ejecutes puede que tarde bastante:
Código:
find /directorio/ -name "IP*" -exec rm {} \;
Genial, lo solucioné con el comando que me indicas (el find ...), tardó más de media hora pero eliminó 3 millones de registros, ahora ya vuelve a funcionar todo con normalidad en el Linux CentOS de Pandora FMS. Incluso había intentando eliminar los ficheros con Filezilla por SFTP y me pasaba lo mismo, me decía que se había excedido el número de ficheros a listar.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A