Zoeken in SafeKit

PostgreSQL hoge beschikbaarheid met SafeKit: installeer de postgresql.safe-module voor failover

Snelle installatiehandleiding met hoge beschikbaarheid voor PostgreSQL

In deze handleiding wordt uitgelegd hoe u een spiegel cluster voor PostgreSQL met SafeKit, waardoor automatische failover en synchrone replicatie worden gegarandeerd zonder de noodzaak van gedeelde opslag.

Voor hulp kunt u gebruiken SafeKit AI 🤖.

1. Overzicht

  • Architectuur: Maakt gebruik van een systeem met twee knooppunten (primair/secundair).
  • Gegevensbescherming: Implementeert realtime synchrone replicatie voor nul gegevensverlies (RPO=0).

2. Installatie

  • Software: Installeer de SafeKit-engine op beide servers.
  • module: Download de vooraf geconfigureerde postgresql.safe.safe applicatiemodule.

3. Configuratie

  • Webconsole: Configureer de specifieke mappen die de PostgreSQL-bestanden bevatten.
  • Toezicht: Begin met het monitoren en beschermen van de PostgreSQL-applicatie.

SafeKit High Availability Limitations

Limiet / VereisteReden & ImpactAanbevolen alternatief
Replicatiegrootte: Enkele TB’sResynchronisatietijd na een storing (stap 3):
• 1 Gb/s netwerk ≈ 3 uur / TB
• 10 Gb/s netwerk ≈ 1 uur / TB (afhankelijk van de schijfschrijfprestaties)
• Gebruik externe gedeelde opslag (duurder, complexer).
Aantal bestanden: < 1.000.000 bestanden• Prestaties van de resynchronisatietijd na een storing (stap 3).
• Tijd om elk bestand tussen beide knooppunten te controleren.
• Plaats de vele te repliceren bestanden in een virtuele harde schijf / virtuele machine.
• In dit geval worden alleen de bestanden die de virtuele harde schijf / virtuele machine vertegenwoordigen, gerepliceerd en geresynchroniseerd.
Failover-capaciteit: ≤ 32 VM’s• Elke VM draait in een onafhankelijke spiegelmodule.
• Maximaal 32 spiegelmodules die op dezelfde cluster draaien.
• Gebruik externe gedeelde opslag en een andere VM-clusteringoplossing (duurder, complexer).
Netwerkarchitectuur: LAN/VLAN-netwerk tussen externe locaties• Automatische failover van het virtuele IP-adres met 2 knooppunten in hetzelfde subnet.
• Goede bandbreedte voor resynchronisatie (stap 3).
• Lage latentie voor synchrone replicatie: typisch < 5 ms RTT; hogere waarden moeten worden gevalideerd tegen de schrijfsnelheid van de applicatie.
• Gebruik een load balancer voor het virtuele IP-adres als de 2 knooppunten zich in 2 subnetten bevinden (ondersteund door SafeKit, met name in de cloud).
• Gebruik back-upoplossingen met asynchrone replicatie voor netwerken met een hoge latentie.

Overzicht van de SafeKit / PostgreSQL-oplossing

De oplossing wordt hier beschreven: 💡De eenvoudigste PostgreSQL hoge beschikbaarheid: synchrone replicatie en failover met 2 knooppunten.

Installatie van de SafeKit / PostgreSQL-oplossing op Windows en Linux (postgresql.safe)

Vereisten

  • U moet PostgreSQL op 2 knooppunten installeren (virtuele machines of fysieke servers).

Pakketinstallatie op Windows

  • Download en installeer de gratis versie van SafeKit op 2 Windows-nodes.
    Let op: de gratis versie bevat alle SafeKit-functies. Aan het einde van de proefperiode kunt u permanente licentiesleutels activeren zonder het pakket te verwijderen.
  • Nadat u de pakketinstallatie hebt voltooid, selecteert u Set console credentials and firewall rules now en configureer een wachtwoord voor de admin gebruiker van de SafeKit-console.
    Stel hetzelfde wachtwoord in op alle knooppunten.
  • Uitsluiten van antivirusscans C:/safekit/ (de standaard installatiemap) en alle gerepliceerde mappen die je gaat definiëren.
    Antivirussen kunnen met SafeKit te maken krijgen met detectie-uitdagingen vanwege de nauwe integratie met het besturingssysteem, virtuele IP-mechanismen, realtime replicatie en herstart van kritieke services.

