Cluster erstellen

Wählen Sie eine Dokumentationsversion aus:

Erstellen Sie einen Datenbankcluster, um AlloyDB Omni zu verwenden.

Beschränkungen

Es gelten folgende Einschränkungen:

  • AlloyDB Omni wird auf Port 5432 ausgeführt. Das Konfigurieren eines benutzerdefinierten Ports wird nicht unterstützt.

  • Achten Sie darauf, dass alle Datenbankparameterkonfigurationen korrekt sind, bevor Sie den Cluster erstellen. Nachdem Ihr Cluster erstellt wurde, können Sie keine Datenbankparameter mehr ändern.

Hinweis

Führen Sie vor dem Erstellen des Clusters die folgenden Schritte aus:

  • AlloyDB Omni-Orchestrator installieren

  • AlloyDB Omni-Komponenten installieren

  • TLS-Zertifikate konfigurieren

  • Stellen Sie ein externes Volume (DataDisk) für PG_DATA_DIR auf allen Datenbankknoten bereit, die im Orchestrator bereitgestellt werden.

  • Wenn Sie alloydbctl anstelle von Ansible verwenden möchten, muss das erforderliche policycoreutils-python-utils-Paket auf allen Ihren VMs installiert sein. Führen Sie den folgenden Befehl aus, um dieses Paket zu installieren:

    sudo dnf install policycoreutils-python-utils
  • Wenn Sie die Google Cloud -Umgebung verwenden, legen Sie ENVIRONMENT_TYPE auf gcp fest. Anschließend müssen Sie Ihr gcloud CLI-Konto authentifizieren, indem Sie gcloud auth login als root-Nutzer ausführen. Außerdem muss das authentifizierte Konto die folgenden Berechtigungen haben:

    • compute.instances.get
    • compute.instances.list
    • compute.instances.updateNetworkInterface

Clusterspezifikationen vorbereiten

Damit Ihr Cluster erstellt werden kann, muss AlloyDB Omni wissen, wie er konfiguriert werden soll. Erstellen Sie eine YAML-Datei im Format DBCluster, um die erforderlichen Spezifikationen zu erstellen:

Secret:
  metadata:
    name: db-pw-DBCLUSTER_NAME
  spec:
    type: Opaque
    data:
      DBCLUSTER_NAME: BASE64_PASSWORD
---
DBCluster:
  metadata:
    name: DBCLUSTER_NAME
  spec:
    databaseVersion: 18.3.0
    mode: ""
    availability:
      numberOfStandbys: NUM_STANDBY_NODES
      enableAutoFailover: true
      enableAutoHeal: true
      autoFailoverTriggerThreshold: AUTOFAILOVER_TRIGGER_THRESHOLD
      autoHealTriggerThreshold: AUTOHEAL_TRIGGER_THRESHOLD
      healthcheckPeriodSeconds: HEALTHCHECK_PERIOD
      replayReplicationSlotsOnStandbys: false
    primarySpec:
      adminUser:
        passwordRef:
          name: db-pw-DBCLUSTER_NAME
      resources:
        cpu: CPU_LIMIT
        memory: MEMORY_LIMIT
        disks:
        - name: DataDisk
          path: PG_DATA_DIR
      parameters:
        max_connections: "MAX_CONNECTIONS"
        max_wal_size: "MAX_WAL_SIZE"
      dbLoadBalancerOptions:
        DB_LOAD_BALANCER_TYPE:
          loadBalancerIP: "VIRTUAL_IP"
          loadBalancerType: "internal"
          loadBalancerInterface: "VIRTUAL_IP_INTERFACE"

