HowTo: Problemas Squid no levanta – Error E/S en disco

https://i0.wp.com/upload.wikimedia.org/wikipedia/commons/a/ab/Squid-cache.png?resize=254%2C187Tengo compartiendo mi Internet bajo Linux en una distribución Ubuntu Server 10.04, y tuve un problema con el SQUID, puesto no levanta el servicio y esto hacé obviamente que no comparta el Internet a los clientes correctamente en el puerto 80, mientras que los otros puertos como el Https – 443 o el puerto del Skype seguía funcionando normalmente.

Los pasos para empezar a solucionar son los siguientes:

1.- No perder la paciencia, (sabemos que tenemos a todos nuestros usuarios que compartimos Internet presionando y nos repiten una y otra vez que no hay Internet en sus computadoras), a consecuencia de esto podemos perder la concentración en las configuraciones.

2.- Revisar el LOG de Squid3, para ello deberemos entrar al terminal e ir al ultima fila del archivo podemos presionar mayúscula + g, para desplazarnos al final (revisar mas comandos del editor vi) y revisar que realmente sucedió.

$ sudo vi /var/log/squid3/cache.log

3.- Una vez al final fijarse porque se detuvo?, deberá aparecer en las ultimas lineas la advertencia o el error y mencionar porque se detuvo el servicio. En mi caso indicaba  que se trataba de un “Error en disco E/S no se puede escribir – Servicio Detenido” .

Después de tener en mi mente la idea porque se detuvo e imaginarme los peores desastres,  como cambiar el disco duro; se me vino a la mente también el revisar el espacio disponible en el disco duro.

4.- Revisar o verificar el espacio en disco si hay el espacio suficiente en la particiones para que se poder escribir, para ello revisaremos con el comando:

$ df -h

En este caso debemos revisar la partición sda5, (donde se monta la partición raíz ‘/’ ahí se guardan los servicios del Squid), si la columna disponible indica 0GB (debemos tener algo de 2GB para poder trabajar tranquilos), lamentablemente mi problema fue ese.

5.- En el caso tengas el suficiente espacio y disco contiene errores debemos revisar su estado, mediante el comando e2fsck, previamente debemos bootear de un CD/DVD Linux (Saltar este paso si el problema no fuera el caso).

6.- En el caso tengamos problemas de espacio con la partición ‘/’, podríamos hacer lo siguiente:

  • Borrar los archivos LOG de la ruta bajo el comando: “sudo rm /var/log/*.gz” (esto ayudará a borrar algunos megas), pero sólo borra los comprimidos no lo borres todos los LOG.
  • Limpiar el caché del Squid, pero esto en el tiempo nos volverá a suceder si no redimencionamos correctamente nuestro tamaño del caché correctamente. Para cambiar su tamaño, edita el archivo “sudo vi /etc/squid/squid.conf” y busca la línea y modifica el primer valor (numérico) por ejemplo 500 para 500 Mb: “cache_dir ufs /var/spool/squid 500 16 256″, guarda y reinicia el servicio del Squid.
  • No reservar el 5% del espacio del sistema en particiones ext4 para procesos internos, es muy crítico en particiones grandes con poco espacio (Por ejemplo: De una partición de 200Gb el 5% es 10Gb).
  • Limpiar o borrar archivos manualmente, revisando que archivos son lo que ocupa mas. Una buena práctica es usar FileLight por una terminal  Putty (ssh) y Xming en Windows para revisar en entorno gráfico las carpetas que nos ocuparan mayor espacio .
  • Limpiar nuestro sistema operativo (para tenerlo optimizado)
  • Fuera en caso todavía no tengamos el suficiente espacio o deseamos saltar todo lo anterior, siempre nos quedará la opción de Redimencionar la partición /home o cualquier otra partición si es que lo hayamos particionado en varias partes el disco duro al momento de instalar el Ubuntu Server, esto sólo aplicará si ambas o las particiones están en el mismo disco duro.

Para redimencionar la particiones, deberemos reiniciar la computadora y bootear con un disco podría ser Ubuntu DesktopCD Gparted.  Usar la herramienta GPARTED para reducir el espacio (sda6 – /home) u cualquier otra partición para moverlos en el mismo disco duro, para que después podamos usar (redimensionar) esos Gigas liberados en la partición (sda5 – / raiz) y crezca su tamaño, como se muestra en la imagen anterior.

Una vez realizado y ver que tenemos el espacio suficiente (más de 2GB) en las particiones (la más importante la raiz – /, sólo quedará reiniciar y comprobar que el servicio Squid nuevamente este iniciado y poder informar a todos que volvió a la normalidad el Internet.

https://i0.wp.com/static.betazeta.com/www.fayerwayer.com/up/2009/06/ubuntu-logo-bandaid.png?resize=211%2C217Podemos obtener más información en los siguientes vínculos de interés:

Cualquier otro problemas y/o sugerencia que te ha sucedido comentamelo.

2 opiniones en “HowTo: Problemas Squid no levanta – Error E/S en disco”

  1. Mi caso es muy parecido, también tengo comparto el servicio y hoy día no tenía acceso en el puerto 80, ya se imaginarán la protesta de los usuarios, ufff.
    Revisando el problema en el cache.log encontré el error de espacio, tenía “0 %” disponible, el uso estaba al 100%.
    Tuve que limpiar y reconstruir el cache, además de redimensionar el cache en el Squid, luego finalmente tuve que reiniciar el Squid y pude superar este mal momento.
    Muchas gracias Oscar por tu Blog, son excelentes aportes los que haces y son inmensamente agradecidos, saludos.

    1. Gracias Yuri por el comentario, efectivamente es común no detectarlo si tenemos demasiado espacio asignado en el cache del Squid y nuestro disco duro se queda sin espacio.

Deja un comentario