Ayuda OnLine de GULiC

Anon1394

Ayuda
  • Temática: Puedes preguntarnos sobre Software Libre, Linux o GULiC. Otros temas pueden ser respondidos (o no!)
  • Acceso: De momento, se te ha asignado un nick al azar (Anon1394).Podrías usar tu propio nick registrándote ó iniciando sesión, si ya te habías registrado. En cualquier caso, si usas jabber, puedes informarte acerca de cómo entrar a esta sala con tu cliente jabber habitual, o bien entrar a la sala vía web.
  • Uso:Para ver el chat más grande, usa ésta página. Si vas a pegar textos grandes, usa nuestro pastebin. Para avisar de errores o problemas, usa nuestro track
  • Horarios: Nuestro uso horario es GMT. No te extrañe si a las 5 de la mañana no te responde nadie.

Problemas amavis

Buenos dias amigos

Tengo en produccion una pasarela de correo en produccion (Postfix/amavis) que reparte correos a otras máquinas en donde están alojados los buzones despues de analizarlos.

Estoy teniendo serios problemas en los ultimos días. El amavis se queda tostado, se cuelga… coincidiendo con un aumento en el número de procesos del servidor de políticas policyd. hay un momento en que el sistema no puede abrir más ficheros y se cuelga…

Estos son algunos de los errores que me he encontrado.

A alguien se suena lo que puede estar pasando?

Un saludo y muchas gracias

Sep 12 14:32:27 pclinux5 postfix/qmgr[25382]: 7DAE624302: from=pepe@usxpress.com, size=2774, nrcpt=1 (queue active)
Sep 12 14:32:27 pclinux5 postfix/smtp[25383]: fatal: open active A048925398: Too many open files in system
Sep 12 14:32:27 pclinux5 amavis[25408]: (25284-08) (!!) runcommand: child process [25408]: Can’t open /dev/null: Too many op
en files in system at /usr/sbin/amavisd-new line 2108.
Sep 12 14:32:27 pclinux5 amavis[25284]: (25284-08) (!!) TROUBLE in check
mail: partsdecodeext FAILED: parsing file(1) resul
ts - missing last 1 results at (eval 50) line 154.
Sep 12 14:32:27 pclinux5 amavis[25284]: (25284-08) (!) PRESERVING EVIDENCE in /var/lib/amavis/amavis-20070912T143227-25284
Sep 12 14:32:27 pclinux5 postfix/smtpd[22967]: lost connection after MAIL from unknown[80.81.36.238]
Sep 12 14:32:27 pclinux5 postfix/smtpd[22967]: disconnect from unknown[80.81.36.238]
Sep 12 14:32:27 pclinux5 postfix/qmgr[25382]: 7562824305: from=pepe@usxpress.com, size=2734, nrcpt=1 (queue active)
Sep 12 14:32:27 pclinux5 amavis[25409]: (25282-09) (!!) runcommand: child process [25409]: Can’t open /dev/null: Too many open files in system at /usr/sbin/amavisd-new line 2108.
Sep 12 14:32:27 pclinux5 amavis[25282]: (25282-09) (!!) TROUBLE in check
mail: partsdecodeext FAILED: parsing file(1) resul
ts - missing last 1 results at (eval 50) line 154.

Sep 12 14:32:27 pclinux5 postfix/qmgr[25382]: fatal: open active 75B86242C9: Too many open files in system
Sep 12 14:32:27 pclinux5 amavis[25283]: (25283-07) (!!) TROUBLE in checkmail: mimedecode-1 FAILED: MIME::Parser: can’t open
tmpfile: Invalid argument

Sería interesante que

Sería interesante que utilizaras netstat para ver el número de conexiones abierta y ver si son muchas. También puede utilizar lsof para ver el número de ficheros abierto. Por ejemplo con:

netstat -na | grep 25 | wc -l 

Puedes conectar el número de conexiones abiertas al servidor de correo. Y con:

lsof | wc -l 
lsof | grep postfix| wc -l 

El número de archivos abiertos relacionados con postfix. ¿Son muy grandes esos valores? ¿Cuál parece el problema? ¿Demasiados archivos abiertos o demasiadas conexiones?

Saludos


May the Free Software Force be with you…

Procesos policyd

Hola

Lo que observo es que el amavis acaba cayendo cuando hay demasiados ficheros abiertos, que al mismo tiempo coincide con la subida de los procesos del policyd del tipo:

0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13247 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13248 ? S 0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13249 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13250 ? S 0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13251 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13258 ? S 0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13259 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13260 ? S 0:00 spawn -n policy -t unix user=polw

Cuando el número de procesos del policyd-weight llega a un umbral de unos… 200, el sistema ya no deja abrir más ficheros y el amavis es quien lo resiente y cae… entonces se me amontonan los correos en cola y tengo cientos de usuarios llamando jeje

Smiling

Procesos policyd

Hola

Lo que observo es que el amavis acaba cayendo cuando hay demasiados ficheros abiertos, que al mismo tiempo coincide con la subida de los procesos del policyd del tipo:

0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13247 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13248 ? S 0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13249 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13250 ? S 0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13251 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13258 ? S 0:00 spawn -n policy -t unix user=polw argv=/usr/bin/perl /usr/lib/postfix/policyd-weight
13259 ? Ss 0:00 /usr/bin/perl /usr/lib/postfix/policyd-weight
13260 ? S 0:00 spawn -n policy -t unix user=polw

