Ein Artikel darüber, wie CommVault PostgreSQL sichert

In diesem Artikel werden wir unsere Erfahrungen mit CommVault für PostgreSQL-Backups überprüfen. Dazu analysieren wir einen kleinen Teil eines unserer früheren Projekte, in dem wir eine Sicherung der PostgreSQL-Datenbank vom Client aus einrichten.



Über CommVault


CommVault ist eine einzige skalierbare Plattform, die integrierten Datenschutz und Inhaltsverwaltung bietet. Die Plattform unterstützt Softwaremodule mit Funktionen zum Sichern und Wiederherstellen von Daten, deren Archivierung, Deduplizierung, Replikation, hierarchischer Verteilung von Medien und Verschlüsselung. Die Plattformmodule arbeiten mit Unternehmensinhalten aus verschiedenen Quellen und bieten dank einer einzigen intelligenten Indizierung von Dokumenten in einem virtuellen Repository eine End-to-End-Suche nach Informationen in der Unternehmensumgebung und deren ständige Verfügbarkeit auch aus Archiven. Die Plattform ist außerdem mit fortschrittlichen Analysetools ausgestattet, die Berichte über die Aktionen von Benutzern und Anwendungen sowie über die Funktionsweise der Infrastruktur erstellen.

CommVault schützt, stellt Daten wieder her und verwaltet sie und greift in physischen und virtuellen Umgebungen darauf zu.

Informationen zur PostgreSQL-Sicherung


Um eine Sicherung der PostgreSQL-Datenbank durchzuführen, wird ein Agent (iDataAgent) verwendet, der auf dem Server installiert ist, auf dem die Datenbank ausgeführt wird. Der Agent dient zum effektiven Verwalten und Schützen wichtiger Geschäftsdaten in PostgreSQL-Datenbanken. Mit diesem Agenten können Sie den gesamten PostgreSQL-Server oder einzelne Datenbanken sichern und wiederherstellen. Bei Bedarf können Sie auch einzelne Tabellen wiederherstellen.

Hauptmerkmale:


PostgreSQL iDataAgent bietet die Flexibilität, Datenbanken in verschiedenen Modi zu sichern und in kürzester Zeit wiederherzustellen. Sie können jederzeit den gesamten PostgreSQL-Server, einzelne Datenbanken oder archivierte Protokolle sichern oder sichern.

Die Sicherungs- und Wiederherstellungsfunktionen, die in verschiedenen Modi ausgeführt werden können:

  • iDataAgent bietet die Möglichkeit, den gesamten PostgreSQL-Server wiederherzustellen. Alle auf dem Quellserver befindlichen Datenbanken können auf dem Zielserver wiederhergestellt werden.
  • Definieren Sie eine einzelne Datenbank oder Gruppe von Datenbanken als Subclient-Daten und sichern und wiederherstellen.
  • Sichern Sie nur die Protokolle auf dem PostgreSQL-Server. Diese Protokolldateien können verwendet werden, um Datenbanktransaktionen wiederherzustellen, die aufgrund eines Betriebssystem- oder Festplattenfehlers verloren gegangen sind.
  • Stellen Sie Ihren gesamten PostgreSQL-Server zu einem bestimmten Zeitpunkt für die dateisystembasierte Sicherung wieder her.
  • Anzeigen und Überprüfen des Status von Sicherungs- und Wiederherstellungsvorgängen über Job Controller und Ereignisanzeige in der CommCell-Konsole. Verfolgen Sie den Status Ihrer Arbeit mit Berichten, die Sie speichern und verteilen können.
  • Verwenden Sie Sicherungen auf Blockebene, um Daten schneller zu sichern, da Sicherungen nur für Speicherbereiche (oder geänderte Teile der Datenbank) und nicht für die gesamte PostgreSQL-Datenbank gelten.
  • Deduplizierung auf Blockebene Die Deduplizierung bietet eine intelligentere Möglichkeit zum Speichern von Daten, indem Duplikate bei Datenschutzvorgängen identifiziert und entfernt werden.

Architektur


Schema



Wie es funktioniert:

Die CommVault-Plattform wird im Netzwerk als Teil des CommServe-Verwaltungsservers und eines separaten MediaAgent-Servers bereitgestellt (es wird empfohlen, einen physischen Server zu verwenden).