SafeKit (Windows) > downloaden

Module-installatie op Windows

  • Download de postgresql.safe-module. De module is gratis. Het bevat de bestanden userconfig.xml en de herstartscripts.
  • Zet postgresql.safe onder C:/safekit/Application_Modules/generic.

Download postgresql.safe (Windows) >

Pakketinstallatie op Linux

  • Installeer de gratis versie van SafeKit op 2 Linux-nodes. Let op: de gratis proefperiode omvat alle SafeKit-functies. Aan het einde van de proefperiode kunt u permanente licentiesleutels activeren zonder het pakket te verwijderen.
  • Na het downloaden van het safekit_xx.bin-pakket voert u het uit om het rpm- en het safekitinstall-script uit te pakken en voert u vervolgens het safekitinstall schrift
  • Antwoord ja om de automatische configuratie van de firewall te configureren
  • Stel het wachtwoord in voor de webconsole en de standaardgebruiker admin. Stel hetzelfde wachtwoord in op alle knooppunten.

SafeKit (Linux) > downloaden

Module-installatie op Linux

  • Download de postgresql.safe-module.
    De module is gratis. Het bevat de bestanden userconfig.xml en de herstartscripts.
  • Zet postgresql.safe onder /opt/safekit/Application_Modules/generic/.

Download postgresql.safe (Linux) >

Stap voor stap configuratie van de SafeKit / PostgreSQL-oplossing

Vereisten

  • PostgreSQL-applicatie geïnstalleerd op 2 knooppunten.
  • Het totale aantal gerepliceerde gegevens is beperkt tot een paar terabytes; daarna wordt de hersynchronisatietijd aanzienlijk.
  • Minimale 1Gb/s-verbinding tussen knooppunten (10Gb/s aanbevolen voor snellere hersynchronisatie).
  • IP failover vereist beide knooppunten op dezelfde LAN of uitgebreide LAN (L2) - gerouteerde L3-netwerken worden niet ondersteund (behalve met 🛠️ cloud load balancers).

1. Start de SafeKit-console

  • Start de webconsole in een browser op één clusterknooppunt door verbinding te maken met http://localhost:9010.
  • Voer admin in als gebruikersnaam en het wachtwoord dat tijdens de installatie is gedefinieerd.

U kunt de console ook in een browser uitvoeren op een werkstation buiten het cluster.

⚠️ De configuratie van SafeKit gebeurt op beide knooppunten vanuit één browser.

ℹ️ Om de webconsole te beveiligen, zie 🛠️ 11. De SafeKit-webservice beveiligen in de gebruikershandleiding.

Start de SafeKit-webconsole om het PostgreSQL-cluster te configureren

2. Configureer knooppuntadressen

  • Voer de IP-adressen van het knooppunt in, druk op Tab key om de connectiviteit te controleren en de knooppuntnamen in te vullen. Als node1 of node2 een rode kleur heeft, controleer dan de connectiviteit van de browser met beide knooppunten en controleer de firewall op beide knooppunten op 🛠️ troubleshooting.
  • Klik vervolgens op Save and apply om de configuratie op te slaan.
  • Controleer het Success ✅ bericht op beide knooppunten.
  • Als de configuratie Failure ❌ op één knooppunt voorkomt, open dan de ▼ accordeon voor dat knooppunt en bekijk de berichten. Houd er rekening mee dat u de SafeKit AI 🤖 kunt gebruiken voor hulp.

ℹ️ Als je wilt, kun je een nieuwe LAN and nodes toevoegen (eerste ➕) om een ​​tweede hartslag en een speciaal replicatienetwerk te creëren.

ℹ️ Als u op Advanced configuration klikt, wordt het cluster.xml-bestand weergegeven. Dit bestand wordt automatisch ingevuld door de console en geïmplementeerd op de knooppunten.

Voer de knooppunten van het PostgreSQL-cluster in

3. Selecteer een module

  • Klik in New module op de postgresql.safe-module.

ℹ️ In de blauwe banner bovenaan staat 🛜 node1 voor het consoleverbindingsknooppunt. Dit knooppunt stuurt indien nodig verzoeken door naar node2.