Ersetzen Sie die folgenden Variablen:

  • DBCLUSTER_NAME: Name Ihres Datenbankclusters. Beispiel: my-dbcluster.

  • BASE64_PASSWORD: Base64-codiertes Passwort für den Administratornutzer postgres.

  • NUM_STANDBY_NODES: Anzahl der Standby-Knoten in Ihrem Cluster. Beispiel: 2.

  • (Optional) AUTOFAILOVER_TRIGGER_THRESHOLD: Die Anzahl der Male, die die Systemdiagnose fehlschlagen kann, bevor ein Failover erfolgt. Der Standardwert ist 3. Der Mindestwert ist 0. Wenn der Wert auf 0 festgelegt ist, verwendet AlloyDB Omni den Standardwert.

    Ein automatisches Failover erfolgt, wenn die Systemdiagnose AUTOFAILOVER_TRIGGER_THRESHOLD-mal fehlschlägt oder wenn die kumulative Dauer der Systemdiagnose HEALTHCHECK_PERIOD * AUTOFAILOVER_TRIGGER_THRESHOLD Sekunden erreicht.

  • (Optional) AUTOHEAL_TRIGGER_THRESHOLD: Anzahl der Male, die die Systemdiagnose fehlschlagen kann, bevor die automatische Reparatur beginnt. Der Standardwert ist 3. Der Mindestwert ist 0. Wenn der Wert auf 0 festgelegt ist, verwendet AlloyDB Omni den Standardwert.

    Eine automatische Wiederherstellung erfolgt, wenn die Systemdiagnose AUTOHEAL_TRIGGER_THRESHOLD-mal fehlschlägt oder die kumulative Dauer der Systemdiagnose HEALTHCHECK_PERIOD * AUTOHEAL_TRIGGER_THRESHOLD Sekunden erreicht.

  • (Optional) HEALTHCHECK_PERIOD: Anzahl der Sekunden, die zwischen den einzelnen Systemdiagnosen gewartet werden soll. Der Standardwert ist 30. Der Mindestwert beträgt 1. Der Höchstwert ist 86400 (ein Tag).

  • CPU_LIMIT: Anzahl der CPUs, die dem Datenbankcontainer zugewiesen werden sollen. Beispiel: 4.

  • MEMORY_LIMIT: Menge an Arbeitsspeicher, die dem Datenbankcontainer zugewiesen werden soll. Beispiele: 32Gi, 500Mi

  • PG_DATA_DIR: Hostpfad zum Verzeichnis, in dem die Datenbankdaten gespeichert werden.

  • (Optional) MAX_CONNECTIONS: Maximale Anzahl gleichzeitiger Verbindungen zur PostgreSQL-Datenbank. Der Standardwert ist 50. Der unterstützte Mindestwert ist ebenfalls 50. Weitere Informationen finden Sie in der PostgreSQL-Referenz zu max_connections.

  • (Optional) MAX_WAL_SIZE: Die maximale Größe, auf die das Write-Ahead-Log (WAL) während automatischer Prüfpunkte wachsen darf. Der Standardwert ist 1GB. Weitere Informationen finden Sie in der PostgreSQL-Referenz zu max_wal_size.

  • (Optional) ENVIRONMENT_TYPE: Bestimmt die Umgebung, in der der Cluster eingerichtet wird: onprem oder gcp.

  • (Optional) VIRTUAL_IP: Virtuelle IP-Adresse, die vom Load-Balancer verwendet wird. Wenn Sie dbLoadBalancerOptions definieren, ist dies erforderlich. Weitere Informationen finden Sie unter Hochverfügbarkeit verwalten.

  • (Optional) VIRTUAL_IP_INTERFACE: Netzwerkschnittstelle, auf der VIRTUAL_IP konfiguriert ist. Der Standardwert ist eth0.

Cluster erstellen

Wählen Sie den Tab aus, der Ihrer Umgebung entspricht, und folgen Sie der Anleitung, um Ihren Cluster zu erstellen.

Ansible

Führen Sie die folgenden Schritte aus, um den Cluster zu erstellen:

  1. Erstellen Sie ein Playbook für die Spezifikationen Ihres Datenbankclusters.

    - name: Create DBCluster
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.bootstrap
    
    

    Ersetzen Sie die folgenden Variablen:

    • ANSIBLE_USER: Betriebssystemnutzer, den Ansible verwendet, um sich in Ihren AlloyDB Omni-Knoten anzumelden.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.

  2. Führen Sie Ihr Playbook aus.

    ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPEC" \
          -e resource_spec="DBCLUSTER_SPECIFICATIONS"

    Ersetzen Sie die folgenden Variablen:

    • DBCLUSTER_PLAYBOOK: Pfad zum Playbook, das Sie für Ihren Datenbankcluster erstellt haben.

    • DEPLOYMENT_SPEC: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.

    • DBCLUSTER_SPECIFICATIONS: Pfad zu Ihren Clusterspezifikationen.

alloydbctl

Führen Sie den folgenden Befehl aus, um den Cluster zu erstellen.

alloydbctl apply -d "DEPLOYMENT_SPEC" -r "DBCLUSTER_SPECIFICATIONS"

Ersetzen Sie die folgenden Variablen:

  • DEPLOYMENT_SPEC: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.

  • DBCLUSTER_SPECIFICATIONS: Pfad zu Ihren Clusterspezifikationen.

