Sichern von PostgreSQL mit Amanda Enterprise

Sichern von PostgreSQL mit Amanda Enterprise

Muss eine der folgenden Versionen von PostgreSQL sein:

  • PostgreSQL 8.x, 9.x.
  • PostgreSQL Plus 8.3

Der Client, auf dem PostgreSQL ausgeführt wird, muss über GNU tar 1.23 oder höher verfügen.
 

Änderungen für den Amanda Enterprise Server
 

Wenn sich das temporäre Sicherungsverzeichnis und das Statusverzeichnis von den Amanda-Standardwerten unterscheiden, bearbeiten Sie /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes um die folgenden Zeilen hinzuzufügen app_ampgsql_user:

  • property "TMPDIR" "Path_to_temp_dir"
  • property "STATEDIR" "Path_to_state_dir"

Änderungen für den Amanda Client, auf dem der PostgreSQL-Server ausgeführt wird
 

Erstellen Sie ein Verzeichnis für Ihr Write-Ahead-Protokoll und stellen Sie sicher, dass amandabackup lesen / schreiben kann:

# mkdir /var/lib/amanda/postgres
# chown amandabackup:post
gres /var/lib/amanda/postgres
 

Bearbeiten Sie die PostgreSQL-Konfigurationsdatei ($ pgdatadir / postgres.conf).
 

archive_mode = on
archive_command = 'cp %p /var/lib/amanda/postgres/%f'
wal_level = archive # only required on Postgres 9.x or greater, acceptable options being archive or hot_standby

 

Bearbeiten amanda-client.conf Konfigurationsdatei, dies kann entweder in sein /etc/amanda/backup_set_name/amanda-client.conf (muss möglicherweise das Verzeichnis backup_set_name erstellen) oder global unter /etc/amanda/amanda-client.conf. Erläuterung der Einstellungen unten.
 

property "PG-DATADIR" "Path_to_PSQL_Data_Dir"
property "PSQL-PATH" "Path_to_PSQL_Binary"
property "PG-ARCHIVEDIR" "Path_to_PSQL_Archive_Dir"
property "PG-CLEANUPWAL" "Whether_to_clean_up_WAL_Yes_or_No"
property "PG-USER" "PostgreSQL_username"
property "PG-PASSWORD" "PSQL_Password"
property "PG-HOST" "hostname_or_directory_of_socket_file"
property "PG-PORT" "TCP_port_to_connect_to. Default: 5432"
property "PG-DB" "Database_name"

 

Um Parameter für mehr als eine PostgreSQL-Instanz auf einem Server anzugeben, fügen Sie dem Eigenschaftsnamen, der dem Sicherungsverzeichnis entspricht, ein Präfix hinzu. Beispielsweise:
 

property "PG-USER" "amandabackup"
wird:
property "/path/to/data/dir-PG-USER" "amandabackup"
 

Path_to_PSQL_Data_Dir
Der Pfad zum PostgreSQL-Datenverzeichnis.
 

Path_to_PSQL_Archive_Dir
Der Pfad, zu dem WAL-Segmente vom PostgreSQL-Server während der Sicherung zwischengespeichert und dann vom Zmanda Postgres-Agenten archiviert werden. Dies sollte nicht auf das Verzeichnis pg_xlog des PostgreSQL-Servers eingestellt werden! Geben Sie einen Pfad außerhalb des PostgreSQL-Datenverzeichnisses an, in den der Archivierungsbefehl Dateien kopiert, die zwischen vollständigen Sicherungsläufen gespeichert werden sollen. Der PostgeSQL-Benutzer muss über Lese-, Schreib- und Ausführungsberechtigungen in diesem Verzeichnis verfügen. Zmanda empfiehlt, Systemgruppen zum Verwalten von Berechtigungen zu verwenden, anstatt allen Benutzern Zugriff zu gewähren, z. B. das Hinzufügen des amandabackup-Benutzers zur Postgres-Gruppe. Der angegebene Pfad sollte das Zielverzeichnis des Befehls archive_command in der PostgreSQL-Konfigurationsdatei sein.
 

hostname_or_directory_of_socket_file
Geben Sie den Hostnamen (ggf. localhost) oder das Verzeichnis an, in dem sich eine Socket-Datei befindet. Einträge, die mit / beginnen, werden als Socket-Dateiverzeichnis interpretiert (nur das Verzeichnis, z. B. / tmp, nicht /tmp/.s.PGSQL.5432). Wenn ein Verzeichnis verwendet wird, müssen sich der PostgreSQL-Server und der Amanda-Sicherungsserver auf demselben Computer befinden.
 

Path_to_PSQL_Binary
Der Pfad zur ausführbaren ausführbaren PostgreSQL psql-Binärdatei.
 

PostgreSQL_username
Der PostgreSQL-Datenbankbenutzer, als den eine Verbindung hergestellt werden soll, muss über Superuser-Berechtigungen verfügen.
 

PSQL_Password
Das PostgreSQL-Passwort.
 

Whether_to_clean_up_WAL
Gibt an, ob alte WAL-Segmentdateien während vollständiger Sicherungen entfernt werden sollen. WAL-Archivdateien werden nach Abschluss der vollständigen Sicherung vom Speicherort PG_ARCHIVEDIR entfernt. Standard ist ja.
 

Database_name
Die Datenbank, zu der eine Verbindung hergestellt werden soll. Der PG-USER sollte über Anmeldeinformationen verfügen, um auf diese Datenbank zugreifen zu können. Der Standardwert ist "template1", der in Standardinstallationen von PostgreSQL vorhanden ist.
* Dies ist nicht die zu sichernde Datenbank. Alle Datenbanken in der Postgres Server werden gesichert.
 

Erstellen Sie eine LOGIN PostgreSQL-Rolle namens amandabackup mit SUPERUSER-Berechtigungen und einem Kennwort, das mit PG-PASSWORD übereinstimmt. Beispielsweise kann der folgende Befehl in der PostgreSQL-Datenbank als Superuser ausgeführt werden:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

Um Amanda Enterprise Server den Zugriff auf den PostgreSQL-Server zu ermöglichen, ändern Sie die Datei pg_hba.conf. Ein Beispiel, mit dem der amandabackup-Benutzer von einer beliebigen IP-Adresse in 10.0.0.x aus eine Verbindung herstellen kann, lautet wie folgt:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

Weitere Informationen finden Sie unterhttp://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL