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.safeapplicatiemodule.
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 / Vereiste | Reden & Impact | Aanbevolen alternatief |
|---|---|---|
| Replicatiegrootte: Enkele TB’s | Resynchronisatietijd 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.
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
adminin 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.

2. Configureer knooppuntadressen
- Voer de IP-adressen van het knooppunt in, druk op
Tab keyom 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 applyom 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.

3. Selecteer een module
- Klik in
New moduleop depostgresql.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.

4. Configureer de module
- Kies in
Module startup at bootvoor een automatische start van de module bij het opstarten zonder vertraging. - Voer in
Macros/SERVICESde 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 networkszou 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 addresseseen 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 directoriesde 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
Checkerskunt u indien nodig controlemechanismen configureren, zoals procesbewaking, aangepaste controlemechanismen, TCP, ping of split-braincontrolemechanismen.
Als er bijvoorbeeld een procesnaam wordt weergegeven inMonitored 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).

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.ps1start alle services in de volgorde die is opgegeven in deSERVICES-lijst, terwijlstop_prim.ps1alle services in omgekeerde volgorde stopt.- Bovendien controleert
start_prim.ps1het opstarten van elke service en stopt de module als een service niet correct start.

6. Communicatie-encryptie (optioneel)
- Behoud de codering van de communicatie tussen knooppunten.

7. Opslaan en toepassen
Save and applyde configuratie en scripts op beide knooppunten.

8. Controleer of de configuratie succesvol is
- Controleer het bericht
Success✅ op beide knooppunten en klik opMonitor 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.

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.

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
node1om het modulelogboek te openen en te zoeken naar foutmeldingen, zoals een checker die een fout detecteert en de module stopt. - Klik op
start_primin 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 🖼️.

11. Begin knooppunt 2
- ⋯
Startknooppunt 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.

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).

13. Testen
- Stop het PRIM-knooppunt door naar beneden te scrollen in het contextmenu en op
Stopte 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 hetstart_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
node2om het modulelogboek te openen en te zoeken naar foutmeldingen, zoals een checker die een fout detecteert en de module stopt. - Klik op
start_primin 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.

14. Ondersteuning
- Om ondersteuning te krijgen, neemt u 2 SafeKit
Snapshots(2 .zip-bestanden), één voor elk knooppunt.
ℹ️ Meer informatie over de ondersteuning hier.

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
- 🎬 2 knooppunten met SQL Server (0:32)
- 🎬 Configureer het cluster en de mirror.safe-module (3:58)
- 🎬 Start en test SQL-replicatie, migratie en failover bij crash (4:17)
Stapsgewijze implementatie
- 🛠️ Lees de handleiding over het instellen van een gespiegeld cluster op Windows
- 🛠️ Lees de handleiding over het instellen van een gespiegeld cluster op Linux
🔍 SafeKit High Availability Navigatiehub
Ontdek SafeKit: Functies, technische video’s, documentatie en gratis proefversie
| Type bron | Beschrijving | Directe link |
|---|---|---|
| Belangrijkste kenmerken | Waarom kiezen voor SafeKit voor eenvoudige en kosteneffectieve High Availability? | Bekijk waarom kiezen voor SafeKit voor High Availability |
| Use Cases | Ontdek hoe SafeKit de hoge beschikbaarheid van kritieke infrastructuur waarborgt | Bekijk alle gebruiksscenario’s (OEM-software, Edge-servers, SCADA en meer) |
| Implementatiemodel | All-in-One SANless HA: Shared-Nothing Software Clustering | Bekijk SafeKit All-in-One SANless HA |
| HA-strategieën | SafeKit: Infrastructuur (VM) vs. High Availability op applicatieniveau | Bekijk SafeKit HA & Redundantie: VM vs. Applicatieniveau |
| Technische specificaties | Technische beperkingen voor SafeKit Clustering | Bekijk SafeKit High Availability beperkingen |
| Video’s | SafeKit: High Availability configuratie & failover demo’s | Bekijk SafeKit failover-tutorials |
| Architectuur | Hoe de SafeKit Mirror Cluster werkt (Realtime Replicatie & Failover) | Bekijk SafeKit Mirror Cluster: Realtime Replicatie & Failover |
| Architectuur | Hoe de SafeKit Farm Cluster werkt (Network Load Balancing & Failover) | Bekijk SafeKit Farm Cluster: Network Load Balancing & Failover |
| Concurrentievoordelen | Vergelijking: SafeKit vs. Traditionele High Availability (HA) Clusters | Bekijk de vergelijking tussen SafeKit en traditionele HA-clusters |
| Technische bronnen | SafeKit High Availability: Documentatie, downloads & proefversie | Bekijk de gratis SafeKit HA-proefversie & technische documentatie |
| Voorgeconfigureerde oplossingen | SafeKit Applicatiemodule-bibliotheek: Gebruiksklare HA-oplossingen | Bekijk SafeKit High Availability applicatiemodules |