Иногда случается, что после обновления ArcGIS Server на новую версию бывает невозможно запустить все сервисы в полном объеме. Причин может быть довольно много, да и не о них сейчас разговор.
Вы только что переустановили сервер, а он то ли сайт не хочет пересоздавать, то ли просто нормально не стартует, что делать?
Никакой документации от разработчика по этому вопросу нет, поскольку считается, что подобной ситуации не может быть никогда.
А она все же имеет место быть.
Конечно, в документации есть статьи по порядку обновления и ArcGIS Server, и Portal for ArcGIS. В этих статьях есть рекомендации по созданию резервных копий всей системы ArcGIS Enterprise или по отдельности Portal For ArcGIS с помощью webgisdr, ArcGIS Server, ArcGIS Data Store. Конечно, если вы создали резервные копии, восстановить всю систему ArcGIS Enterprise или отдельные компоненты просто:
— деинсталировать компонент(ы),
— перенести оставшиеся после деинсталяции папки из корня диска и из Program Files/ArcGIS в резервную папку,
— установить компонент(ы) заново («чистая» установка),
— восстановить содержимое и конфигурацию компонента(ов) из созданной резервной копии.
Но очень часто документацию открывают уже после того, как произошла неприятность. Система уже не работает, а резервной копии нет. Что же делать?
Итак с помощью собственных опытов мы определили, что информация о сервисах хранится в следующих каталогах:
— C:\Program Files\ArcGIS\Server\geronimo\repository\com\esri\arcgis\services — каталоги с именами сервисов, внутри конфиги
— C:\Program Files\ArcGIS\Server\geronimo\deploy — jar-файлы с именами сервисов, внутри — названия сервисов
— C:\arcgisserver\config-store\services — каталоги с именами сервисов, внутри конфиги
— C:\arcgisserver\directories\arcgissystem\arcgisinput — каталоги с именами сервисов, внутри msd, данные
— C:\arcgisserver\directories\arcgiscache — кэш
Соответственно, если вдруг ваш ArcGIS Server не хочет работать, как ему положено, то есть круглосуточно и без сбоев, то следует:
1. Деинсталлировать ArcGIS Server (не забудьте предварительно деинсталлировать русификацию ArcGIS Server, если она была установлена),
2. Переименовать каталоги \arcgisserver и \Program Files\ArcGIS\Server в arcgisserver_old и Server_old,
3. Установить ArcGIS Server начисто,
4. Восстановить подключения ко всем использовавшимся источникам данных,
5. Скопировать информацию о нужных вам сервисах из каталогов *_old в новые каталоги и перезапустить ArcGIS Server.
Внимание! Даже если вам нужны все сервисы, которые были, не стоит бездумно копировать всё! В указанных каталогах помимо старых сервисов находится еще и служебная информация о предыдущей установке. Если скопировать всё, то новый сервер может и не заработать, и тогда опять придется возвращаться к п. 1.
Выше приведены каталоги, содержащие информацию об обычных картографических сервисах, коих со временем у всех собирается довольно много. Если для некоторых сервисов у вас были включены дополнительные возможности (WMS, KML и др), то вам придется либо выключить и включить заново эти возможности, либо скопировать информацию из соответствующих каталогов *_old.
ВНИМАНИЕ! Данная информация не является официальным руководством от компании Esri, а потому не всегда может привести к тому результату, который вы ожидаете. Кроме того, описанные действия требуют особой внимательности, чтобы не ошибиться с источниками и получателями при копировании. Но даже если эта статья поможет хотя бы в половине случаев, мы считаем, что время на поиски решения было потрачено не зря.
Данная статья может быть полезна и в том случае, если вы хотите перенести все сервисы с одного физического сервера на другой. Для этого необходимо, чтобы изначально новый пустой сервер назывался так же, как и старый. После копирования информации о сервисах и перезапуска ArcGIS Server новый сервер можно переименовать, как через окно свойств компьютера, так и с помощью консоли администрирования (http://localhost:6080/arcgis/admin/machines/rename).
Если же у вас установлена версия 10.2, то всё может быть гораздо проще. Начиная с версии 10.2, в консоли администрирования появился инструмент сохранения и восстановления всей конфигурации сайта (http://localhost:6080/arcgis/admin/exportSite и http://localhost:6080/arcgis/admin/importSite).
Дополнение от 27.07.2018 (обновлено 17.12.2018) Для восстановления работоспособности ArcGIS Server версии 10.6.х достаточно иметь резервную копию папки arcgisserver.
Проверьте местоположение каталогов ArcGIS Server, конфигурация описана в json-файлах в папке \arcgisserver\config-store\serverdirs\.
Вам необходимо будет восстановить такую же конфигурацию каталогов.
Определения опубликованных сервисов лежат в \arcgisserver\config-store\services\
Проекты сервисов (mxd, msd и т.п), как правило, лежат в \arcgisserver\directories\arcgissystem\arcgisinput\
Если, конечно, всё это не разнесли по разным дискам.
Если ArcGIS Server не работает после апгрейда, даже если ArcGIS Server был интегрирован с Portal for ArcGIS, обычно помогает следующий порядок действий:
- Остановите службу Portal for ArcGIS для предотвращения переиндексации содержимого при переустановке ArcGIS Server. Для предотвращения автоматического запуска этой службы при случайной перезагрузке лучше поставить эту службу в ручной запуск. На случай некорректного восстановления содержимого ArcGIS Server и искажения содержимого Portal сделайте резервную копию вашей папки arcgisportal.
- Деинсталируйте ArcGIS Server, удалите папку Server в каталоге Program Files\ArcGIS для устранения неполадок в неработоспособной конфигурации.
- Перенесите папку arcgisserver с исходного местоположения в любое другое место. чтобы новая установка не использовала полную неработоспособную конфигурацию.
- Установите сервер, сконфигурируйте, проверьте возможность публикации и после проверки не забудьте удалить созданные тестовые сервисы.
- Восстановите работоспособность всех созданных сервисов следующим образом:
- Остановите службу ArcGIS Server
- «Пользовательское» содержимое папок \arcgisserver\config-store\services\ и \arcgisserver\directories\arcgissystem\arcgisinput\ скопируйте в соответствующие папки новой установки. Не копируйте содержимое, относящееся к служебным сервисам самого ArcGIS Server.
- Также скопируйте «пользовательские» выходные каталоги: \arcgisserver\directories\arcgisoutput\ — они при таком восстановлении сами не создадутся.
- Скопируйте папки с кэшем: \arcgisserver\directories\arcgiscache\.
- Проверьте права на скопированные данные. Учетная запись, запускающая службу ArcGIS Server, должна иметь полные права на все скопированные папки и файлы. При необходимости предоставьте полные права на папки и файлы.
- В качестве доверенных источников данных в ArcGIS Server должны были быть зарегистрированы папки с данными и подключениями к СУБД, на которые ссылаются сервисы. Их следует также аккуратно скопировать, но обычно в новой установке используется новый ключ шифрования и все подключения к СУБД придется перерегистрировать, поскольку скопированные подключения к СУБД возможно работать не будут. Но это выяснится при запуске ArcGIS Server и его сервисов. Работоспособность подключений к файловым каталогам восстанавливается всегда.
- Запустите службу ArcGIS Server.
- Проверьте работоспособноcть сервисов ArcGIS Server, если сервисы работают нормально, отображают данные корректно, пропустите следующий шаг.
- Если сервисы, использующие данные из СУБД, не отображают данные, а в журналах ArcGIS Server появятся записи по соответсвующим сервисам (см. \arcgisserver\logs), источники данных в СУБД необходимо перерегистрировать с теми же именами подключений. После чего перезапустить конкретные сервисы или всю службу ArcGIS Server и снова проверить работоспособность сервисов. При перезапуске конкретного сервиса происходит проверка источников данных этого сервиса и по журналам ArcGIS Server можно быстро проверить корректность источников данных, особенно для сложного сервиса.
- Если вы использовали отдельно ArcGIS Server, то на этом процедура восстановления заканчивается.
- Если ваш ArcGIS Server был интегрирован с Portal for ArcGIS, то после того, как работоспособность всех сервисов будет восстановлена, следует заново интегрировать Server c Portal’ом: подмените файл \arcgisserver\config-store\security\security-config.json копией этого файла из бекапа папки arcgisserver.
- После этого можно запустить службу Portal for ArcGIS. Если вы изменяли способ запуска службы, восстановите автоматический способ запуска. Проверьте наличие и работоспособность содержимого Portal’а.
Если ArcGIS Server был интегрирован с Portal for ArcGIS, то при таком восстановлении сервисов содержимое Portal for ArcGIS сохраняется с исходными идентификаторами и правами на сервисы. Все зависимые элементы Portal (выб-карты, веб-приложения) должны восстановить свою работу.
Но ведь ArcGIS Enterprise — это не только ArcGIS Server, но еще и Portal for ArcGIS и ArcGIS DataStore. Что делать в случае выхода из строя этих компонентов?
Для ArcGIS DataStore подобных рецептов мы пока не придумали. Придется переопубликовывать сервисы, которые хранят данные в DataStore.
Но для Portal есть очень интересное решение для переноса всего содержимого с одной машины на другую. Это инструмент ArcGIS Online Assistant. Изначально инструмент создан для работы с ArcGIS Online, но его можно использовать и для переноса содержимого между Portal’ами.
То есть, задача переноса решается просто, а при обновлении Portal обычно ведет себя более устойчиво, его содержимое не пропадает.
Даже если выходит из строя жесткий диск сервера, обычно помогает такое решение:
— Уставить Portal for ArcGIS, сконфигурировать его так же, как предыдущий.
— Остановить службу Portal for ArcGIS.
— Подменить новую папку arcgisportal старой папкой (бекап старого содержимого должен быть).
— Запустить службу Portal for ArcGIS.
Свои комментарии по данной статье можете присылать в ТП Esri CIS. Не забудьте в теме указать название статьи.