Auf dem Server wird ein Agent (iDataAgent) mit der PostgreSQL-Datenbank installiert, und seine Sicherungsrichtlinien werden gemäß den Anforderungen konfiguriert. iDataAgent sammelt die erforderlichen Daten, komprimiert sie, dedupliziert sie gegebenenfalls, verschlüsselt sie und überträgt sie an MediaAgent.

Ferner werden die Daten auf dem Speichersystem, in einer Bandbibliothek oder in einem Cloud-Speicher abgelegt.
Zur Wiederherstellung werden Daten aus dem Speicher extrahiert und mit PostgreSQL auf den Server kopiert.

Einrichtung in der CommVault-Konsole

Lassen Sie uns nun in der Verwaltungskonsole sehen, wie dies funktioniert.

1. Um die Datenbanksicherung zu starten, wählen Sie in der CommCell Browser-Konsole Folgendes aus:

Client-Computer | | PostgreSQL | | DumpBasedBackupSet.

Klicken Sie mit der rechten Maustaste auf den Standardordner im Subclient und wählen Sie Sichern .



2. Wählen Sie als Sicherungstyp Voll und dann Sofort .

3. Klicken Sie auf OK . Das PostgreSQL- Backup wird gestartet .



4. Während der Ausführung des Jobs kann sein Status über das Jobfenster der CommCell- Konsole überwacht werden.



5. Sobald die Aufgabe abgeschlossen ist, können Sie die Details der abgeschlossenen Aufgabe im Fenster Sicherungsverlauf anzeigen. Wählen Sie den Standardordner im Subclient aus und wählen Sie Sicherungsverlauf .



6. Im Fenster Sicherungsverlauf werden die folgenden Daten zu abgeschlossenen Aufgaben angezeigt:

- Sicherungsfehler beim Ausführen einer Aufgabe;
- Elemente, die erfolgreich gesichert wurden;
- Einzelheiten der Aufgabe;
- Veranstaltungen;
- Protokolldateien;
- Medien, auf denen Daten gespeichert sind.

Warum können Sie sichern

Dump-basiertes Backup:

  • PostgreSQL-Systemdatenbanken;
  • PostgreSQL-Benutzerdatenbanken
  • Sichern eines Dateisystems (File System Based Backup).

PostgreSQL-Datenbanken (Daten und Protokolle) (Daten und Protokolle):

  • Protokolldateien.

Was nicht kopiert wird:

  • PostgreSQL-Anwendungsdateien (Anwendungsdateien);
  • Betriebssystemdaten.

Verwenden Sie das Dateisystem iDataAgent, um die oben genannten Komponenten zu sichern.

Herausforderung


Der Client musste die CommVault-Plattform bereitstellen, um seine Dienste zu sichern. Einer der Dienste war die PostgreSQL-Datenbank, die in einer Clusterkonfiguration mit zwei Knoten bereitgestellt wurde: Master und Standby. Beide arbeiteten auf physischen Servern.

Client PostgreSQL-Konfigurationsfunktionen

Die PostgreSQL-Clusterkonfiguration wurde ausgewählt, um die Fehlertoleranz des Datenbankservers sicherzustellen.

Der Client hat die PostgreSQL-Datenbanksicherung mit pg_dump durchgeführt.

Das Arbeitsschema ist in der folgenden Abbildung dargestellt:



Konfigurieren Sie die Sicherung mit CommVault


Um die Sicherungsplattform zu vereinheitlichen und den Sicherungsspeicher zu nutzen, haben wir uns entschieden, CommVault zum Sichern der PostgreSQL-Datenbank zu verwenden.

Weil Der Client verwendete die PostgreSQL-Clusterkonfiguration. Für die Sicherung haben wir uns entschieden, die Option Dateisystembasierte Sicherung für die Dateisicherung zu verwenden. Gleichzeitig musste ich auf die Verwendung von Block Backup (Block Level Backup) verzichten, weil Die Version des Linux-Kernels, auf dem PostgreSQL bereitgestellt wird, ist höher als der offiziell unterstützte CommVault. Aufgrund der Tatsache, dass der Service für das Unternehmen von entscheidender Bedeutung ist, haben sie beschlossen, einen Sicherungsplan gemäß der Tabelle zu erstellen:

Vollständige Kopie
Transaktionsprotokolle
Grafik
Einmal am Tag um 23 Uhr
Jede Stunde für 24 Stunden
Aufbewahrungszeitraum für Kopien
7 Tage
1 Tag

Das Gesamtvolumen der Datenbank betrug mehr als 1,5 TB. Um die erforderlichen RTO- und RPO-Werte einzuhalten, wurde ein separates LAN-Netzwerk für die Sicherung mit einer Geschwindigkeit von 10 Gbit / s verwendet.