ℹ️ De console zoekt naar xxx.safe in de map Application_Modules/generic/ op het verbindingsknooppunt (node1) als je daar tijdens de installatie een module hebt geplaatst.

Kies de module voor PostgreSQL

4. Configureer de module

  • Kies in Module startup at boot voor een automatische start van de module bij het opstarten zonder vertraging.
  • Voer in Macros / SERVICES de servicenamen van uw toepassing in, in de opstartvolgorde, gescheiden door komma’s. Zie deze schermafbeelding voor een visueel voorbeeld van Milestone XProtect-services 🖼️.
  • In Heartbeat networks zou u één hartslagnetwerk moeten hebben waarop de replicatie wordt gemaakt. Als u bij stap 2 een privé LAN heeft toegevoegd, kunt u twee hartslagen configureren met de replicatiestroom op de privé LAN.
  • Voer in Virtual IP addresses een virtueel IP-adres in. Een virtueel IP-adres is een standaard IP-adres in hetzelfde IP-netwerk (hetzelfde subnet) als de IP-adressen van beide knooppunten.
    Applicatieclients moeten worden geconfigureerd met het virtuele IP-adres (of de DNS-naam die is gekoppeld aan het virtuele IP-adres).
    Bij een storing wordt het virtuele IP-adres automatisch omgeschakeld.
  • Stel in Replicated directories de paden in van de mappen die u wilt repliceren. Controleer of ze op beide knooppunten aanwezig zijn en de applicatiegegevens bevatten.
    Gegevens- en logreplicatie zijn essentieel voor een database.
    U kunt indien nodig extra gerepliceerde mappen maken.
    Zie deze schermafbeelding voor een visueel voorbeeld van Milestone XProtect SQL-replicatie 🖼️.
  • In Checkers kunt u indien nodig controlemechanismen configureren, zoals procesbewaking, aangepaste controlemechanismen, TCP, ping of split-braincontrolemechanismen.
    Als er bijvoorbeeld een procesnaam wordt weergegeven in Monitored processes/services, wordt deze gecontroleerd met een herstartactie in geval van een storing. Als u een verkeerde procesnaam configureert, stopt de module direct na het starten.

ℹ️ Als u op Advanced configuration klikt, wordt het userconfig.xml-bestand weergegeven. Dit bestand wordt automatisch ingevuld door de console en geïmplementeerd op de knooppunten met de herstartscripts.

ℹ️ Bij een cloudimplementatie hoeft u geen virtueel IP-adres te configureren in SafeKit. De virtuele IP wordt beheerd op het 🛠️ cloud load balancer-niveau.

ℹ️ Wanneer u de SafeKit-configuratie toepast, wordt de startup type van services automatisch ingesteld op Manual in Windows-services. Dit zorgt ervoor dat services niet automatisch starten wanneer het systeem opstart, maar alleen worden gestart wanneer de module zelf wordt gestart (hetzelfde geldt voor Linux).

Voer de PostgreSQL-module-instellingen in

5. Scripts bewerken (optioneel)

  • Deze stap is optioneel en kan in de meeste gevallen worden overgeslagen, omdat de herstartscripts al vooraf zijn geconfigureerd om de services die in de vorige stap zijn gedefinieerd opnieuw te starten.
  • Klik dus direct op Next step.
  • start_prim.ps1 start alle services in de volgorde die is opgegeven in de SERVICES-lijst, terwijl stop_prim.ps1 alle services in omgekeerde volgorde stopt.
  • Bovendien controleert start_prim.ps1 het opstarten van elke service en stopt de module als een service niet correct start.

Voer de PostgreSQL-module-instellingen in

6. Communicatie-encryptie (optioneel)

  • Behoud de codering van de communicatie tussen knooppunten.

Communicatie-encryptie van de PostgreSQL-module

7. Opslaan en toepassen

  • Save and apply de configuratie en scripts op beide knooppunten.

Bewaar de PostgreSQL-moduleconfiguratie en pas deze toe

8. Controleer of de configuratie succesvol is

  • Controleer het bericht Success ✅ op beide knooppunten en klik op Monitor modules.
  • Als de configuratie Failure ❌ op één knooppunt voorkomt, open dan de ▼ accordeon voor dat knooppunt en bekijk de berichten. Houd er rekening mee dat u de SafeKit AI 🤖 kunt gebruiken voor hulp.

