Als er een probleem is met de appliance database en geen databaseknooppunten actief zijn of geen replicaknooppunten gesynchroniseerd zijn wanneer het hoofdknooppunt mislukt, gebruikt u de volgende procedure voor het herstellen van de database.

Over deze taak

Deze procedure heeft betrekking op situaties waarin geen databaseknooppunten actief zijn in een cluster in de asynchrone modus. In deze situatie ziet u op de Virtual Appliance Management Interface-pagina bij het laden of vernieuwen van de pagina meestal fouten zoals:

Fout bij het initialiseren van de databaseservice: Kan de JDBC-verbinding niet openen voor de transactie; de geneste uitzondering is org.postgresql.util.PSQLException: De verbindingspoging is mislukt.

Procedure

  1. Probeer de database te herstellen met de Virtual Appliance Management Interface van een van de databaseknooppunten.
    1. Open indien mogelijk de Virtual Appliance Management Interface-databasepagina voor het knooppunt met de meest recente status. Dit knooppunt is meestal het hoofdknooppunt van vóór de databasefout.
    2. Als de Virtual Appliance Management Interface voor het hoofdknooppunt niet kan worden geopend, probeert u de interface voor andere replicaknooppunten te openen.
    3. Als u een databaseknooppunt met een werkende Virtual Appliance Management Interface vindt, probeert u dit knooppunt te herstellen door een handmatige failover uit te voeren.
  2. Als de procedure in stap 1 mislukt, opent u een shellsessie en probeert u het knooppunt met de meest recente status te bepalen. Open een shellsessie naar alle beschikbare clusterknooppunten en probeer hun databases te starten door de volgende shellopdracht uit te voeren: service vpostgres start
  3. Gebruik de volgende procedure voor elk knooppunt met een actieve lokale database om het knooppunt met de meest recente status te bepalen.
    1. Voer de volgende opdracht uit voor het knooppunt met de meest recente status: Als de opdracht f retourneert, heeft dit knooppunt de meest recente status en kunt u doorgaan met stap 4.
      su - postgres
      psql vcac
      vcac=# select pg_is_in_recovery();
       pg_is_in_recovery
      • Als deze opdracht f retourneert, heeft dit knooppunt de meest recente status.

      • Als het knooppunt een t retourneert, voert u de volgende opdracht op het knooppunt uit:

      SELECT pg_last_xlog_receive_location() as receive_loc, pg_last_xlog_replay_location() as replay_loc, extract(epoch from pg_last_xact_replay_timestamp()) as replay_timestamp;

      Deze opdracht moet een resultaat retourneren dat vergelijkbaar is met het volgende.

      vcac=# SELECT pg_last_xlog_receive_location() as receive_loc, pg_last_xlog_replay_location() as replay_loc, extract(epoch from pg_last_xact_replay_timestamp()) as replay_timestamp;
       receive_loc | replay_loc | replay_timestamp
      -------------+------------+------------------
       0/20000000 | 0/203228A0 | 1491577215.68858
      (1 row)
      
  4. Vergelijk de resultaten voor elk knooppunt om te bepalen welk knooppunt de meest recente status heeft.

    Selecteer het knooppunt met de grootste waarde in de kolom receive_loc. Als er identieke waarden zijn, selecteert u de grootste waarde uit de kolom replay_loc. Als de waarden ook hier identiek zijn, selecteert u het knooppunt met de grootste waarde voor replay_timestamp.

  5. Voer de volgende opdracht uit voor het knooppunt met de meest recente status: vcac-vami psql-promote-master -force
  6. Open het bestand /etc/haproxy/conf.d/10-psql.cfg in een teksteditor en werk de volgende regel bij.
    server masterserver sc-rdops-vm06-dhcp-170-156.eng.vmware.com:5432 check on-marked-up shutdown-backup-sessions
    

    De bijgewerkte regel moet de huidige knooppunt-FQDN bevatten:

    server masterserver current-node-fqdn:5432 check on-marked-up shutdown-backup-sessions
  7. Sla het bestand op.
  8. Voer de opdracht service haproxy restart uit.
  9. Open de Virtual Appliance Management Interface-databasepagina voor het meest recente knooppunt.

    Dit knooppunt moet worden weergegeven als hoofdknooppunt en de overige knooppunten moeten ongeldige replica's zijn. Bovendien moet de knop Opnieuw instellen zijn ingeschakeld voor de replica's.

  10. Klik op Opnieuw instellen en Vernieuwen voor elke volgende replica tot de clusterstatus is hersteld.