Skip To Content

Автоматизация копирования в дежурное развертывание

Когда и первичное, и дежурное развертывания ArcGIS Enterprise будут созданы, вы можете автоматизировать репликацию из первичного развертывания в дежурное, используя для этого утилиту webgisdr, отдельные файлы свойств для полных резервных копий, а также назначенное задание с помощью функции cron.

Для более полной синхронизации первичного и дежурного развертываний необходимо регулярно создавать полные резервные копии с помощью утилиты webgisdr и экспортировать накопившиеся изменения между полными резервными копиями. Например, если за сутки сервисы и данные развертывания ArcGIS Enterprise изменяются достаточно серьезно, то полную резервную копию вы можете создавать в полночь, а экспорт новых, накопившихся изменений выполнять в 10-00, 14-00 и 18-00, чтобы собрать все изменения, которые произойдут в течение всего рабочего дня.

Чтобы автоматизировать этот процесс, создайте четыре копии файла-шаблона свойств (webgisdr.properties) и четыре разных скрипта, которые будут выполнять следующие задачи:

  • Экспортировать полные резервные копии из первичного развертывания и копировать файлы в дежурное развертывание.
  • Экспортировать новые, накопившиеся резервные копии (изменения) из первичного развертывания и копировать в дежурное развертывание.
  • Импортировать полные резервные копии в дежурное развертывание.
  • Импортировать новые, накопившиеся резервные копии (изменения) в дежурное развертывание.

Задайте функцию планирования cron для запуска каждого из этих скриптов в определенное время.

Когда вы будете решать, как часто будут запускаться эти скрипты, необходимо учитывать время, необходимое для выполнения экспорта и копирования данных. Вам придется проделать это сначала вручную, чтобы получить представление о том, сколько времени потребуется для создания полной резервной копии, а также резервных копий новых, накопившихся изменений и их копирования через сеть в дежурное развертывание. Включите буфер 30 – 60 минут, чтобы учесть колебания в сети и производительность оборудования.

Например, если для создания новой, дополнительной резервной копии (изменения) требуется 20 минут, и 5 минут уходит на копирование в дежурное развертывание, запрограммируйте так, чтобы импорт резервной копии происходил через час после запуска скрипта, импортирующего накопившиеся изменения. Таким образом, если скрипт, создающий резервную копию накопившихся изменений, запускается в 10-00, планируйте запуск импорта на 11-00.

  1. Создайте копию файла webgisdr.properties и дайте ему имя expfullbackups.properties. Сохраните этот файл в той же папке, что и файл webgisdr.properties.

    Расположение по умолчанию – /arcgis/portal/tools/webgisdr.

  2. Откройте файл expfullbackups.properties в текстовом редакторе и добавьте в него информацию о вашем развертывании.

    • SHARED_LOCATION = <местоположение резервных файлов>

      Выберите место на диске, где будут созданы временные копии резервных файлов ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Учетная запись, под которой устанавливались ArcGIS Server, Portal for ArcGIS и ArcGIS Data Store, и учетная запись, которая использовалась для запуска утилиты webgisdr, должны иметь права доступа для чтения и записи данных в эту папку. Убедитесь, что размер папки достаточен для хранения файла архива. Хотя файл сжат, он может быть довольно велик, в зависимости от объема и типа имеющихся данных. Если у вас имеются размещенные слои сцен и кэш, а для параметра INCLUDE_SCENE_TILE_CACHES установлено значение true, размер файла архива ArcGIS Data Store будет особенно большим.

      Прежние версии:

      В Portal for ArcGIS 10.4 значением этого свойства было SHARED_FOLDER.

    • PORTAL_ADMIN_URL = <URL директории администрирования портала>

      Укажите URL-адрес директории администрирования Portal for ArcGIS. Используйте формат https://portalhostname.domain.com:7443/arcgis, где portalhostname.domain.com – это полное имя компьютера, на котором установлен Portal for ArcGIS.

    • PORTAL_ADMIN_USERNAME = <имя пользователя администратора портала>

      Укажите имя пользователя участника портала, которому присвоена роль администратора, заданная Esri.

    • PORTAL_ADMIN_PASSWORD = <пароль администратора портала>

      Укажите пароль учетной записи администратора портала.

    • PORTAL_ADMIN_PASSWORD_ENCRYPTED = <true | false>

      При первом вводе в файл пароля администратора установите эту опцию на false. Когда вы сохраните этот файл, пароль будет зашифрован, а значение параметра PORTAL_ADMIN_PASSWORD_ENCRYPTED будет установлено на true, что означает зашифрованный пароль. Если в будущем понадобится изменить пароль, установите PORTAL_ADMIN_PASSWORD_ENCRYPTED = false, введите новый пароль администратора и сохраните этот файл.

    • INCLUDE_SCENE_TILE_CACHES = <true | false>

      Если на портале публикуются размещенные слои сцен и вы хотите включить в архив данные кэша, установите INCLUDE_SCENE_TILE_CACHES на true. Имейте в виду, что при выборе true, все данные кэша сцен будут включены в архив, не только новые данные, созданные после последнего архивирования. Если вы знаете, что после последнего архивирования новый кэш сцен не создавался, или вы не публикуете сцены на портале, можно задать для INCLUDE_SCENE_TILE_CACHES значение false.

    • BACKUP_RESTORE_MODE = full.

  3. Сохраните изменения и закройте файл expfullbackups.properties.
  4. Создайте копию файла expfullbackups.properties и дайте ему имя expincremental.properties.
  5. Откройте файл expincremental.properties в текстовом редакторе и измените параметр BACKUP_RESTORE_MODE на incremental.
  6. Сохраните изменения и закройте файл expincremental.properties.
  7. Создайте два скрипта, которые будут запускать утилиту webgisdr для экспорта из первичного развертывания. Один из них вызывает файл expfullbackups.properties, а другой – файл expincremental.properties.

    Теперь, имея два скрипта, вы можете запланировать так, чтобы один из них запускался в определенное время и создавал полные резервные копии, а другой – чтобы запускался в другое время и создавал резервные копии накопившихся изменений.

    Так, строка скрипта, который будет создавать полные резервные копии, должна содержать что-то похожее на следующее:

    webgisdr --export --file /arcgis/portal/tools/webgisdr/fullbackups.properties

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

    Учетная запись, которая использовалась при установке сервисов ArcGIS Server, Portal for ArcGIS и ArcGIS Data Store на первичном развертывании, должна иметь права доступа для записи в SHARED_LOCATION файла .properties. И кроме того, учетная запись, которая запускает утилиту webgisdr, должна иметь права доступа для чтения и записи в SHARED_LOCATION и в папку, куда вы будете копировать файлы с резервными копиями. Учетная запись, которая использовалась при установке ArcGIS Server, Portal for ArcGIS и ArcGIS Data Store в дежурном развертывании, должна иметь права доступа хотя бы для чтения в этих папках.

  9. Если развертывание ArcGIS Enterprise содержит картографический сервис и кэши размещенного слоя листов, скриптам также необходимо скопировать их из папки (папок) кэша сайтов ArcGIS Server первичного развертывания в папку (папки) кэша в дежурном развертывании.
  10. Скопируйте файлы expfullbackups.properties и expincremental.properties в папку файла webgisdr.properties в дежурном развертывании (по умолчанию используется /arcgis/portal/tools/webgisdr) и переименуйте файлы impfullbackups.properties и impincremental.properties соответственно.
  11. Скрипты, которые импортируют резервные копии, должны вызвать файлы свойств, которые вы скопировали в дежурное развертывание.
  12. Задайте расписание работы скриптов в первичном и дежурном развертываниях.

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