Tworzenie kopii zapasowych PostgreSQL przy użyciu Amanda Enterprise

Tworzenie kopii zapasowych PostgreSQL przy użyciu Amanda Enterprise

Musi być jedną z następujących wersji PostgreSQL:

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

Klient z PostgreSQL musi mieć GNU tar 1.23 lub nowszy.
 

Zmiany dla Amanda Enterprise Server
 

Jeśli katalog tymczasowy kopii zapasowej i katalog stanu różnią się od domyślnych wartości Amandy, edytuj /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes aby dodać następujące wiersze do aplikacja_ampgsql_user:

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

Zmiany dla klienta Amanda z serwerem PostgreSQL
 

Utwórz katalog dla swojego dziennika zapisu z wyprzedzeniem i upewnij się, że amandabackup może odczytywać / zapisywać:

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

Edytuj plik konfiguracyjny PostgreSQL ($ 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

 

Edytuj amanda-client.conf plik konfiguracyjny, może to być plik /etc/amanda/backup_set_name/amanda-client.conf (może być konieczne utworzenie katalogu backup_set_name) lub globalnie pod adresem /etc/amanda/amanda-client.conf. Objaśnienie ustawień poniżej.
 

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"

 

Aby określić parametry dla więcej niż jednej instancji PostgreSQL na serwerze, dodaj przedrostek do nazwy właściwości, która odpowiada katalogowi kopii zapasowej. Na przykład:
 

property "PG-USER" "amandabackup"
staje się:
property "/path/to/data/dir-PG-USER" "amandabackup"
 

Path_to_PSQL_Data_Dir
Ścieżka do katalogu danych PostgreSQL.
 

Path_to_PSQL_Archive_Dir
Ścieżka do miejsca, w którym segmenty WAL będą buforowane przez serwer PostgreSQL podczas tworzenia kopii zapasowej, a następnie archiwizowane przez agenta Zmanda Postgres. Nie powinno to być ustawione na katalog pg_xlog serwera PostgreSQL! Określ ścieżkę poza katalogiem danych PostgreSQL, do którego polecenie archiwum będzie kopiować pliki do przechowywania między uruchomieniami pełnej kopii zapasowej. Użytkownik PostgeSQL musi mieć uprawnienia do odczytu, zapisu i wykonywania w tym katalogu. Zmanda zaleca używanie grup systemowych do zarządzania uprawnieniami zamiast przyznawania dostępu wszystkim użytkownikom, na przykład dodawanie użytkownika amandabackup do grupy Postgres. Określona ścieżka powinna być katalogiem docelowym komendy_archiwum w pliku konfiguracyjnym PostgreSQL.
 

hostname_or_directory_of_socket_file
Podaj nazwę hosta (jeśli jest to właściwe, localhost) lub katalog, w którym znajduje się plik gniazda. Wpisy zaczynające się od / są interpretowane jako katalog plików gniazda (tylko katalog, na przykład / tmp, a nie /tmp/.s.PGSQL.5432). Jeśli używany jest katalog, serwer PostgreSQL i serwer kopii zapasowych Amandy muszą znajdować się na tym samym komputerze.
 

Path_to_PSQL_Binary
Ścieżka do binarnego pliku wykonywalnego PostgreSQL psql.
 

PostgreSQL_username
Użytkownik bazy danych PostgreSQL, jako użytkownik bazy danych, który ma mieć uprawnienia administratora.
 

PSQL_Password
Hasło PostgreSQL.
 

Whether_to_clean_up_WAL
Określa, czy usuwać stare pliki segmentów WAL podczas pełnych kopii zapasowych. Pliki archiwum WAL są usuwane z lokalizacji PG_ARCHIVEDIR po wykonaniu pełnej kopii zapasowej. Domyślnie tak.
 

Database_name
Baza danych do połączenia. PG-USER powinien mieć poświadczenia dostępu do tej bazy danych. Wartością domyślną jest „template1”, który istnieje w domyślnych instalacjach PostgreSQL.
* To nie jest baza danych do tworzenia kopii zapasowych. Wszystkie bazy danych w Postgres serwer jest zarchiwizowany.
 

Utwórz rolę LOGIN PostgreSQL o nazwie amandabackup z uprawnieniami SUPERUSER i hasłem pasującym do PG-PASSWORD. Na przykład następujące polecenie można uruchomić w bazie danych PostgreSQL jako superużytkownik:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

Aby umożliwić Amandzie Enterprise Server dostęp do serwera PostgreSQL, zmodyfikuj plik pg_hba.conf Przykładem, który pozwoliłby użytkownikowi amandabackup na połączenie z dowolnego adresu IP w 10.0.0.x byłby następujący:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

Aby uzyskać więcej informacji, zobaczhttp://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL