Re: ERROR: requested WAL segment XXXXX has already been removed

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: raul andrez gutierrez alejo <raulandrez(at)gmail(dot)com>
Cc: Alberto Cardenas Cardenas <alberto(dot)cardenas(dot)c(dot)68(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ERROR: requested WAL segment XXXXX has already been removed
Date: 2017-01-03 22:31:57
Message-ID: CAN3Qy4qQ2AkTEH8wN9rH7_-00Y5ehOFye_=fB3_ZmJiACOv3aw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

hola Lista

Como ya lo han comentando en la cadena de correos, cito "la replicacion fue
mas lenta que la generación de wals y el wal 00000001000001BE000000F1 fue
reciclado en el master antes de que se replicara en el esclavo", para esto
existen varias alternativas de configuración, algunas dependiendo de la
versión:

- wal_keep_segments, este parámetro del postgresql.conf, establece una
cantidad de archivos WAL a conservar en el servidor (después que fueron
reciclados) para que los esclavos lentos se puedan sincronizan. El
problema de este parámetro es que toca cuadrarlo a ojo: ni mucho para
gastar mucho espacio en el maestro ni poco que vuelva a tener un borrado de
un WAL.

- habilitar archive, con esto puede almacenar una cantidad de archivos wal
en una carpeta de red que ambas maquinas puedan acceder (el maestro
escribiendo y el esclavo leyendo) y en el archivo recovery.conf del esclavo
establecer el parámetro restore_command (y de paso
archive_cleanup_command), para que en le caso que el WAL no estuviese
disponible por replicacion, se restaure desde la carpeta compartida de
archive, hay que tener una carpeta con espacio generoso para almacenar
estos wal archivados, sobre todo en cargues grandes, vacuum,etc y hay que
diseñar bien el mecanismo de retención si se cuentan con 2 o mas replicas

- replication_slot, desde la versión 9.4, es posible crear
replication_slot, que es un mecanismo mas eficiente para llevar la cuenta y
almacenar los wal que cada esclavo requiere para su sincronizacion, para
cada esclavo se crea un slot y en el archivo recovery.conf de la replica se
registra este slot generado.

Aveces es prudente combinar varias estrategias: en mi caso, como mantengo
backups diarios en caliente, tengo configurado archive y ademas replication
slot y unos cuantos wal_keep_segments, :-)

El 3 de enero de 2017, 15:37, raul andrez gutierrez alejo<
raulandrez(at)gmail(dot)com> escribió:

> Hay un postgres (esclavo) que esta pidiendo un wal que ya no existe, no se
> que version de postgres tiene, pero puede ser que el cluster quedo
> configurado en cascada, master replica al esclavo1 y el esclavo1 replica al
> esclavo2, es posible que el postgres aun este corriendo en el eslcavo que
> se supone que ya no esta.
>
> o tambien se presento una promocion del master y el nuevo master estaba un
> poco atrazado en la replicacion y se presento una bifulcacion en los wals.
>
> verifique el log " requested WAL segment" y identifique cual es la ip de
> la conexion que esta pidiendo ese wal.
>
>
> El 3 de enero de 2017, 15:24, Alberto Cardenas Cardenas <
> alberto(dot)cardenas(dot)c(dot)68(at)gmail(dot)com> escribió:
>
>> Gracias Raul por responder, pero no existe otra forma de eliminar ese
>> error???, las máquina a la que hacia referencia ese error, ya no es
>> esclava, es decir, habia dos esclavos y ahora hay uno, y el que está, esta
>> bien, ese error quedo de la otra máquina pero no se como elininarlo
>>
>> saludos
>>
>> El 3 de enero de 2017, 15:42, raul andrez gutierrez alejo <
>> raulandrez(at)gmail(dot)com> escribió:
>>
>>> hola Alberto.
>>>
>>> Para solucionar ese log, debe sincronizarzar nuevamente el esclavo con
>>> un pg_basebackup(), eso se dio porque la replicacion fue mas lenta que la
>>> generacion de wals y el wal 00000001000001BE000000F1 fue reciclado en
>>> el master antes de que se replicara en el esclavo.
>>>
>>>
>>>
>>> El 3 de enero de 2017, 14:31, Alberto Cardenas Cardenas <
>>> alberto(dot)cardenas(dot)c(dot)68(at)gmail(dot)com> escribió:
>>>
>>>> Estimada lista, antes que todo muchas felicidades y que tengan todos
>>>> un muy feliz año 2017.
>>>>
>>>> Ahora bien,tengo un problema, ¿que puedo hacer para que este mismo
>>>> mensaje que se me repite desde hace un mes, ya no me siga apareciendo.?
>>>>
>>>> ERROR: requested WAL segment 00000001000001BE000000F1 has already been
>>>> removed
>>>>
>>>> Todos los días en el log, veo este error. Como puedo eliminar este error
>>>>
>>>> Saludos cordiales
>>>>
>>>
>>>
>>>
>>> --
>>> Raul Andres Gutierrez Alejo
>>>
>>
>>
>
>
> --
> Raul Andres Gutierrez Alejo
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Manuel Acuña 2017-01-04 01:54:55 Re: ejecutar script linux con clave
Previous Message Mario Soto Cordones 2017-01-03 21:38:49 RE: ERROR: requested WAL segment XXXXX has already been removed