Cuando el número de procesos del policyd-weight llega a un umbral de unos… 200, el sistema ya no deja abrir más ficheros y el amavis es quien lo resiente y cae… entonces se me amontonan los correos en cola y tengo cientos de usuarios llamando jeje

Smiling

¿Y cuantos ficheros hay

¿Y cuantos ficheros hay abiertos según el lsof?


May the Free Software Force be with you…

ficheros abiertos

En estos momentos hay 4584 ficheros abiertos con el usuario postfix
y 9701 en total para el sistema

Una cosa que he hecho es cambiar el DNS primario del sistema, que estaba presentando una cierta latencia (pingendo desde la pasarela de correo hasta el) y he puesto otro de la misma subred que el anterior servidor DNS y contra quien no hay latencias…

Llevo un rato así y el sistema está estable (de momento, pero llevo muy poco tiempo)
Los procesos del policyd-weight han llegado a un tope de 185…han vuelto a bajar un poco.. a subir… etc

La cola del correo se limpia rapidamente, pues hasta que no llega al máximo de ficheros abieros no hay problema.

Quizas sea eso simplemente, ya que el policyd-weight necesita resolucion de nombres para trabajar, pero… no se

Si esto fuera así tal vez sería bueno ponerle un DNS cache a la pasarela de correo…

A ver que pasa…

Un saludo

Sería posible que al no

Sería posible que al no resolver bien el dns policyd-weight no termine lo suficientemente rápido, permitiendo que se vayan acumulando los ficheros abierto. Pero en un sistema linux normal el límite está en 380152 archivos abiertos. A mi me parece que tiene que haber muchos procesos esperando mucho tiempo para acumular semejante cantidad de archivos abiertos.

Pero bueno. Esperaremos y a ver que pasa.


May the Free Software Force be with you…

Estabilizado

Bueno…

En principio, parece que el sistema se ha estabilizado con este cambio de DNS…
Si de aqui a mañana no ha dado mas problemas te pondré un post, para decirte que era eso… y para quien lea esto lo tenga en cuenta para el futuro

Un saludo y gracias

pues... va a ser eso...

Pues eso…

Con el cambio de DNS… como la seda. Asi que.. que lo sepa todo el mundo, cuando la cola de correo de un sistema Postfix/policyd-weight/amavis se quede colgado con 80.000 correos en cola, con muchisimo procesos y ficharos abiertos… mirad si el DNS que tiene configurado está funcionando bien.

No es que esa sea la única causa, pero lo que es cierto es que si está mal el DNS (y cuando digo mal no me refiero solamente a que esté caído, sino simplemente con que la boca del swicth en donde esté contectado tenga pérdidas de paquetes), el sistema puede ahogarse… Todo depende también del volumen de correos que entren lógicamente.

En mi caso, en una hora, la cola de correo pasó de 0 a 7.000 correos

Un saludo

Pues si que estaba colapsada

Pues si que estaba colapsada la cosa. Nosotros en el curro tenemos un DNS cache para evitar que los servicios más importantes se resientan-


May the Free Software Force be with you…

Si los tenemos...

Si, eso es lo correcto

De hecho tenemos 4 DNS… y los 4 estaban puestos en el resolv.conf, pero lo cierto es que el DNS que fallaba esta el primero en la lista y no hice sino cambiar el orden… y la cosa funcionó… En el fondo sigue siendo un misterio.

Un saludo

Para esos casos creo que hay

Para esos casos creo que hay un paquete que sustituye la librería de resolución de nombres habitual por otra que hace las consultas en paralelo a todos los servidores y se queda con la respuesta del primero que responde.

Pero no me preguntes como se llama porque no me acuerdo.


May the Free Software Force be with you…

Uffff

Ufff me ha vuelto a pasar.,..
Y eso que hasta le puse un DNS cache propio…
Ahora si que me deja en treita y tres

No creo pero

No creo que sea, pero siempre puedes comprobar los límites máximos en tu sistema:

http://www.cs.wisc.edu/condor/condorg/linux_scalability.html


May the Free Software Force be with you…

…. no se si tiene algo que

…. no se si tiene algo que ver, pero cuando esto sucede y reinicio el postfix (nunca lo reinicio en otras circunstancias…) me encuentro con el mensaje:

Warning: bogus file name incoming/XXXXXX

Mira los limites.....

pclinux5:~# cat /proc/sys/fs/file-max
8192

Mi sistema solo permite 8192 ficheros simultaneos???
Asi no es de extrañar que se ahogue en menos que canta un gallo.

No es eso

Eso pasa con todos los Postfix cuando se paran mientras están creando un archivo en la cola. No es importante pues cuando eso pasa no se pierden correos.

Saludos.


May the Free Software Force be with you…

file-max

Le he subido el file-max a 32768
Y estoy vigilándolo a ver que pasa.

La máquina tiene 512Mb RAM y recibe unos 30000 correos al día, asi que a lo mejor van por ahi los tiros.

Otro dato

Los correos se estancan porque, por alguna razón no pueden enviar correos a su relayhost por defecto, entonces empiezan a acumularse correos, hasta que el sistema deja de poder abrir nuevos ficheros.

Podría pensarse que se trata de un problema en el equipo remoto (relayhost), pero al hacer un postsuper -r ALL, otra vez vuelve a escupir los correos sin problemas e incluso una cola de 3000 correos se vacía en cuestión de minutos…

He puesto un cron para que en cada hora ejecute este comando, aparte de subierle el file-max

Un saludo

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.