После обновления развертывания ArcGIS Enterprise до 11.4 рекомендуется добавить хранилище объектов в развертывание и перенести в него кэши размещенных слоев сцен. При переносе кэши перемещаются из хранилища данных кэша листов ArcGIS Data Store в хранилище объектов.
Утилита MigrateSceneServices позволяет собирать информацию о сервисах и кэшах перед переносом. Сюда входят имена сервисов сцен и размер их кэшей. После того, как вы определите, что вам нужно перенести, вы можете использовать утилиту MigrateSceneServices для автоматизации пакетного переноса всех кэшей размещенных слоев сцен или предоставить список имен сервисов для одновременного переноса. Например, если у вас есть один или два очень больших кэша, вы можете перенести их за ночь, так как для их переноса потребуется много времени. После окончания переноса и тестирования размещенных слоев сцены, запустите утилиту снова, чтобы перенести оставшиеся кэши размещенных слоев сцены.
При переносе для каждого размещенного слоя сцены утилита выполняет следующие действия:
- Копирует кэш в хранилище объектов.
- После копирования кэша этого слоя в хранилище объектов он удаляется из хранилища данных кэша листов.
Это означает, что существует период времени, когда кэш слоя сцены существует в обоих хранилищах данных. Если хранилище данных кэша листов и хранилище объектов на одной машине (что не рекомендуется), вы должны учитывать это требование временного увеличения дискового пространства.
Кэш, который вы переносите в хранилище объектов ArcGIS Data Store, будет использовать примерно тот же объем дискового пространства в хранилище объектов, что и на компьютере хранилища данных кэша листов.
Примечание:
В качестве альтернативы администратор организации ArcGIS Enterprise или владелец размещенного слоя сцены может перенести отдельные размещенные слои сцены со страницы элемента слоя сцены на портале. См. Управление слоями сцены для получения инструкций.
Вне зависимости от способа, перенос кэша слоя использует большой объем ресурсов ЦП на компьютерах хранилища данных кэша листов и объектного хранилища.
Причина переноса размещенных слоев сцены
Хранилище данных кэша листов ArcGIS Data Store устарело в 11.4. Поддержка хранилища данных кэша листов будет прекращена в будущей версии. По этой причине вам рекомендуется начать перемещение кэшей размещенных слоев сцены в системное хранилище объектов.
Предварительные условия для переноса
Прежде чем переносить кэши размещенных слоев сцены, необходимо выполнить следующие действия:
- Обновите развертывание ArcGIS Enterprise до 11.4.
- Если в развертывании ArcGIS Enterprise еще не настроено хранилище объектов, его необходимо настроить.
Настоятельно рекомендуется создать резервную копию перед началом переноса кэшей слоев сцены. См. разделы Резервные копии ArcGIS Enterprise и Утилиты backupdatastore для получения информации о создании резервных копий.
Параметры и синтаксис утилиты MigrateSceneServices
Для запуска утилиты MigrateSceneServices используется следующий синтаксис:
MigrateSceneServices.bat -m <analysis | execution> -s <hosting server URL> -u <administrator username> -p <administrator password> [-t <portal token>] [-r <token referrer>] [--select <list of services to migrate>] [-o <directory>] [-l <log level>] [--num-threads <threads to use>]
Ниже приведены описания каждого параметра:
Параметр | Описание |
---|---|
-m, --mode | Поддерживаются два режима.
|
-s, --server_url | Укажите URL-адрес сайта хост-сервера. |
-u, --username | Укажите имя пользователя для входа, который является участником роли администратора по умолчанию на портале ArcGIS Enterprise, связанном с этим сайтом хост-сервера. |
-p, --password | Укажите пароль учетной записи администратора, которую вы указали с помощью параметра -u. |
-r, --referrer | Реферер для токена портала. Используйте его для дальнейшего ограничения использования, назначьте конкретные URL-адреса реферера или IP-адреса, которые могут получить доступ к сервису. Например, вы можете ограничить URL-адресом вашей организации ArcGIS Enterprise. |
-t, --token | Вместо имени пользователя и пароля можно создать и использовать токен. При использовании токена он получает приоритет над указанными именем пользователя и паролем. Если вы указываете реферер, вы должны предоставить токен портала. |
--select | Этот необязательный параметр позволяет вам предоставить набор сервисов для переноса. Список должен иметь следующий формат: "[servicename1, servicename2, servicename3]" |
-o, --output-dir | Этот необязательный параметр позволяет вам указать директорию, в которой будет создан файл отчета утилиты (при запуске утилиты в режиме анализа) или будет создан файл журнала (при запуске утилиты в режиме выполнения). Если не задано, утилита создает отчет или файл журнала во временной директории на машине, где вы запускаете утилиту. |
-l, --log_level |
Используйте этот необязательный параметр, чтобы задать уровень ведения журнала, используемый для файла журнала, который создается при запуске утилиты. Если вы не указали этот параметр с другим значением, используется уровень ведения журнала по умолчанию - info. Допустимые значения, перечисленные от наиболее подробного к наименее подробному, следующие:
|
--num-threads | Переопределяет количество потоков по умолчанию, используемых для переноса. Количество используемых потоков по умолчанию — 16. Если вы заметили 100% загрузку ЦП во время переноса кэша, а перенос не удался или не может быть завершен, уменьшите количество потоков, используемых утилитой. При изменении этого параметра рекомендуется задать количество потоков равным количеству ядер на компьютере. Например, если на компьютере четыре ядра, установите для --num-threads значение 4. |
-h, --help | Используйте этот параметр, чтобы возвратить синтаксис утилиты. |
Запустить утилиту
Утилита MigrateSceneServices устанавливается на компьютерах ArcGIS Server в папке <ArcGIS Server installation directory>\tools\MigrateSceneServices.
Вы должны запустить утилиту с одной из машин на хост-сервере портала ArcGIS Enterprise.
При запуске утилиты MigrateSceneServices в любом режиме создается файл журнала. Оба режима отображают количество сервисов (слоев сцены), которые могут быть перенесены.
Отчет, созданный при запуске утилиты в режиме анализа, содержит размер каждого кэша.
Подсказка:
Если хранилище объектов работает на той же машине, что и хранилище данных кэша листов, определите наибольший размер кэша. Убедитесь, что на машине хранилища данных свободного места на диске как минимум в два раза большего размера этого наибольшего кэша, поскольку во время миграции будет небольшой период времени, когда кэш будет создан в хранилище объектов, но еще не удален из хранилища данных кэша листов.
В режиме execution отображаются записи журнала, относящиеся к операции перехода, а также количество перенесенных сервисов.
Чтобы получить доступ к утилите и запустить ее, выполните следующие действия:
- Войдите на одну из машин на сайте хост-сервера, используя учетную запись ArcGIS Server для входа или с помощью учетной записи с доступом на чтение ко всем директориям ArcGIS Server.
- Откройте командное окно и перейдите в указанную выше директорию tools.
- Запустите утилиту MigrateSceneServices в режиме анализа.
В следующем примере утилита запускается в режиме анализа, а файл журнала записывается в каталог с именем analysislogs:
MigrateSceneServices.bat -m analysis -s https://hostingserver.example.com/waname -u portaladmin -p L00kAway! -o c:\\analysislogs
- Если отчет, созданный при запуске утилиты в режиме анализа, указывает, что развертывание настроено на разрешение переноса и что есть кэши слоев сцены для переноса, запустите утилиту в режиме выполнения.
В следующем примере выполняется перенос кэшей всех слоев сцены:
MigrateSceneServices.bat -m execution -s https://hostingserver.example.com/waname -u portaladmin -p L00kAway! -o c:\\migrationlogs -l error
- После переноса и тестирования всех кэшей слоев сцены запустите утилиту в последний раз в режиме анализа, чтобы убедиться, что не осталось кэшей, которые необходимо перенести.
Пример использования
После того, как администратор настроит хранилище объектов, администратор ArcGIS Server запускает утилиту MigrateSceneServices в режиме анализа, чтобы определить, какие сервисы сцены необходимо перенести.
Администратор ArcGIS Server входит на одну из машин на сайте ArcGIS Server, которая используется в качестве хост-сервера. Администратор использует логин, который запускает сервис ArcGIS Server Microsoft Windows.
Администратор открывает командное окно, получает доступ к директории tools и запускает команду в режиме анализа. Поскольку отчет будет предоставлен коллегам, администратор указывает общедоступную директорию для расположения выходных данных.
cd C:\\Program Files\arcgis\server\tools\MigrateSceneServices
MigrateSceneServices.bat -m analysis -s https://hostingserver.example.com/hserver -r https://webadaptorhost.example.com/webadaptor/admin -t abcdefg1234567 -o \\sharedserver\utiloutput
Утилита запускается и определяет, что четыре слоя сцены все еще имеют свои кэши в хранилище данных кэша листов и могут быть перенесены. Результаты отображаются в командной строке и перечислены в отчете, созданном в каталоге utiloutput. Отчет показывает, что sceneservice1, sceneservice2, sceneservice3 и sceneservice4 все еще имеют свои кэши в хранилище данных кэша листов.
В отчете каждый сервис указан с размером кэша, как показано ниже:
{ "mode":"analysis", "messages":[ "INFO: Started: Fri Aug 2 17:19:58 2024", "INFO: Found 4 migratable service(s)", "INFO: Largest service: [sceneservice2] (96459081B / ~(91.99MB)", "INFO: Ended: Fri Aug 2 17:20:01 2024" ], "services":[ { "sceneservice1":{ "messages":[ "INFO: size: (48887B / ~5.1MB)" ] }, "sceneservice2":{ "messages":[ "INFO: size: (96459081B / ~91.99MB)" ] }, "sceneservice3":{ "messages":[ "INFO: size: (722299B / ~11.37MB)" ] }, "sceneservice4":{ "messages":[ "INFO: size: (61005191B / ~70.11MB)" ] } } ] }
Сотрудники ГИС просматривают отчет, записанный в общедоступном местоположении, и проверяют каждый из слоев сцены перед выполнением переноса. Это позволяет им сравнивать содержимое и производительность слоя до и после переноса. Они обнаруживают, что sceneservice3 имеет связанный сервис объектов, который активно редактируется. Поэтому sceneservice3 не будет перенесен, пока редактор не завершит работу.
Администратор ArcGIS Server запускает утилиту MigrateSceneServices для перемещения кэшей для трех других слоев сцены.
MigrateSceneServices.bat -m execution -s https://hostingserver.example.com/hserver -r https://fully.qualified.domain:6443/arcgis/admin -t abcdefg1234567 -f [sceneservice1,sceneservice2,sceneservice4] -o \\sharedserver\utiloutput -l debug
После завершения работы утилиты каждый доступный кэш слоя сцены перенесен. Администратор ArcGIS Server снова запускает утилиту MigrateSceneServices в режиме анализа, чтобы подтвердить, что не нужно переносить дополнительные кэши слоев сцены.
После того, как все перенесенные слои сцены были протестированы и была подтверждена их работоспособность, администратор ArcGIS Data Store запускает утилиту disabledatastore для отмены регистрации хранилища данных кэша листов на хост-сервере и удаления всего его содержимого.