Восстановление СУБД
При необходимости восстановления служебной базы данных из резервной копии, выполните следующие шаги:
-
Остановите все процессы на всех узлах, подключенных к служебной базе данных, которую необходимо восстановить:
-
на клиентских узлах с помощью команды:
sudo systemctl stop rubackup_client
-
на серверных узлах с помощью команд:
sudo systemctl stop rubackup_client sudo systemctl stop rubackup_server sudo systemctl stop rubackup_api
-
на АРМ администратора СРК или ином узле, использующемся для запуска Менеджера администратора RuBackup (RBM), закройте окно RBM.
-
-
На узле сервера СУБД PostgreSQL, содержащего служебную базу данных:
-
подключитесь к СУБД в режиме суперпользователя:
sudo -u postgres psql
-
удалите базу данных, которую хотите восстановить из резервной копии:
drop database <database_name>;
где:
-
<database_name>
- это имя базы данных (по умолчанию –rubackup
).
-
-
создайте новую пустую базу данных, в которую будет происходить восстановление:
create database <database_name> owner <owner_name>;
где:
-
<database_name>
- имя новой служебной базы данных; -
<owner_name>
- имя владельца новой служебной базы данных (по умолчанию –rubackup
).
-
-
завершите работу и выйдите:
exit
-
-
Запустите восстановление служебной базы данных:
-
для резервной копии базы данных в формате
plain text
(файл с расширениемsql
):sudo -u <admin_user_name> psql <database_name> <file_name_and_path>.sql
где:
-
<admin_user_name>
- имя пользователя, обладающего правами администратора (по умолчаниюpostgres
); -
<database_name>
- имя созданной новой служебной базы данных; -
<file_name_and_path>.sql
— путь до файла резервной копии служебной базы данных.
-
-
для резервной копии базы данных в формате
custom
(файл с расширением.dump
), с помощью утилитыpg_restore
в терминале выполните следующую команду:pg_restore -h <hostname> -p <port> -U <admin_user_name> -d <database_name> <file_name_and_path>.dump
где:
-
<hostname>
- имя узла, на котором будет восстановлена служебная база данных; -
<port>
-номер порта; -
<admin_user_name>
- имя пользователя, обладающего правами администратора базы данных (по умолчанию этоpostgres
); -
<database_name>
- имя созданной новой служебной базы данных; -
<file_name_and_path>.dump
— путь до файла резервной копии служебной базы данных.
-
-
-
Дождитесь окончания восстановления базы данных и убедитесь, что оно прошло без ошибок.
-
Перезагрузите настройки
systemd
на всех узлах, которые подключены к восстановленной служебной базе данных:sudo systemctl daemon-reload
-
Запустите процессы СРК RuBackup на всех узлах, подключенных к восстановленной служебной базе данных:
-
на клиентских узлах с помощью команды:
sudo systemctl start rubackup_client
-
на серверных узлах с помощью команд:
sudo systemctl start rubackup_client sudo systemctl start rubackup_server
-