Компания IBM
Опубликован: 01.02.2008 | Доступ: свободный | Студентов: 540 / 20 | Оценка: 4.60 / 4.40 | Длительность: 43:55:00
Специальности: Разработчик аппаратуры
Лекция 2:

Составляющие высокой доступности

Сетевые модули

В HACMP скорость обнаружения отказов определяется для каждого типа сети и может быть либо задана с помощью трех предопределенных значений, либо настроена. Предопределенные значения это "медленное" ( slow ), "нормальное" ( normal ) (по умолчанию) и "быстрое" ( fast ), тогда как при настройке задаются интервал между импульсами и так называемый цикл отказа ( failure cycle ).

Интервал между импульсами (скорость пульса, heartbeat rate – hbrate) определяет скорость отправления службами кластера пакетов "keep alive" между интерфейсами и устройствами в кластере. Цикл отказа ( cycle ) представляет количество идущих подряд импульсов, которое может быть пропущено, прежде чем будет считаться, что произошел отказ интерфейса. HACMP 5.3 поддерживает интервал пульсации в доли секунды. Время обнаружения отказа (в секундах) определяется по формуле

hbrate * cycle * 2

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

При использовании последовательных сетей HACMP объявляет соседний узел неработающим после завершения времени обнаружения отказа (failure detection rate), заданного для этого типа сети. HACMP будет ожидать в течение такого же периода, прежде чем объявить устройство неработающим, если за это время все еще не будет получено ни одного пакета пульса от соседнего узла. HACMP не инициирует событие network_down, пока не откажут как локальное, так и удаленное устройства.

Однако если последовательная сеть является последней сетью, подключенной к определенному узлу, событие node_down будет вызвано, как только будет обнаружен отказ интерфейса.

Различие сетей устройств и IP-сетей состоит в том, что сети устройств не могут отличить отказ интерфейса от отказа сети. Исключение составляют сети с мониторингом пульса через диски. Если узел может получить доступ к диску, интерфейс считается работающим, тогда как сеть считается работающей, если осуществляется обмен сообщениями.

Существует еще одна характеристика, определяемая для каждой сети. Эта характеристика называется отсрочкой (grace period) и представляет собой период времени после обнаружения определенного отказа сети, в течение которого отказы такого же типа игнорируются. Это дает кластеру время на внесение изменений в конфигурацию сети без обнаружения ложных отказов.

Внимание! Время на обнаружение отказа должно быть одинаковым во всех сетях, используемых кластером.

Клиенты

Клиентом называется система, которая может получить доступ к узлам кластера через сеть. На клиенте выполняется некоторое клиентское приложение, которое обменивается данными с приложением, выполняющимся в кластере, через сервисные IPметки. HACMP обеспечивает высокую доступность приложения для клиентов, но сами по себе они не обладают высокой доступностью.

Клиенты AIX 5L могут использовать службы информации кластера (clinfo) для получения сообщений о событиях кластера. Clinfo включает API, отображающий состояние кластера.

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

  • если в сети, используемой сервисными IP-метками приложений, настроен перехват IP-адреса посредством замены, тогда одновременно происходит и перехват MAC-адреса, так что не возникает необходимости обновлять ARP-кеш на клиентском компьютере;
  • если в сети настроен перехват IP-адреса посредством синонимов, тогда происходит отправка пакета gratuious ARP, так что опять же нет необходимости обновлять кеш ARP на клиентском компьютере.

Но если клиент не поддерживает пакеты gratuious ARP, его кеш можно обновить с использованием /usr/es/sbin/cluster/etc/clinfo.rc. При возникновении изменений в сети clinfo.rc отправляет по одному ping-запросу на каждый адрес или метку в списке переменной PING_CLIENT_LIST. Таким образом, чтобы обеспечить обновление ARP-кеша на клиентах, нужно добавить адреса и метки всех клиентов в переменную PING_CLIENT_LIST в clinfo.rc. Однако если клиент находится в другой подсети, тогда приведенные выше условия относятся к маршрутизатору.

Клиенты, на которых выполняется демон clinfo, смогут быстро переподключиться к кластеру после события в кластере.

Аспекты сетевой безопасности

Безопасность HACMP важна для того, чтобы ограничить как несанкционированный доступ к узлам, так и неавторизованный перехват сообщений между узлами. Более ранние версии HACMP использовали rsh для выполнения команд на других узлах. При этом было сложно обеспечить защиту и существовала опасность подмены IPадреса. Теперь HACMP употребляет собственный демон коммуникаций кластера ( clcomdES ) для управления связью между узлами.

HACMP обеспечивает безопасность кластера путем:

  • управления доступом пользователей к HACMP;
  • обеспечения безопасности связи между узлами.

Дополнительные сведения о доступе пользователей и безопасности кластера см. в "Концепции и планирование HACMP Extended Distance" и "HACMP и Cross-Site LVM" руководства High Availability Cluster Multi-Processing Administration Guide, SC23-4862-06.

Аутентификация и шифрование подключения

При аутентификации проверяется источник и целостность сообщения, тогда как шифрование гарантирует, что содержание сообщения будет известно только отправителю и получателю.