Cluster löschen

Wenn Sie Ihren Cluster löschen möchten, wählen Sie den Tab aus, der Ihrer Umgebung entspricht, und folgen Sie der Anleitung.

Ansible

So löschen Sie Ihren Cluster mit Ansible:

  1. Erstellen Sie ein Playbook mit dem Namen teardown.yaml:

    - name: Tear down AlloyDB Omni cluster
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.delete
    
  2. Führen Sie das Playbook mit ansible-playbook aus. Sie müssen DBCluster als resource_type und den Namen des zu löschenden Clusters als resource_name angeben.

    ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
      -e `resource_type`=`DBCluster` -e `resource_name`="DBCLUSTER_NAME"

Wenn der Abbauprozess aufgrund von Inkonsistenzen im Clusterstatus fehlschlägt (z. B. wenn ein Knoten nicht erreichbar ist), können Sie versuchen, das Löschen des Clusters zu erzwingen, indem Sie dem Befehl -e force=true hinzufügen. Dadurch wird der Orchestrator angewiesen, Fehler während des Bereinigungsprozesses zu ignorieren und zu versuchen, so viele Ressourcen wie möglich zu entfernen.

  ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
    -e resource_type=DBCluster -e resource_name="DBCLUSTER_NAME" -e force=true

alloydbctl

Führen Sie den folgenden Befehl aus, um den Cluster mit alloydbctl zu löschen:

alloydbctl delete -d "DEPLOYMENT_SPEC" \
      --resource_type DBCluster --resource_name "DBCLUSTER_NAME"

Ersetzen Sie die folgenden Variablen:

  • DEPLOYMENT_SPEC: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.

  • DBCLUSTER_NAME: Name Ihres Datenbankclusters. Beispiel: my-dbcluster.

Anhang: SELinux-Richtlinienspezifikationen

In den folgenden Tabellen sind die SELinux-Richtlinienregeln und Zugriffsberechtigungen aufgeführt, die für jede Komponente konfiguriert sind, die auf den jeweiligen Knoten ausgeführt wird. Diese Richtlinien definieren die obligatorischen Grenzen für die Prozessisolation, die Bindungen von Netzwerk-Sockets und den Speicherzugriff, die erforderlich sind, wenn Hosts im SELinux-Erzwingungsmodus ausgeführt werden.

AlloyDB Omni

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
init_t (systemd) postgresql_exec_t file getattr, open, read, execute Ermöglicht dem systemd-Dienstmanager, die PostgreSQL-Binärdatei auszuführen.
init_t postgresql_t process transition Erzwingt den obligatorischen Domainübergang von systemd in die eingeschränkte postgresql_t-Domain.
postgresql_t postgresql_exec_t file entrypoint, execute, read, map Beschränkt den Domäneneintrag streng auf die offizielle ausführbare PostgreSQL-Datei.
postgresql_t lib_t file/dir read, open, getattr, map Autorisiert den Zugriff des dynamischen Linkers auf gemeinsam genutzte Datenbankbibliotheken.
postgresql_t postgresql_db_t dir open, read, write, create, rmdir, search, getattr, setattr, add_name, remove_name Verwaltet den gesamten Lebenszyklus des Speicherverzeichnisses für das Datenverzeichnis und die Tablespaces.
postgresql_t postgresql_db_t file open, read, write, create, unlink, lock, append, getattr, setattr, map Autorisiert Lese-/Schreibvorgänge für Heap-Tabellen, WAL-Segmente, Kataloge und Indexe.
postgresql_t postgresql_var_run_t dir/sock_file open, read, write, create, unlink, search, getattr Verwaltet die PID-Datei und den Unix-Domain-Socket der Laufzeit in /var/run/postgresql.
postgresql_t postgresql_port_t tcp_socket name_bind Beschränkt die TCP-Netzwerkbindung strikt auf zugewiesene PostgreSQL-Ports (Standard-TCP 5432).
alloydbomni_nm_t postgresql_exec_t file execute, execute_no_trans, getattr, open, read, map Autorisiert Node Manager, Systemdiagnosen und Steuerungstools wie pg_isready oder pg_ctl auszuführen.
alloydbomni_nm_t postgresql_db_t dir/file open, read, write, create, unlink, relabelto, relabelfrom Gewährt Node Manager die Berechtigung, Verzeichnisse zu initialisieren und SELinux-Labels anzuwenden.

