Резервное копирование PostgreSQL с помощью Amanda Enterprise

Резервное копирование PostgreSQL с помощью Amanda Enterprise

Должна быть одна из следующих версий PostgreSQL:

  • PostgreSQL 8.x, 9.x
  • Постгрес плюс 8.3

Клиент, работающий с PostgreSQL, должен иметь GNU tar 1.23 или новее.
 

Изменения для Amanda Enterprise Server
 

Если временный каталог резервного копирования и каталог состояния отличаются от значений по умолчанию Аманды, отредактируйте /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes добавить следующие строки в app_ampgsql_user:

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

Изменения для клиента Amanda с сервером PostgreSQL
 

Создайте каталог для журнала упреждающей записи и убедитесь, что amandabackup может читать / писать:

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

Отредактируйте файл конфигурации 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

 

Редактировать Аманда-client.conf файл конфигурации, это может быть либо в /etc/amanda/backup_set_name/amanda-client.conf (может потребоваться создать каталог backup_set_name) или глобально в /etc/amanda/amanda-client.conf. Пояснение к настройкам ниже.
 

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"

 

Чтобы указать параметры для нескольких экземпляров PostgreSQL на сервере, добавьте к имени свойства префикс, соответствующий каталогу резервного копирования. Например:
 

property "PG-USER" "amandabackup"
будет выглядеть так:
property "/path/to/data/dir-PG-USER" "amandabackup"
 

Path_to_PSQL_Data_Dir
Путь к каталогу данных PostgreSQL.
 

Path_to_PSQL_Archive_Dir
Путь к месту, где сегменты WAL будут кэшироваться сервером PostgreSQL во время резервного копирования, а затем архивироваться агентом Zmanda Postgres. Не следует указывать каталог pg_xlog сервера PostgreSQL! Укажите путь за пределами каталога данных PostgreSQL, куда команда архивирования будет копировать файлы для хранения между запусками полного резервного копирования. Пользователь PostgeSQL должен иметь права на чтение, запись и выполнение в этом каталоге. Zmanda рекомендует использовать системные группы для управления разрешениями, а не предоставлять доступ всем пользователям, например добавлять пользователя amandabackup в группу Postgres. Указанный путь должен быть целевым каталогом archive_command в файле конфигурации PostgreSQL.
 

hostname_or_directory_of_socket_file
Укажите имя хоста (localhost, если это уместно) или каталог, в котором находится файл сокета. Записи, начинающиеся с /, интерпретируются как каталог файлов сокета (только каталог, например, / tmp, а не /tmp/.s.PGSQL.5432). Если используется каталог, сервер PostgreSQL и сервер резервного копирования Amanda должны находиться на одной машине.
 

Path_to_PSQL_Binary
Путь к исполняемому двоичному файлу PostgreSQL psql.
 

PostgreSQL_username
Пользователь базы данных PostgreSQL для подключения, который должен иметь права суперпользователя.
 

PSQL_Password
Пароль PostgreSQL.
 

Whether_to_clean_up_WAL
Следует ли удалять старые файлы сегментов WAL во время полных резервных копий. Файлы архива WAL удаляются из расположения PG_ARCHIVEDIR после завершения полного резервного копирования. По умолчанию - да.
 

Database_name
База данных для подключения. PG-USER должен иметь учетные данные для доступа к этой базе данных. Значение по умолчанию - «template1», которое существует в установках PostgreSQL по умолчанию.
* Это не база данных для резервного копирования. Все базы данных в Postgres резервное копирование сервера.
 

Создайте роль LOGIN PostgreSQL с именем amandabackup с привилегиями SUPERUSER и паролем, соответствующим PG-PASSWORD. Например, в базе данных PostgreSQL от имени суперпользователя можно запустить следующую команду:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

Чтобы разрешить Amanda Enterprise Server доступ к серверу PostgreSQL, измените файл pg_hba.conf. Пример, который позволит пользователю amandabackup подключаться с любого IP-адреса в 10.0.0.x, будет следующим:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

Для получения дополнительной информации см.http://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL