Организация сканирующего кластера

В этом разделе

Вводные замечания

Пример организации сканирующего кластера

Настройка узлов кластера

Проверка работы кластера

Вводные замечания

Для организации сканирующего кластера, позволяющего выполнять распределенную проверку данных (при сканировании файлов или иных объектов), необходимо иметь набор узлов сети с установленных на каждом из них компонентом Dr.Web Network Checker. Чтобы узел кластера не только мог принимать и передавать данные, подлежащие проверке, необходимо также иметь на узле установленным сканирующее ядро Dr.Web Scanning Engine. Таким образом, для организации узла сканирующего кластера необходимо, чтобы на сервер были установлены (минимально) следующие компоненты (прочие компоненты Dr.Web для файловых серверов UNIX, устанавливаемые автоматически, для обеспечения работоспособности приведенных здесь компонентов, опущены):

1.Dr.Web Network Checker (пакет drweb-netcheck) — компонент приема и передачи данных между узлами по сети;

2.Dr.Web Scanning Engine (пакет drweb-se) — сканирующее ядро, необходимое для проверки данных, полученных по сети. Может отсутствовать, в этом случае узел будет только передавать данные, подлежащие проверке, на другие доступные узлы сканирующего кластера.

Узлы, составляющие сканирующий кластер, образуют одноранговую (peer to peer) сеть, т. е. каждый из них, в зависимости от того, какие настройки заданы у компонента Dr.Web Network Checker на этом узле, может выступать как в роли клиента сканирования (передающего данные на проверку в другие узлы), так и в роли сервера сканирования (принимающего данные на проверку от других узлов). При соответствующих настройках узел кластера может быть одновременно и клиентом и сервером сканирования.

Параметры компонента Dr.Web Network Checker, отвечающие за настройку сканирующего кластера, имеют имя, начинающееся с LoadBalance.

Пример организации сканирующего кластера

Рассмотрим пример организации сканирующего кластера, показанного на рисунке ниже.

Рисунок 12. Структура сканирующего кластера

В данном случае предполагается, что кластер состоит из трех узлов (обозначенных на рисунке как узел 1, узел 2 и узел 3). При этом узел 1 и узел 2 представляют собой серверы с установленным полноценным продуктом Dr.Web для серверов UNIX (например, Dr.Web для почтовых серверов UNIX или Dr.Web для интернет-шлюзов UNIX, тип продукта не имеет значения), а узел 3 используется только для помощи в сканировании файлов, передаваемых с узлов 1 и 2. Поэтому на нем установлен только минимально необходимый комплект компонентов (Dr.Web Network Checker и Dr.Web Scanning Engine, прочие компоненты, устанавливаемые автоматически для обеспечения работоспособности узла, такие как Dr.Web ConfigD, на схеме не обозначены). Узлы 1 и 2 могут работать как в качестве серверов, так и клиентов сканирования в отношении друг друга (выполнять взаимное распределение нагрузки, связанной со сканированием), а узел 3 — только в роли сервера, принимая задания с узлов 1 и 2.

Через «Клиентский модуль проверки» на схеме обозначены компоненты серверов, формирующие компоненту Dr.Web Network Checker на узле задания на проверку, которые будут (в зависимости от соотношения нагрузки) распределены между локально установленным сканирующим ядром Dr.Web Scanning Engine и узлами-партнерами кластера, исполняющими роль серверов сканирования.

Важно отметить, что в качестве клиентского модуля проверки могут выступать только компоненты, проверяющие данные, не представленные в виде файла в локальной файловой системе. Это означает, что сканирующий кластер не может быть использован для распределенной проверки файлов мониторами файловой системы SpIDer Guard и компонентом проверки файлов Dr.Web File Checker.

Настройка узлов кластера

Для настройки указанной конфигурации кластера необходимо внести изменения в настройки компонента Dr.Web Network Checker на всех трех узлах кластера. Все приведенные ниже фрагменты настроек будут даны в формате файла .ini (см. описание формата файла конфигурации).

Узел 1

[NetCheck]
InternalOnly=No
LoadBalanceUseSsl = No
LoadBalanceServerSocket = <IP-адрес Узла 1>:<Порт Узла 1>
LoadBalanceAllowFrom = <IP-адрес Узла 2>
LoadBalanceSourceAddress = <IP-адрес Узла 1>
LoadBalanceTo = <IP-адрес Узла 2>:<Порт Узла 2>
LoadBalanceTo = <IP-адрес Узла 3>:<Порт Узла 3>

Узел 2

[NetCheck]
InternalOnly=No
LoadBalanceUseSsl = No
LoadBalanceServerSocket = <IP-адрес Узла 2>:<Порт Узла 2>
LoadBalanceAllowFrom = <IP-адрес Узла 1>
LoadBalanceSourceAddress = <IP-адрес Узла 2>
LoadBalanceTo = <IP-адрес Узла 1>:<Порт Узла 1>
LoadBalanceTo = <IP-адрес Узла 3>:<Порт Узла 3>

Узел 3

[NetCheck]
InternalOnly=No
LoadBalanceUseSsl = No
LoadBalanceServerSocket = <IP-адрес Узла 3>:<Порт Узла 3>
LoadBalanceAllowFrom = <IP-адрес Узла 1>
LoadBalanceAllowFrom = <IP-адрес Узла 2>

Примечания:

Прочие (не указанные здесь) параметры Dr.Web Network Checker оставлены без изменения.

Значения IP-адресов и номеров портов необходимо заменить на актуальные.

Использование SSL при обмене данными между узлами в данном примере отключено. Если необходимо использовать SSL, то необходимо задать значение Yes для параметра LoadBalanceUseSsl, а также задать актуальные значения параметров LoadBalanceSslCertificate, LoadBalanceSslKey и LoadBalanceSslCa.

Проверка работы кластера

Для проверки работы кластера в режиме разделения данных при сканировании воспользуйтесь на узлах 1 и 2 командой:

$ drweb-ctl netscan <путь к файлу или каталогу>

При выполнении указанной команды файлы из указанного каталога должны провериться через компонент Dr.Web Network Checker, который должен распределить проверку по настроенным узлам кластера. Для просмотра статистики сетевой проверки на каждом из узлов перед началом проверки запустите вывод статистики Dr.Web Network Checker командой (для прерывания вывода статистики нажмите Ctrl+C):

$ drweb-ctl stat -n