Существуют следующие способы аутентификации подключения:

  • Стандартная аутентификация. Используется по умолчанию. Демон коммуникаций (clcomd) осуществляет аутентификацию по IP-адресу и ограничивает команды, которые могут выполняться c привилегиями "root". Существует набор команд HACMP (перечисленных в /usr/es/sbin/cluster), которые могут выполняться с привилегиями "root", остальные команды выполняются под учетной записью "nobody".
  • Аутентификация Kerberos. Аутентификация Kerberos поддерживается в среде SP.
  • Виртуальная частная сеть. Для связи между узлами может быть сконфигурирована виртуальная частная сеть (VPN); для определения туннелей следует использовать постоянные метки синонимов.

HACMP поддерживает следующие способы шифрования:

  • Message Digest 5 (MD5) с Data Encryption Standard (DES);
  • MD5 с Triple DES;
  • MD5 с Advanced Encryption Standard (AES).

Файлы ключей хранятся в каталоге /usr/es/sbin/cluster/etc.

Примечание. Это шифрование распространяется только на clcomdES, но не на диспетчер кластера.

Демон коммуникаций кластера

С появлением clcomdES нет необходимости в конфигурировании файла /.rhosts. Однако некоторые приложения все же могут требовать наличия этого файла. Демон коммуникаций кластера выполняет удаленные команды, основываясь на принципе "наименьших привилегий". Это означает, что нельзя будет выполнить произвольную команду на удаленном узле с привилегиями "root". Только несколько команд HACMP считаются "доверенными" и допускают запуск с привилегиями "root"; эти команды перечислены в / usr/es/sbin/cluster. Остальные команды выполняются под учетной записью "nobody".

Демон коммуникаций кластера запускается средством inittab, где соответствующая запись создается при установке HACMP. Управление демоном осуществляет контроллер системных ресурсов SRC, так что для него доступны команды startsrc, stopsrc и refresh. В частности, refresh используется для повторного чтения /usr/es/sbin/cluster/ etc/rhosts и перемещения файлов журнала.

Демон коммуникаций кластера использует порт 6191 и осуществляет аутентификацию входящих подключений, выполняя следующие проверки.

Если файл /usr/es/sbin/cluster/etc/rhosts не существует, все подключения отклоняются.

Если файл существует, то выполняется проверка подключений (по порядку):

  • в ODM-классе HACMPnode;
  • в ODM-классе HACMPadapter;
  • в файле /usr/es/sbin/cluster/etc/rhosts.

Наполнение файла /usr/es/sbin/cluster/etc/rhosts происходит при первой синхронизации с адресом интерфейса с синхронизирующего узла (на синхронизирующем узле он остается пустым). После первой синхронизации происходит наполнение ODM-классов HACMP, так что содержимое файла rhosts можно удалить.

По своему назначению файл используется до первой синхронизации кластера в небезопасной среде. Наполните этот файл на каждом узле только адресами интерфейсов узлов в кластере, и ни одна другая система не сможет связаться через clcomdES.

Замечание. После первоначальной синхронизации кластера происходит наполнение файла /usr/es/sbin/cluster/etc/rhosts адресами интерфейсов синхронизирующего узла.

Запрашивающий узел должен передать свою IP-метку, которая должна соответствовать адресу в приведенном выше расположении, и, если получен правильный ответ, подключение разрешается. Если все вышеописанные записи являются пустыми, демон предполагает, что кластер не был сконфигурирован и примет входящие записи.

Важно! При наличии недопустимой записи в файле /usr/es/sbin/cluster/etc/rhosts демон коммуникаций clcomdES будет отклонять все подключения.

Демон коммуникаций кластера обеспечивает транспортную среду для верификации кластера HACMP, глобальных изменений ODM и удаленного выполнения команд. Демон коммуникаций clcomdES используется следующими командами (применение пользователем не поддерживается):

clrexec выполняет специфические и 
потенциально опасные команды;
cl_rcp 	копирует файлы конфигурации AIX;
cl_rsh 	используется кластером для 
выполнения команд в удаленной оболочке.

Демон коммуникаций кластера также отличается от традиционных rsh/rcp-подключений более высокой производительностью (r-команды медленны); кроме того, clcomdES оставляет подключения сокетов открытыми, вместо того чтобы закрывать их после каждой операции. Так как многие операции администрирования HACMP требуют доступа к ODM, демон коммуникаций кластера также кеширует копии ODM каждого узла. Когда необходим доступ к ODM, clcomdES сравнивает контрольную сумму кешированных записей ODM с ODM на каждом узле в кластере и осуществляет обновление только в случае необходимости.

Демон коммуникаций кластера также отправляет собственные пакеты пульса на каждый узел и в случае отказа сети пытается повторно установить подключение.

Демон коммуникаций кластера также используется (в HACMP 5.2 и выше):

  • для наборов файлов (file collections);
  • автоматической синхронизации и верификации кластера;
  • администрирования пользователей/паролей;
  • C-SPOC.

В отличие от HACMP 5.1, начиная с HACMP 5.2 остановка демона коммуникаций кластера при активном кластере невозможна.

Анатолий Гречман
Анатолий Гречман
Казахстан, Экибастуз, Экибастузский Инженерно-технический Институт, 2014