Быстрый старт

  1. Установите docker и docker-compose.

    sudo apt install docker.io docker-compose-v2

    Проверьте результат установки.

    docker --version && docker compose version && systemctl status docker.service
  2. Поместите архив srk_installer.tar.zst в директорию /opt и перейдите в нее.

    cd /opt/
  3. Создайте директорию, распакуйте архив и перейдите в нее.

    mkdir -p srk_installer && tar -xf srk_installer.tar.zst -C srk_installer && cd srk_installer
  4. Для установки RuBackup Infractructure Manager запустите скрипт.

    sudo ./srk_install.sh
  5. Выполните интерактивную настройку RuBackup Infractructure Manager.

    • Установите RuBackup Infractructure Manager.

      Что необходимо сделать с приложением RuBackup Infractructure Manager
      установить/удалить/остановить/запустить [по умолчанию: установить]:
    • Укажите IP-адрес или DNS-имя текущей машины для использования в конфигурационных файлах RuBackup Infractructure Manager.

      Введите IP-адрес или DNS-имя машины (данной машины), который будет
      использован в конфигурационных файлах RuBackup Infractructure Manager
      СРК RuBackup [по умолчанию: localhost]:
    • Выберите создание тестовой СУБД, если служебная база данных не была развернута ранее.

      Произвести установку СУБД PostgreSQL для размещения тестовой служебной базы
      данных на данный хост? [по умолчанию: нет]:
    • Определите, удалить ли архивы и файлы после установки RuBackup Infractructure Manager.

      Произвести удаление архивов и не используемых файлов после установки СРК
      [по умолчанию: да]:
    • Укажите FQDN всех хостов, которые будут добавлены в инфраструктуру СРК.

      Если у Вас не настроен DNS resolve, укажите все хосты, к которым будет
      обращаться RuBackup Infractructure Manager СРК по принципу
      'fqdn:адрес fqdn:адрес' [по умолчанию: 'example:8.8.8.8']:
    • Укажите путь до каталога с SSH-ключами ключами текущего пользователя.

      Укажите путь до каталога с приватными ssh ключами, которые могут быть
      использованы для организации ssh сессий [по умолчанию: /root/.ssh]:
  6. После завершения установки RuBackup Infractructure Manager сохраните данные о служебной БД и сервере установки.

    .................Информация по тестовой служебной базе данных.....................
    Postgres запущен и доступен по адресу: `0.0.0.0` порт: `5432`,
    пользователь: `name` пароль: `password`
    
    .................Информация по RuBackup Infractructure Manager...........
    Данный IP-адрес будет фигурировать в конфигурационных файлах
    RuBackup Infractructure Manager: `localhost`
    Приложению будут доступны ключи, расположенные по пути: `/root/.ssh`
    Веб-интерфейс доступен по адресу: `http://localhost`
    В опроснике, Вы указали `localhost`, веб-интерфейс приложения будет
    доступен, только с хоста, на котором развернуто приложение
    `RuBackup Infractructure Manager` по адресу: `http://localhost`
  7. Перейдите в веб-интерфейс для начала работы с RuBackup Infractructure Manager (Начало работы).

1. Опционально

1.1. Подключение по SSH без пароля

Для удобства подключения управляющего сервера к машинам настройте SSH-подключение без использования ключевой фразы SSH-ключа.

  • Установите OpenSSH.

    sudo apt install ssh
  • Сгенерируйте пару SSH-ключей, если они отсутствуют в директории /root/.ssh.

    ssh-keygen -t ed25519 -P '' -f /root/.ssh/id_<hostname>

    В результате в директории /root/.ssh будет создано два файла: id_<hostname>.pub — публичный ключ и id_<hostname> — приватный ключ.

  • Скопируйте публичный ключ на все используемые машины:

    ssh-copy-id username@remote_host
  • Проверьте подключение на любой из машин.

    ssh username@remote_host

1.2. Обращение к машинам по именам без DNS

Если в инфраструктуре, в которой разворачивается RuBackup Infractructure Manager, отсутствует выделенный DNS-сервер, а обращаться к машинам по их IP-адресам неудобно, настройте разрешение имен через /etc/hosts на всех машинах и добавьте те же имена к docker-compose.yml — Docker-контейнеры не используют /etc/hosts.

  1. Настройте корректное разрешение имен через /etc/hosts на всех используемых машинах. Выполните шаг до запуска скрипта установки.

    При отсутствии выделенного DNS-сервера необходимо настроить файл /etc/hosts на всех используемых машинах.

    Пример 1. Пример файла /etc/hosts
    0.0.0.0 localhost
    # The following lines are desirable for IPv6 capable hosts
    ::1 localhost ip6-localhost ip6-loopback
    
    # Пример для компонентов RuBackup (замените на свои значения)
    0.0.0.0   host1.example   HOST1
    0.0.0.0   host2.example   HOST2
    0.0.0.0   host3.example   HOST3

    Выполните проверку разрешения имен.

    nslookup <имя_машины>
  2. Добавьте список подготовленных машин в RuBackup Infractructure Manager. Выполните шаг после запуска скрипта установки.

    • Перейдите в директорию с RuBackup Infractructure Manager.

      cd /opt/srk_installer
    • Остановите запущенные контейнеры в Docker.

      docker compose down
    • Откройте файл docker-compose.yml и добавьте список имен для параметра extra_hosts в формате: '<FQDN>:<IP АДРЕС>'.

      Пример 2. Пример файла docker-compose.yml
      ...
      volumes:
      - ./files/backend/puppet_files/rubackup/pkg/:/root/rubackup/puppet-manifest-
      installer/code/environments/production/modules/rubackup/files/
      - ./files/backend/distributives/:/root/rubackup/distributives/
      - ./files/backend/certs/:/root/rubackup/certs/
      ...
      extra_hosts:
      - 'host1.example:0.0.0.0'
      - 'host2.example:0.0.0.0'
    • Запустите остановленные контейнеры в Docker.

      docker compose up