⚠️ Op Linux kunt u bij deze stap een foutmelding krijgen als de gerepliceerde mappen koppelpunten zijn.🛠️ Zie SK-0030 om het probleem op te lossen.

Controleer het succes van de PostgreSQL-moduleconfiguratie

9. Start het knooppunt met actuele gegevens

  • Als knooppunt 1 de bijgewerkte gerepliceerde mappen heeft, selecteert u deze en ⋯ Force start ▶ As primary.

Wanneer knooppunt 2 wordt gestart, worden alle gegevens van knooppunt 1 naar knooppunt 2 gekopieerd.

⚠️ Maak je de verkeerde keuze, dan loop je het risico verouderde data op beide knooppunten te synchroniseren.

⚠️ Ook wordt ervan uitgegaan dat de PostgreSQL-applicatie wordt gestopt op knooppunt 1, zodat SafeKit de replicatiemechanismen installeert en vervolgens de applicatie start in het start_prim-script.

⚠️ Gebruik Start voor volgende starts: SafeKit behoudt de meest up-to-date server. Het opstarten van As primary is een bijzondere start, de eerste keer of tijdens uitzonderlijke operaties.

Begin als primair knooppunt PostgreSQL met de actuele gegevens

10. Wacht op de overgang naar ALONE (groen)

  • Knooppunt 1 moet de status ALONE (groen) bereiken, wat betekent dat de virtuele IP is ingesteld en dat het start_prim-script is uitgevoerd op knooppunt 1.

⚠️ Als ALONE (groen) niet wordt bereikt of als de applicatie niet wordt gestart, analyseer dan waarom met het module-log 🖼️ van knooppunt 1.

  • Klik op het 🔍log-pictogram van node1 om het modulelogboek te openen en te zoeken naar foutmeldingen, zoals een checker die een fout detecteert en de module stopt.
  • Klik op start_prim in de log: uitvoerberichten van het script worden rechts weergegeven en fouten kunnen worden gedetecteerd, zoals een service die verkeerd is gestart.
  • Gebruik de SafeKit AI 🤖 voor hulp bij logberichten.

⚠️ Als het cluster de status WAIT (red) not uptodate, STOP (red) not uptodate heeft, stopt u het WAIT-knooppunt en forceert de start ervan als primair 🖼️.

Het eerste PostgreSQL-knooppunt begint als primair en wordt ALONE

11. Begin knooppunt 2

  • ⋯ Start knooppunt 2 met zijn contextueel menu.
  • Wacht op de status SECOND (groen).

ℹ️ Knooppunt 2 blijft in de status SECOND (oranje) terwijl de gerepliceerde mappen opnieuw worden gesynchroniseerd (kopiëren van knooppunt 1 naar knooppunt 2).

  • Dit kan enige tijd duren, afhankelijk van de grootte van de bestanden die opnieuw moeten worden gesynchroniseerd in gerepliceerde mappen en de netwerkbandbreedte.
  • Om de voortgang van het kopiëren te zien, zie het modulelogboek 🖼️ en de replicatiebronnen 🖼️ van knooppunt 2. Gebruik het SafeKit AI 🤖 voor hulp bij logberichten.

Start het PostgreSQL-knooppunt 2

12. Controleer of het cluster operationeel is

  • Controleer of het cluster groen/groen is en dat de PostgreSQL-services worden uitgevoerd op het PRIM-knooppunt en niet op het SECOND-knooppunt.

In deze staat worden alleen wijzigingen in bestanden in realtime gerepliceerd.

⚠️ Componenten die clients zijn van PostgreSQL-services moeten worden geconfigureerd met het virtuele IP-adres. De configuratie kan worden uitgevoerd met een DNS-naam (als er een DNS-naam is aangemaakt en gekoppeld aan het virtuele IP-adres).

Het PostgreSQL-knooppunt 2 is SECOND (groen)

13. Testen

  • Stop het PRIM-knooppunt door naar beneden te scrollen in het contextmenu en op Stop te klikken.
  • Controleer of er een failover is op het SECOND-knooppunt, dat ALONE (groen) moet worden.
  • En controleer met Microsoft Management Console (MMC) op Windows of met opdrachtregels op Linux de failover van PostgreSQL-services (gestopt op knooppunt 1 in het stop_prim-script en gestart op knooppunt 2 in het start_prim-script).