AlloyDB Omni-Monitor

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
postgresql_t unreserved_port_t tcp_socket name_bind Autorisiert das Binden an einen hohen nicht reservierten Port, um Prometheus-Messwerte und den Systemdiagnosestatus zu exportieren.
postgresql_t net_conf_t file open, read, getattr Lesezugriff auf /etc/resolv.conf für die DNS- und Hostnamensauflösung.
postgresql_t sysfs_t file/dir open, read, getattr, search Hostmesswerte prüfen, ohne Root- oder Administratorberechtigungen zu gewähren.

Keepalived

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
keepalived_t keepalived_script_exec_t file execute, execute_no_trans, getattr, open, read, map, setattr, ioctl Die Ausführung von VIP-Tracking-Scripts wird auf einen dedizierten, eingeschränkten Scriptkontext beschränkt.
keepalived_t hostname_exec_t file execute, execute_no_trans, getattr, open, read, map Ruft das Standardsystem hostname auf, um die Knotenidentität während des Failovers zu überprüfen.
keepalived_t ifconfig_exec_t file execute, execute_no_trans, getattr, open, read, map Weist die virtuelle IP-Adresse der physischen Netzwerkschnittstelle zu und gibt sie wieder frei.
keepalived_t systemd_systemctl_exec_t file execute, execute_no_trans, getattr, open, read, map Fragt Dienstabhängigkeitsstatus mit „systemctl“ ab, ohne die Dienstkonfiguration zu ändern.
keepalived_t system_dbusd_t unix_stream_socket connectto Stellt eine Verbindung zum System-DBus-Daemon für prozessübergreifende Benachrichtigungen her.
keepalived_t system_dbusd_t/init_t dbus send_msg Sendet DBus-Statusübergangsereignisse an die systemd-Domäne init_t.
keepalived_t haproxy_unit_file_t/systemd_unit_file_t service status Prüft den Betriebsstatus von HAProxy und zugehörigen Diensten.
keepalived_t haproxy_var_lib_t dir / file / sock_file open: read, write, search, getattr Untersucht den HAProxy-Statistiksocket in /var/lib/haproxy, wenn er bereitgestellt wird.
keepalived_t keepalived_var_run_t dir/file open, read, write, create, unlink, search, getattr Verwaltet den Laufzeitstatus und PID-Tracking-Dateien in /var/run/keepalived.
alloydbomni_nm_t keepalived_t process signal, signull Ermöglicht Node Manager, den Daemon-Lebenszyklus mithilfe von POSIX-Signalen zu verwalten.

HAProxy

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
haproxy_t postgresql_port_t tcp_socket name_bind, name_connect Überwacht Port 5432 und leitet Datenbankverbindungen an Back-End-Datenbankknoten weiter.
haproxy_t unreserved_port_t tcp_socket name_bind, name_connect Überwacht benutzerdefinierte Load-Balancer-Ports und stellt eine Verbindung zu Upstream-Lese-/Schreibendpunkten her.
haproxy_t haproxy_conf_t file/dir open, read, search, getattr Schreibgeschützter Konfigurationszugriff für /etc/haproxy/haproxy.cfg.
haproxy_t haproxy_var_lib_t dir / file / sock_file open, read, write, create, unlink, search, getattr Verwaltet Laufzeitsockets und Statistiktabellen in /var/lib/haproxy.
haproxy_t haproxy_var_run_t dir/file open, read, write, create, unlink, search, getattr Verwaltet PID- und Steuerungssockel in /var/run/haproxy.
alloydbomni_nm_t haproxy_unit_file_t service start, stop, status, reload, enable, disable Autorisiert Node Manager, den Lebenszyklus des HAProxy-Systemd-Dienstes zu steuern.
alloydbomni_nm_t haproxy_t process signal, signull Autorisiert den Node Manager, bei Konfigurationsänderungen Neuladesignale zu senden.

