Перенос сервера Dr.Web® Enterprise Suite на другую машину

Материал из wiki.drweb.com
Перейти к: навигация, поиск

Данная статья актуальна для версии 4.44. Для версии 6.0 см. [1] English version

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

  1. Остановить сервис Dr.Web® Enterprise Server на старом сервере.
  2. Скопировать (ВАЖНО - при остановленном сервисе) следующие файлы:
    • папку %ES%\var\repository\ со всем её содержимым ("%ES%" предполагает каталог установки DrWebES, по умолчанию C:\Program Files\DrWeb Enterprise Server).
    • файл базы данных: %ES%\var\dbinternal.dbs
    • файлы приватного и публичного ключей шифрования: %ES%\etc\drwcsd.pri и %ES%\Installer\drwcsd.pub
    • файл конфигурации сервера: %ES%\etc\drwcsd.conf
  3. Установить сервер DrWebES на новый сервер со всеми настройками по умолчанию (при попытке импортировать drwcsd.pri на этапе установки, инсталлятор первого выпуска 4.44 почему-то обозвал его "invalid private key file", позднее данная ошибка не воспроизводилась). ВАЖНО: вновь устанавливаемый сервер должен быть либо той же версии, что и старый, либо более новой версии, иначе будет невозможно подключить базу данных.
  4. Остановить на новом сервере сервис Dr.Web Enterprise Server.
  5. Скопировать сохранённые файлы (см. п. 2) поверх новых (ВАЖНО - при остановленном сервисе).
  6. Проверить работоспособность сервера. Если всё работает, дальнейшие действия не нужны.

При установке агента на клиентские машины без явного указания IP-адреса сервера, клиентские машины перенастраивать не придётся (они находят сервер ES используя multicast- или broadcast-запросы), в противном случае необходимо перенастроить клиентских агентов на использование нового адреса сервера DrWebES. Если старый сервер ещё функционирует, можно через консоль управления переназначить IP сервера для агентов на тех машинах, которые в сети. В противном случае можно внести соответствующую правку в реестр клиентских машин (через доменную политику принудительно импортировать reg-файл с исправленным параметром, импортировать его вручную, либо поправить всё вручную, в том числе через службу удалённого управления реестром). Примерный вид требуемого файла (всего три строки) chESsets.reg:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\IDAVLab\Enterprise Suite\Dr.Web (R) Enterprise Agent\Settings]
"Server"="192.168.2.2"

Пример скрипта chESsets.vbs (для распространения через групповые политики AD)

Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKLM\SOFTWARE\IDAVLab\Enterprise Suite\Dr.Web (R) Enterprise Agent\Settings\Server","192.168.2.2","REG_SZ"

После внесения изменений надо перезапустить на клиентских машинах агента DrWebES, либо дождаться перезагрузки клиентских компьютеров (по задумке авторов, агенты, видимо, должны были сами при обнаружении изменений в конфигурации рестартовать, по крайней мере службой поддержки было предложено "перезапустить службу агента или подождать некоторое время" но на практике, по прошествии двух суток, неперезапущенные машины так и не перешли на новый сервер).

В случае если на новом сервере стоит более новая версия DrWebES, может потребоваться произвести обновление базы данных до текущей версии (сервис при этом работать не будет, в файле %ES%\var\drwcsd.log появится запись типа "20061011.121813.14 FTL 001432/noname [DbMgr] Incompatible database version 49, expected 50"). В этом случае помогает процедура обновления базы данных (выполняется при остановленном сервисе), выполняемая примерно такой командой: "C:\Program Files\DrWeb Enterprise Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Enterprise Server\." "-exe-root=C:\Program Files\DrWeb Enterprise Server\." "-var-root=C:\Program Files\DrWeb Enterprise Server\var\." -verbosity=ALL upgradedb "C:\Program Files\DrWeb Enterprise Server\var\update-db\." После обновления базы данных ошибка должна исчезнуть.

И вторая серьёзная проблема с которой можно столкнуться при переносе на другую машину - это когда на старом сервере были указаны конкретные сетевые интерфейсы на которых работает DrWebES. Эти данные могут храниться в конце файла %ES%\etc\drwcsd.conf. Например:

Transport "drwcs" "tcp/192.168.2.2:2371" "udp/192.168.2.2:2371"

См. так же ЧаВо: Dr.Web® Enterprise Suite