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

      Убедитесь, что в пути нет обратной косой черты. Например, C:\backups следует ввести как C:\\backups и \fileserver\backups как \\\\fileserver\\backups.
    • BACKUP_STORE_PROVIDER = {FileSystem | AmazonS3 | AzureBlob}

      Выберите хранение файла резервной копии webgissite в локальной системе или в облаке.

      Для хранения резервной копии ArcGIS Enterprise в локальном местоположении файлового хранилища, укажите FileSystem, тогда утилита webgisdr сохранит файлы резервного копирования в файловом хранилище, заданном для BACKUP_LOCATION.

      Для хранения резервных копий ArcGIS Enterprise в местоположении хранилища, совместимого с Amazon Simple Storage Service (S3) или S3 бакета, создайте бакет специально для хранения файлов резервной копии, созданных с помощью утилиты webgisdr, и обновите свойства S3, добавив информацию, необходимую для доступа к этому бакету.

      Для хранения резервныех копий ArcGIS Enterprise в хранилище Microsoft Azure Blob, создайте контейнер хранилища Azure BLOB специально для хранения файлов резервных копий, созданных утилитой webgisdr, и обновите свойства Azure, указав информацию, необходимую для доступа к вашему контейнеру.

      Примечание:

      Если развертывание ArcGIS Enterprise выполняется локально, но резервные копии хранятся в облаке, создание и восстановление резервных копий займет больше времени, чем при хранении резервных копий в локальной общей папке.

    • BACKUP_LOCATION = <местоположение файла резервного копирования на локальном ресурсе>

      Укажите местоположение файла резервной копии webgissite.

      Убедитесь, что в пути нет обратной косой черты. Например, C:\backups следует ввести как C:\\backups и \\fileserver\backups как \\\\fileserver\\backups.

      Файлы резервного копирования сначала сохраняются в SHARED_LOCATION, но затем копируются в BACKUP_LOCATION. Убедитесь, что размер папки достаточен для хранения файла архива. Хотя этот файл сжат, он может быть довольно большим, в зависимости от объема и типа имеющихся данных. Учетная запись, которая запускает утилиту webgisdr должна иметь права доступа на чтение и запись в BACKUP_LOCATION.

      Если для BACKUP_LOCATION задана папка, то инструмент аварийного восстановления импортирует в эту папку самый последний доступный файл резервной копии. Если для BACKUP_LOCATION задан определённый файл резервной копии в папке, то инструмент аварийного восстановления импортирует именно этот файл.

      Примечание:

      Если во время экспорта упаковка резервной копии занимает много времени, рассмотрите возможность установки локального пути для BACKUP_LOCATION. Вы сможете потом скопировать готовый пакет в предполагаемое место. Убедитесь, что на локальном диске достаточно места для временного хранения резервной копии.

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

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

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

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

    • 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. Обновите SHARED_LOCATION, BACKUP_LOCATION (если BACKUP_STORE_PROVIDER установлено на FileSystem), и PORTAL_ADMIN_URL в свойствах для параметров среды отдельного развёртывания.
  12. Задайте расписание работы инструмента webgisdr в первичном и дежурном развертываниях. Вы можете сделать это, используя cron job. Определите расписание резервного копирования и настройте автоматические задачи, чтобы они указывали соответствующий файл свойств. Два скрипта, которые импортировали резервные копии, должны вызвать файлы свойств, которые вы скопировали в дежурное развертывание.
    Подсказка:

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