PgBouncer

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
init_t pgbouncer_exec_t file getattr, open, read, execute Ermöglicht systemd, die ausführbare Datei von PgBouncer (/usr/bin/pgbouncer) aufzurufen.
init_t pgbouncer_t process transition Automatisiert die Domainumstellung von systemd auf isoliertes pgbouncer_t.
pgbouncer_t pgbouncer_exec_t file entrypoint, execute, read, map Beschränkt den ausführbaren Einstiegspunkt auf /usr/bin/pgbouncer.
pgbouncer_t unreserved_port_t tcp_socket name_bind Wartet auf eingehende Client-Datenbankverbindungen, z. B. TCP-Port 6432.
pgbouncer_t node_t tcp_socket node_bind Bindet den Netzwerk-Socket an die Netzwerkschnittstellen des Knotens.
pgbouncer_t postgresql_port_t/unreserved_port_t tcp_socket name_connect Stellt TCP-Verbindungen zu Backend-AlloyDB Omni-Datenbankinstanzen her.
pgbouncer_t self unix_stream_socket create, bind, listen, accept, read, write, connectto Bietet lokale Clientverbindungen über Unix Domain Sockets.
pgbouncer_t pgbouncer_conf_t file/dir open, read, getattr, search Schreibgeschützter Konfigurationszugriff für /etc/pgbouncer/pgbouncer.ini und Nutzerauthentifizierungsdateien.
pgbouncer_t pgbouncer_var_run_t/tmp_t dir/sock_file open, read, write, create, unlink, search, getattr Erstellt und verwaltet Laufzeit-Socketdateien in /var/run/pgbouncer und /tmp.
pgbouncer_t self netlink_route_socket create, bind, read, write, nlmsg_read, getattr Ermittelt den Netzwerkpfad zum Auflösen von Datenbank- und Clientendpunkten.
pgbouncer_t self udp_socket create, connect, read, write, getattr, setopt, getopt Führt die DNS-Namensauflösung durch.
pgbouncer_t init_t/kernel_t unix_dgram_socket sendto Sendet sd_notify-Heartbeat- und Bereitschaftssignale an systemd.
pgbouncer_t sysfs_t file/dir open, read, getattr, search Liest die CPU-Topologie zur Optimierung von Arbeitsthreads.

pgBackRest

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
postgresql_t/alloydbomni_nm_t pgbackrest_exec_t file execute: getattr, open, read, map Ermöglicht es Postgres und Node Manager, /usr/bin/pgbackrest für die WAL-Archivierung bzw. Sicherungen auszuführen.
postgresql_t/alloydbomni_nm_t pgbackrest_t process transition, signal, sigkill, signull Kontrollierter Übergang in die eingeschränkte pgbackrest_t-Domain.
pgbackrest_t pgbackrest_exec_t file entrypoint, execute, execute_no_trans, read, map, getattr, open Beschränkt den pgBackRest-Binäreinstiegspunkt.
pgbackrest_t postgresql_db_t dir / file / lnk_file open, read, write, create, unlink, lock, append, search, getattr, setattr, map Liest/schreibt Datenbankdateien während der physischen Sicherung und der Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR).
pgbackrest_t postgresql_t unix_stream_socket connectto Stellt über einen lokalen Socket eine Verbindung zur laufenden PostgreSQL-Engine her, um Backup-Prüfpunkte auszulösen.
pgbackrest_t postgresql_var_run_t dir / sock_file / file open: read, write, search, getattr Greift auf den PostgreSQL-Verbindungssocket in /var/run/postgresql zu.
pgbackrest_t http_port_t tcp_socket name_connect Strict Egress: Ausgehende TCP-Verbindungen sind streng auf HTTPS (443) für Cloud-Objektspeicher (GCS/S3) beschränkt. Eingehende Listener sind nicht zulässig.
pgbackrest_t cert_t dir / file / lnk_file open: read, search, getattr, map Liest Zertifikate aus dem System-Truststore (/etc/pki/tls), um TLS-Verbindungen zum Objektspeicher zu validieren.
pgbackrest_t pgbackrest_conf_t file/dir open: read, getattr, search, map Schreibgeschützter Konfigurationszugriff für /etc/pgbackrest/pgbackrest.conf.
pgbackrest_t pgbackrest_log_t file/dir open, read, write, create, unlink, append, lock, getattr, setattr Verwaltet Audit-Logs in /var/log/pgbackrest.
pgbackrest_t pgbackrest_tmp_t dir / file / sock_file open, read, write, create, unlink, append, lock, getattr, setattr, relabelto, relabelfrom Dedizierter isolierter temporärer Speicher und Inter-Thread-Kommunikationssockets in /tmp/pgbackrest.
pgbackrest_t shadow_t / sysfs_t / sssd_var_lib_t file/dir dontaudit (unterdrückt) Irrelevante Host-Anmeldedatenanfragen werden automatisch verworfen und ignoriert, um das Audit-Log nicht zu überladen.