Die Sicherung wurde gemäß dem folgenden Diagramm durchgeführt:



Backups wurden von einem PostgreSQL-Standby-Server erstellt und auf einem Server mit installiertem MediaAgent gespeichert. Anschließend wurden einmal im Monat vollständige Kopien für eine einjährige Haltbarkeit in die Amazon-Cloud hochgeladen.

Alle notwendigen Einstellungen wurden vorgenommen und die Sicherung war erfolgreich.

PostgreSQL Backup-Konfigurationsfunktionen

Bei der Installation und Konfiguration des Backups sind einige Probleme aufgetreten, die unten aufgeführt sind. Ich denke, es wird nützlich sein, diese Funktionen bei der Durchführung ähnlicher Projekte und beim Einrichten der PostgreSQL-Datenbankadministratoren zu berücksichtigen.

  1. Überprüfen Sie, ob für den Master- und den Standby-Knoten dieselben PostgreSQL-Diensteinstellungen gemäß der CommVault-Dokumentation festgelegt sind:
    documentation.commvault.com/commvault/v11_sp14/article?p=21491.htm
  2. Überprüfen Sie, ob die in der Fehlerbehebung für Sicherungen angegebenen Parameter mit den in den Links angegebenen übereinstimmen:
    documentation.commvault.com/commvault/v11_sp14/article?p=21723.htm
    Dokumentation.commvault.com/commvault/v11_sp14/article?p=21518.htm
  3. Stellen Sie sicher, dass die Zugriffsrechte auf den Datenbankserver und die Datenbanken gemäß den folgenden Anforderungen festgelegt wurden:
    documentation.commvault.com/commvault/v11_sp14/article?p=21523.htm

Wiederherstellung

Sichern ist gut. Natürlich interessieren wir uns nicht nur für den Entstehungsprozess, sondern auch für die Restaurierung. Für das, was alles getan ist.

In dieser Situation kann die Wiederherstellung nach unserer Erfahrung in zwei Fällen für den Kunden erforderlich sein:

  1. Wiederherstellung der Datenbank zu einem bestimmten Zeitpunkt, um auf Daten zuzugreifen, die beispielsweise aus der Datenbank gelöscht werden könnten;
  2. Bei Verlust des gesamten PostgreSQL-Datenbankclusters.

Um die Datenbank wiederherzustellen, lesen Sie einfach die Dokumentation unter folgendem Link: documentation.commvault.com/commvault/v11_sp14/article?p=21502.htm

Wir möchten Ihre Aufmerksamkeit auch auf die folgenden Funktionen und Schritte während der Wiederherstellung richten:

  1. Befolgen Sie IMMER das Wiederherstellungsverfahren mit dem PostgreSQL-DBA. Auf diese Weise können Sie falsche Aktionen vermeiden und Probleme, die während des Wiederherstellungsprozesses auftreten, schnell lösen.
  2. Die Wiederherstellung muss auf einem Knoten mit der Rolle des Masters durchgeführt werden.
  3. Stellen Sie beim Wiederherstellen sicher, dass die PostgreSQL-Dienste nach Abschluss des Vorgangs nicht gestartet werden.
  4. Ändern Sie im wiederhergestellten Knoten die Einstellungen in die Master-Rolle, weil In unserem Fall haben wir Standby-Knoten gesichert.
  5. Deaktivieren Sie Dienste auf dem Standby-Knoten, aktivieren Sie sie auf dem Master-Knoten, aktivieren Sie dann den Standby-Knoten und konfigurieren Sie die Replikation erneut.

Fazit


In diesem Artikel haben wir die Sicherung des Linux-Betriebssystems selbst und anderer Systeme nicht berücksichtigt. Dies sollte separat erfolgen. Die CommVault-Dokumentation beschreibt dies ausführlich. Wenn unser Artikel Interesse weckt und es viele Wünsche gibt, werden wir definitiv beschreiben, wie andere Systeme gesichert werden. Schreiben Sie in die Kommentare, welche Systeme für Sie von Interesse sind.

Wir hoffen, dass unsere Erfahrung Ihnen beim Einrichten eines Backups durch den PostgreSQL-DBA hilft.

Autoren:
Sergey Alexandrov, Leiter der Backup Group, Softline
Artyom Khmelenko, leitender Ingenieur, Softline

Source: https://habr.com/ru/post/de442760/


All Articles