Статья описывает перенос действующих платформы и локаций на другую операционную систему с сохранением данных. Инструкции подходят в том числе для миграции с Astra Linux версий 1.7.4 или 1.7.5 на версию 1.8.1.

Для переноса вам потребуется временное хранилище для файлов платформы и локаций. Например, облачное хранилище или внешний жёсткий диск.

DCImanager 6 не будет работать во время миграции.

Резервное копирование платформы и необходимых директорий


Чтобы перенести платформу:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.

  2. Если в системе не установлен архиватор tar или утилита curl, установите их:
    apt install tar curl
    CODE
  3. Выполните резервное копирование:

    dci backup
    CODE

    Резервная копия сохранится в директории /opt/ispsystem/dci/backup. Перед резервным копированием убедитесь, что в разделе диска с каталогом /tmp достаточно свободного пространства. Как определить необходимое свободное пространство, см. в статье Резервное копирование платформы.

  4. Остановите сервис DCImanager 6:

    dci down
    CODE
  5. Перенесите файл с резервной копией на любое внешнее хранилище:

    Пример команды для выгрузки на внешний накопитель

    mv /opt/ispsystem/dci/backup/<имя_файла_архива> /media/<hard_drive>/.
    CODE
    <hard_drive> — путь к внешнему накопителю;
    <имя_файла_архива> — файл архива в формате .tar.gz.

    Пример команды для выгрузки на FTP-сервер

    curl -T /opt/ispsystem/dci/backup/<имя_файла_архива> -u "<user:password>" sftp://<ftp.example.com>/<путь_к_файлу>/
    CODE
    <ftp.example.com> — доменное имя или IP-адрес FTP-сервера;
    <user:password> — имя пользователя и пароль на FTP-сервере;
    <путь_к_файлу> — путь к директории, в которую должен сохраниться файл резервной копии.
    <имя_файла_архива> — файл архива в формате .tar.gz.
  6. Если на сервере с платформой установлена также и локация, и вы используете какие-либо шаблоны помимо шаблонов из репозитория ISPsystem, создайте резервную копию директории /opt/ispsystem/dci/os_templates/ по инструкции из раздела Перенос локации.
  7. Создайте резервную копию директории /opt/ispsystem/dci/clickhouse_storage:
    tar -cvzf /opt/ispsystem/dci/clickhouse_storage.tar.gz /opt/ispsystem/dci/clickhouse_storage
    CODE
  8. Перенесите архив /opt/ispsystem/dci/clickhouse_storage.tar.gz на внешнее хранилище.
  9. Установите новую ОС на сервер. Если вы планируете использовать Astra Linux, следуйте инструкциям в статье Подготовка сервера с ОС Astra Linux.

Восстановление платформы после установки новой ОС


Процесс восстановления платформы различается для работы в открытом и закрытом информационном контурах.

Если DCImanager 6 работает в открытом контуре

  1. Сгенерируйте новый токен лицензии.
  2. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  3. Обновите операционную систему до последней стабильной версии:
    sudo apt update && sudo apt upgrade -y
    CODE
  4. Если в системе не установлен архиватор tar или утилита curl, установите их:
    apt install tar curl
    CODE
  5. Cкачайте установщик:

    curl -O https://download.ispsystem.com/6/dci/dcibox/dci
    CODE
  6. Сделайте файл установщика исполняемым:

    chmod +x dci
    CODE
  7. Запустите восстановление:

    ./dci restore -b=<backup_file>
    CODE
  8. Если архив резервной копии защищён паролем, введите его.
  9. Восстановите директорию /opt/ispsystem/dci/clickhouse_storage:

    1. <backup_file> — полный путь к архиву с резервной копией. Например, /opt/ispsystem/dci/backup/2022_03_30__00_00.tar.gz

      Перенесите на сервер с платформой архив clickhouse_storage.tar.gz из внешнего хранилища:

      Пример команды для загрузки с внешнего накопителя

      mv /media/<hard_drive>/clickhouse_storage.tar.gz /opt/ispsystem/dci/backup/.
      CODE
      <hard_drive> — путь к внешнему накопителю.

      Пример команды для загрузки c FTP-сервера

      curl -o "/opt/ispsystem/dci/clickhouse_storage.tar.gz" -u "<user:password>" sftp://<ftp.example.com>/<путь_к_файлу>/clickhouse_storage.tar.gz
      CODE
      <ftp.example.com> — доменное имя или IP-адрес FTP-сервера;
      <user:password> — имя пользователя и пароль на FTP-сервере.
    2. Разархивируйте загруженный файл:
      tar -xvzf /opt/ispsystem/dci/clickhouse_storage.tar.gz
      CODE

  10. Если у сервера изменилось доменное имя:
    1. Укажите новое доменное имя в параметре DomainName файла /opt/ispsystem/dci/config.json
    2. Перезапустите платформу:
      dci restart
      CODE
  11. Активируйте лицензию:
    1. В интерфейсе DCImanager 6 перейдите в Обзор системы.
    2. В поле Ключ лицензии введите токен лицензии.
    3. Нажмите кнопку Активировать.