⚠️ Als ALONE (groen) niet wordt bereikt op node2 of als de applicatie niet wordt gestart, analyseer dan waarom met het module-log 🖼️ van knooppunt 2.

  • Klik op het 🔍log-pictogram van node2 om het modulelogboek te openen en te zoeken naar foutmeldingen, zoals een checker die een fout detecteert en de module stopt.
  • Klik op start_prim in de log: uitvoerberichten van het script worden rechts weergegeven en fouten kunnen worden gedetecteerd, zoals een service die verkeerd is gestart.
  • Gebruik de SafeKit AI 🤖 voor hulp bij logberichten.

⚠️

  • Als alles in orde is, start u node1, waardoor de gerepliceerde mappen van node2 opnieuw worden gesynchroniseerd.
  • Als er iets misgaat, stop dan node2 en force de start als primaire 🖼️ van node1, die opnieuw zal opstarten met de lokaal gezonde gegevens op het moment van de stop.

ℹ️ Vind meer details, samen met video’s, in de SafeKit Online Training.

Stop de PostgreSQL-module op de PRIM-server

14. Ondersteuning

  • Om ondersteuning te krijgen, neemt u 2 SafeKit Snapshots (2 .zip-bestanden), één voor elk knooppunt.

ℹ️ Meer informatie over de ondersteuning hier.

Neem de PostgreSQL-snaphots voor ondersteuning

Demonstratie van de SafeKit spiegeloplossing

SafeKit-video: Clustering op applicatieniveau (8:47)

Ontdek in deze video hoe SafeKit een mirror HA-cluster implementeert zonder de complexiteit van een SAN. Hoewel deze demonstratie Microsoft SQL Server gebruikt, werkt de oplossing op dezelfde manier voor andere databases en applicaties.

Hoofdstukken

  1. 🎬 2 knooppunten met SQL Server (0:32)
  2. 🎬 Configureer het cluster en de mirror.safe-module (3:58)
  3. 🎬 Start en test SQL-replicatie, migratie en failover bij crash (4:17)

Stapsgewijze implementatie

🔍 SafeKit High Availability Navigatiehub

Ontdek SafeKit: Functies, technische video’s, documentatie en gratis proefversie

Type bronBeschrijvingDirecte link
Belangrijkste kenmerkenWaarom kiezen voor SafeKit voor eenvoudige en kosteneffectieve High Availability?Bekijk waarom kiezen voor SafeKit voor High Availability
Use CasesOntdek hoe SafeKit de hoge beschikbaarheid van kritieke infrastructuur waarborgtBekijk alle gebruiksscenario’s (OEM-software, Edge-servers, SCADA en meer)
ImplementatiemodelAll-in-One SANless HA: Shared-Nothing Software ClusteringBekijk SafeKit All-in-One SANless HA
HA-strategieënSafeKit: Infrastructuur (VM) vs. High Availability op applicatieniveauBekijk SafeKit HA & Redundantie: VM vs. Applicatieniveau
Technische specificatiesTechnische beperkingen voor SafeKit ClusteringBekijk SafeKit High Availability beperkingen
Video’sSafeKit: High Availability configuratie & failover demo’sBekijk SafeKit failover-tutorials
ArchitectuurHoe de SafeKit Mirror Cluster werkt (Realtime Replicatie & Failover)Bekijk SafeKit Mirror Cluster: Realtime Replicatie & Failover
ArchitectuurHoe de SafeKit Farm Cluster werkt (Network Load Balancing & Failover)Bekijk SafeKit Farm Cluster: Network Load Balancing & Failover
ConcurrentievoordelenVergelijking: SafeKit vs. Traditionele High Availability (HA) ClustersBekijk de vergelijking tussen SafeKit en traditionele HA-clusters
Technische bronnenSafeKit High Availability: Documentatie, downloads & proefversieBekijk de gratis SafeKit HA-proefversie & technische documentatie
Voorgeconfigureerde oplossingenSafeKit Applicatiemodule-bibliotheek: Gebruiksklare HA-oplossingenBekijk SafeKit High Availability applicatiemodules
SafeKit AI Chat SafeKit AI