Setup für High Availability Datenbanken: OS-Prereqs für Postgres/MySQL

Die Vorbereitung eines Betriebssystems für hochverfügbare Datenbankinstallationen wie PostgreSQL oder MySQL ist entscheidend, um Performance, Stabilität und Ausfallsicherheit zu gewährleisten. Neben der richtigen Hardware spielt die OS-Konfiguration eine zentrale Rolle, da sie das Fundament für Replikation, Failover und konsistente Transaktionsverarbeitung bildet.

Hardware- und OS-Prerequisites

Bevor eine Datenbank hochverfügbar betrieben werden kann, sollten die OS- und Hardware-Bedingungen überprüft und angepasst werden.

CPU und Speicher

  • Mehrkernprozessoren, vorzugsweise mit Hyperthreading für parallele Query-Verarbeitung
  • Ausreichend RAM, um Buffer-Pools und Shared Memory effizient zu nutzen
  • CPU-Affinity bei Bedarf für Datenbankprozesse festlegen
  • taskset -c 0-3 postgres

Storage

  • SSD/NVMe für niedrige Latenzen
  • Separate Partitionen für /var/lib/postgresql oder /var/lib/mysql und /var/log
  • Mount-Optionen wie noatime,nodiratime zur Reduktion von I/O-Overhead
  • mount -o noatime,nodiratime /dev/nvme0n1 /var/lib/postgresql

Networking

  • Stabile Netzwerkverbindung zwischen Master- und Replica-Nodes
  • Separate Interfaces oder VLANs für Replikation und Client-Traffic
  • MTU-Anpassung bei Jumbo Frames, wenn große Datenmengen repliziert werden

Kernel und OS-Tuning

Die Standardwerte des Linux-Kernels sind häufig nicht optimal für Hochverfügbarkeits-Datenbanken.

Shared Memory und Semaphores

  • PostgreSQL benötigt ausreichendes Shared Memory: shmmax und shmall anpassen
  • sysctl -w kernel.shmmax=17179869184
    sysctl -w kernel.shmall=4194304
    
  • Semaphoren für Locking erhöhen:
  • sysctl -w kernel.sem="250 32000 100 128"

File Descriptors und Limits

  • Datenbankprozesse benötigen viele offene Dateien:
  • ulimit -n 65535
  • Limits dauerhaft in /etc/security/limits.conf setzen

IO-Scheduler und Storage Tuning

  • Für NVMe-Disks: none oder mq-deadline als Scheduler verwenden
  • echo none > /sys/block/nvme0n1/queue/scheduler
  • Readahead für Datenbankvolumes reduzieren:
  • blockdev --setra 128 /dev/nvme0n1

OS Security Hardening

High Availability erfordert nicht nur Performance, sondern auch Sicherheit, um unbefugten Zugriff zu verhindern.

SELinux/AppArmor

  • Richtlinien aktivieren, aber Prozesse nicht blockieren: permissive Mode zu Testzwecken
  • setenforce 1  # SELinux enforcing
  • Datenbankprofile prüfen und anpassen

User & Permissions

  • Datenbank als dedizierter User betreiben
  • Nur notwendige Berechtigungen für Datenbank- und Replikationsverzeichnisse
  • chown -R postgres:postgres /var/lib/postgresql
    chmod 700 /var/lib/postgresql
    

Replikation und HA-spezifische OS-Anpassungen

Die OS-Umgebung sollte Failover und Replikation ohne Störungen unterstützen.

TCP Keepalive und Timeouts

  • Verbindung zwischen Master und Replica stabil halten:
  • sysctl -w net.ipv4.tcp_keepalive_time=60
    sysctl -w net.ipv4.tcp_keepalive_intvl=10
    sysctl -w net.ipv4.tcp_keepalive_probes=5
    

Crash Recovery & Journaling

  • Dateisysteme mit data=ordered oder ext4 Journaling für konsistente Snapshots
  • fsync-Parameter in DB konfigurieren, OS muss disk sync zuverlässig unterstützen

Network Namespaces und Firewalls

  • Trennung des Datenbankverkehrs vom Managementnetz
  • Firewall Regeln minimal halten, nur Replikation und Client-Ports öffnen
  • iptables -A INPUT -p tcp --dport 5432 -s 10.0.0.0/24 -j ACCEPT

Monitoring und Observability

Ein robustes Setup benötigt OS- und DB-spezifische Monitoring-Metriken.

Beispiele

  • CPU, Memory, Disk IO, Network Latency
  • Database Replication Lag (Postgres: pg_stat_replication)
  • Process Health (systemd status postgresql, mysqladmin ping)

Automation & Reproducibility

Alle OS-Prerequisites sollten versioniert und automatisiert bereitgestellt werden, z.B. über Ansible oder Terraform, um in Multi-Node HA-Setups konsistente Baselines zu gewährleisten.

Beispiel Ansible Task

- name: Set kernel shared memory
  sysctl:
    name: kernel.shmmax
    value: 17179869184
    state: present

Wichtige Empfehlungen

  • Testen Sie OS-Tuning und Limits vor Go-Live
  • Dokumentieren Sie alle Anpassungen für Compliance und DR-Szenarien
  • Regelmäßige Updates und Sicherheitsprüfungen durchführen
  • Monitoring und Alerts für Replikation, Ressourcen und Netzwerk aktivieren

Mit einem korrekt vorbereiteten Betriebssystem legen Sie die Grundlage für hochverfügbare Postgres- und MySQL-Installationen. Die richtige Abstimmung von Ressourcen, Limits, Security und Netzwerk sorgt dafür, dass Datenbanken stabil, performant und sicher betrieben werden können – auch in Multi-Node HA-Setups.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles