Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Error no se puede efectuar touch mysql No queda espacio
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Error no se puede efectuar touch mysql No queda espacio

Publicar nuevo tema Responder al tema
Foros de discusión » Linux, sistema operativo gratuito, Ubuntu, Debian, Suse, Red Hat, Fedora   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Error no se puede efectuar touch mysql No queda espacio Responder citando

Hola, tengo un servidor con Linux CentOS 6.0, lo uso como servidor de monitorización con Pandora FMS, lo monté siguiendo vuestro tutorial:

Monitorización de servidores y servicios gratuita con Pandora FMS 5.0 SP1

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?
MensajePublicado:
Mar Nov 25, 2014 9:29 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



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.
MensajePublicado:
Mar Nov 25, 2014 9:31 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



Anuncios



alonsojpd escribió:
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.


Me devuelve:

df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_pandora-lv_root
3276800 3276800 0 100% /
tmpfs 749097 1 749096 1% /dev/shm
/dev/sda1 128016 83 127933 1% /boot
/dev/mapper/vg_pandora-lv_home
14614528 260 14614268 1% /home


Pero no entiendo eso de los inodos qué es y cómo se soluciona.
MensajePublicado:
Mar Nov 25, 2014 9:33 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



Anuncios



varios escribió:

df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_pandora-lv_root
3276800 3276800 0 100% /
tmpfs 749097 1 749096 1% /dev/shm
/dev/sda1 128016 83 127933 1% /boot
/dev/mapper/vg_pandora-lv_home
14614528 260 14614268 1% /home


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.
MensajePublicado:
Mar Nov 25, 2014 9:39 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



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


Para ejecutarlo con:

Código:

./contar_ficheros | sort -n -k 2,2 > numero_ficheros


Y tampoco me deja.

¿cómo puedo ver el número de ficheros de cada carpeta para ver donde se han generado esos millones de ficheros?
MensajePublicado:
Mar Nov 25, 2014 9:45 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



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.
MensajePublicado:
Mar Nov 25, 2014 10:08 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



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?
MensajePublicado:
Mar Nov 25, 2014 10:14 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error no se puede efectuar touch mysql No queda espacio Responder citando



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
MensajePublicado:
Mar Nov 25, 2014 10:17 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Error no se puede efectuar touch mysql Responder citando

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?
MensajePublicado:
Mar Nov 25, 2014 10:29 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error no se puede efectuar touch mysql Responder citando



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 {} \;
MensajePublicado:
Lun Dic 01, 2014 11:53 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: [RESUELTO] Error no se puede efectuar touch mysql Responder citando



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.

Muchas gracias!!!
MensajePublicado:
Lun Dic 01, 2014 11:56 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Linux, sistema operativo gratuito, Ubuntu, Debian, Suse, Red Hat, Fedora  

Cambiar a:  
Key
  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