Восстановление СУБД

При необходимости восстановления служебной базы данных из резервной копии, выполните следующие шаги:

  1. Остановите все процессы на всех узлах, подключенных к служебной базе данных, которую необходимо восстановить:

    • на клиентских узлах с помощью команды:

      sudo systemctl stop rubackup_client
    • на серверных узлах с помощью команд:

      sudo systemctl stop rubackup_client
      sudo systemctl stop rubackup_server
      sudo systemctl stop rubackup_api
    • на АРМ администратора СРК или ином узле, использующемся для запуска Менеджера администратора RuBackup (RBM), закройте окно RBM.

  2. На узле сервера СУБД 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
  3. Запустите восстановление служебной базы данных:

    • для резервной копии базы данных в формате 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 — путь до файла резервной копии служебной базы данных.

  4. Дождитесь окончания восстановления базы данных и убедитесь, что оно прошло без ошибок.

  5. Перезагрузите настройки systemd на всех узлах, которые подключены к восстановленной служебной базе данных:

    sudo systemctl daemon-reload
  6. Запустите процессы СРК RuBackup на всех узлах, подключенных к восстановленной служебной базе данных:

    • на клиентских узлах с помощью команды:

      sudo systemctl start rubackup_client
    • на серверных узлах с помощью команд:

      sudo systemctl start rubackup_client
      sudo systemctl start rubackup_server