Если DCImanager 6 работает в закрытом контуре

  1. Установите платформу по инструкциям из статьи Установка в закрытом информационном контуре. Платформа должна быть той же версии, в которой была сделана резервная копия.

  2. Загрузите файл резервной копии на сервер с платформой.
  3. Выполните команду: 

    dci restore -i -b=<backup_file>
    BASH

    <backup_file> — полный путь к файлу с резервной копией. Например, /opt/ispsystem/dci/backup/2022_03_30__00_00.tar.gz

  4. Восстановите директорию /opt/ispsystem/dci/clickhouse_storage:

    1. Перенесите на сервер с платформой архив clickhouse_storage.tar.gz из хранилища:

      Пример команды для загрузки с внешнего накопителя

      mv /media/<hard_drive>/clickhouse_storage.tar.gz /opt/ispsystem/dci/backup/.
      CODE
      <hard_drive> — путь к внешнему накопителю.

      Пример команды для загрузки c FTP-сервера

      curl -o "/opt/ispsystem/dci/clickhouse_storage.tar.gz" -u "<user:password>" sftp://<ftp.example.com>/<путь_к_файлу>/clickhouse_storage.tar.gz
      CODE
      <ftp.example.com> — доменное имя или IP-адрес FTP-сервера;
      <user:password> — имя пользователя и пароль на FTP-сервере.
    2. Разархивируйте загруженный файл:
      tar -xvzf /opt/ispsystem/dci/clickhouse_storage.tar.gz
      CODE
  5. Если на сервере установлена ОС Astra Linux 1.7.5, выполните команду:
    docker restart download.ispsystem.com
    CODE
  6. Если доменное имя сервера изменилось:
    1. Укажите новое доменное имя в параметре DomainName файла /opt/ispsystem/dci/config.json
    2. Перезапустите платформу:
      dci restart
      CODE
  7. Активируйте лицензию по инструкциям из статьи Установка в закрытом информационном контуре.

Перенос локации


  1. Подключитесь к серверу-локации по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.

  2. Если вы используете какие-либо шаблоны помимо шаблонов из репозитория ISPsystem:
    1. Создайте резервную копию директории /opt/ispsystem/dci/os_templates/:
      tar -cvzf /opt/ispsystem/dci/os_templates.tar.gz /opt/ispsystem/dci/os_templates/
      CODE
    2. Перенесите архив /opt/ispsystem/dci/os_templates.tar.gz на внешнее хранилище:

      Пример команды для выгрузки на внешний накопитель

      mv /opt/ispsystem/dci/os_templates.tar.gz /media/<hard_drive>/.
      CODE
      <hard_drive> — путь к внешнему накопителю.

      Пример команды для выгрузки на FTP-сервер

      curl -T /opt/ispsystem/dci/os_templates.tar.gz -u "<user:password>" sftp://<ftp.example.com>/<путь_к_файлу>/
      CODE
      <ftp.example.com> — доменное имя или IP-адрес FTP-сервера;
      <user:password> — имя пользователя и пароль на FTP-сервере;
      <путь_к_файлу> — путь к директории, в которую нужно сохранить файл резервной копии.

    Если вы используете шаблоны только из репозитория ISPsystem, создавать резервную копию директории /opt/ispsystem/dci/os_templates/ не нужно.

  3. Установите новую ОС на сервер. Если вы планируете использовать Astra Linux, следуйте инструкциям в статье Подготовка сервера с ОС Astra Linux.
  4. Если вы делали копию директории /opt/ispsystem/dci/os_templates, восстановите её:
    1. Перенесите на сервер-локацию архив os_templates.tar.gz: из хранилища:

      Пример команды для загрузки с внешнего накопителя

      mv /media/<hard_drive>/os_templates.tar.gz /opt/ispsystem/dci/backup/.
      CODE
      <hard_drive> — путь к внешнему накопителю.

      Пример команды для загрузки c FTP-сервера

      curl -o "/opt/ispsystem/dci/os_templates.tar.gz" -u "<user:password>" sftp://<ftp.example.com>/<путь_к_файлу>/os_templates.tar.gz
      CODE
      <ftp.example.com> — доменное имя или IP-адрес FTP-сервера;
      <user:password> — имя пользователя и пароль на FTP-сервере;
      <путь к файлу> — директория, в которую нужно скачать файл с сервера.
    2. Разархивируйте загруженный файл:
      tar -xvzf /opt/ispsystem/dci/os_templates.tar.gz
      CODE