Node Manager

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
init_t alloydbomni_nm_exec_t file getattr, open, read, execute Ermöglicht systemd, den Node Manager-Daemon zu starten.
alloydbomni_nm_t self capability audit_write, chown, dac_override, dac_read_search, fowner, fsetid, setgid, setuid, net_admin Streng begrenzte Linux-Funktionen, die für die Verwaltung des Hostlebenszyklus und die Bereitstellung von Volumes erforderlich sind.
alloydbomni_nm_t unreserved_port_t tcp_socket name_bind, name_connect Stellt gRPC-/HTTP-APIs für Cluster Manager und Systemdiagnose-Probes für HAProxy bereit.
alloydbomni_nm_t http_port_t tcp_socket name_connect Ausgehende Kommunikation mit Cloud-APIs oder Monitoring-Endpunkten.
alloydbomni_nm_t semanage_exec_t, setfiles_exec_t, setsebool_exec_t, load_policy_exec_t file execute, execute_no_trans, getattr, open, read, map Führt die wichtigsten SELinux-Verwaltungsbinärdateien aus, um CIL-Richtlinien zu kompilieren und zu erzwingen.
alloydbomni_nm_t security_t security load_policy Lädt kompilierte SELinux-Richtlinienmodule direkt in den Linux-Kernel.
alloydbomni_nm_t semanage_store_t, selinux_config_t dir/file open, read, write, create, unlink, lock, getattr Verwaltet persistente SELinux-Richtlinienkonfigurationsspeicher.
alloydbomni_nm_t unlabeled_t (Laufwerke/Bereitstellungen) filesystem / dir / file getattr, open, read, write, create, unlink, setattr, relabelto, relabelfrom Dynamische Neubezeichnung von Laufwerken: Erkennt neu angehängte Rohlaufwerke, z. B. /data1 oder /obs, und benennt sie in postgresql_db_t um.
alloydbomni_nm_t rpm_exec_t file execute, execute_no_trans, getattr, open, read, ioctl, map Führt RPM-/DNF-Paketmanagerbefehle für die automatisierte Softwareinstallation und ‑aktualisierung aus.
alloydbomni_nm_t rpm_var_cache_t, rpm_var_lib_t, rpm_log_t dir/file open, read, write, create, unlink, lock, getattr Verwaltet RPM-Datenbank- und Cache-Dateien während der Paketinstallation.
alloydbomni_nm_t systemd_unit_file_t, syslogd_unit_file_t, haproxy_unit_file_t, keepalived_unit_file_t service start, stop, status, reload, enable, disable Orchestriert den Lebenszyklus von systemd-Diensten für alle verwalteten Datenbanken und Hilfskomponenten.
alloydbomni_nm_t system_dbusd_t, systemd_logind_t, systemd_hostnamed_t dbus/unix_stream_socket send_msg, connectto Koordiniert den Hoststatus, die Zeit und die Systemprotokollierung über den System-DBus.

Cluster Manager

Quelldomain Zielressource / Typ Sicherheitsklasse Gewährte Berechtigungen Sicherheitsbegründung und Einschränkung
init_t alloydbcontrol_exec_t file getattr, open, read, execute Ermöglicht es systemd, die ausführbare Datei des Cluster-Managers zu starten.
alloydbcontrol_t alloydbcontrol_exec_t file entrypoint, execute, read, map, getattr, open Beschränkt die Ausführung der Steuerungsebene auf das autorisierte Binärprogramm.
alloydbcontrol_t unreserved_port_t tcp_socket name_bind, name_connect Bindet API-Endpunkte und stellt eine Verbindung zum Distributed Consensus Store (DCS / etcd) und zu Node-Managern her.
alloydbcontrol_t node_t tcp_socket node_bind Bindet Netzwerk-Listener an Netzwerkschnittstellen.
alloydbcontrol_t alloydbcontrol_conf_t file/dir open, read, search, getattr Schreibgeschützter Konfigurationszugriff für /etc/alloydbomni/cluster_manager.
alloydbcontrol_t net_conf_t, passwd_file_t, sssd_public_t, sssd_var_lib_t file/dir open, read, search, getattr Hostauflösung und Nutzerauthentifizierung für Verwaltungsschnittstellen.
alloydbcontrol_t cgroup_t, sysctl_net_t, sysfs_t file/dir open, read, search, getattr Schreibgeschützte Go-Laufzeitleistungsoptimierung und Telemetrie.
alloydbcontrol_t init_t unix_stream_socket dontaudit (ioctl) Unterdrückt nicht kritische Systemd-Dateideskriptor-ioctl-Warnungen.