Hola de nuevo.

    Más comentarios abajo:


On 19/07/18 08:12, Hellmuth Vargas wrote:

Hola Alvaro

Gracias por responder, le respondo entre lineas tambien

El jue., 19 de jul. de 2018 a la(s) 10:09, Alvaro Hernandez (a...@ongres.com <mailto:a...@ongres.com>) escribió:


        Hola Hellmuth.

        Te contesto más abajo :)

    On 19/07/18 16:51, Hellmuth Vargas wrote:
    Hola Lista

    Tengo el siguiente esquema: una máster y 3 replicas  Streaming
    Replication (distribuidas geográficamente y con diferentes
    prestaciones de velocidad de disco duro) en PostgreSQL 9.5. Deseo
    actualizarlas a PostgreSQL 10. Cuando realice el procedimiento de
    la 9.3 a la 9.5 seguí las indicaciones del numeral 10  de la
    documentación oficial de pg_upgrade que indica como debe
    procederse con la actualización  de replicas sin necesidad de
    recrearlas desde 0 y todo estuvo muy bien pero tomo  mas de 2
    horas actualizar todas y por lo tanto la máster no pudo operar
    durante este periodo.

        ¿Por qué el master no puede operar durante este período? Salvo
    que sea una limitación a nivel de negocio, no hay razón técnica
    por la que el master, una vez upgradeado, esté online mientras se
    regeneren las réplicas.


Según la documentación la master debe estar abajo mientras se hace el proceso de rsync del punto 10 que sincroniza las replicas, el prendido de la master lo ejecutan en el punto 13

    No, eso no es lo que dice la documentación. Que en este caso concreto se proponga levantar el master en el punto 13, no quiere decir que no puedas generar una réplica con el master online. De hecho, sería inaceptable que no pudiera hacerse eso. Revisa la doc de pg_basebackup: https://www.postgresql.org/docs/current/static/app-pgbasebackup.html :

"pg_basebackup is used to take base backups of a running PostgreSQL database cluster. These are taken without affecting other clients to the database"

    Luego es online y no afecta a otros clientes.



https://www.postgresql.org/docs/10/static/pgupgrade.html


    Quería preguntarles si es posible (para no tener que mantener la
    máster tanto tiempo apagada) realizar los siguientes pasos:

    - Actualizar la master con pg_upgrade
    - Actualizar una replica (la mas rápida) con el procedimiento
    descrito en el punto 10 de la documentación oficial del pg_upgrade
    -Prender master y replica actualizadas
    - Apagar la replica
    - Actualizar la replicas 9.5 faltantes a partir de la replica 10
    empleado el mismo procedimiento descrito en el punto 10 de la
    documentación oficial del pg_upgrade. (como si la relpica 10
    fuera la master)

    Porque no recrear las replicas desde cero, porque la base ya pesa
    1.3 TB y para algunas replicas la recreación puede tardar 8 o 9
    horas (la ultima vez que hubo necesidad de hacerlo por un daño de
    disco)

        ¿Usas archivado continuo? Si no es el caso, creo que deberías.
    Y en este caso, nada te impide hacer un backup base y tirar de los
    WALs archivados (que pueden estar en local) para generación más
    rápida de las réplicas.



La creación de las replicas con pg_basenbackup fue lo que tomo 8 y 9 horas en algunos casos,  no disponemos de  los mejores canales de comunicación y las prestaciones de las discos duros de las replicas remotas no son las mejores.

    Pero como lo puedes hacer con el master online, el único efecto que tiene es una redundancia reducida durante esas 8-9 horas, pero no un tiempo de parada del servicio.




        Dicho lo cual: si por continuidad de negocio es más grave
    estar online sin réplicas que parados hasta que al menos haya una
    réplica, entonces igual es un problema el tiempo de regenerar la
    réplica. Pero si no es el caso, yo usaría archivado continuo y
    regeneraría las réplicas.


La replicas se emplean para hacer balanceo de carga  de los reportes, pero inicialmente podrían redireccionarse a la master mientras sincronizo las replicas

    Entonces aún más claro aún :)



    Saludos,

    Álvaro


--

Alvaro Hernandez


-----------
OnGres

Reply via email to