Планирование
Планирование перехвата IP-адреса
Перехват IP-адреса (IP Address Takeover, IPAT) представляет собой механизм, используемый HACMP для перемещения сервисных адресов между коммуникационными интерфейсами.
Существует два метода: перехват IP-адреса посредством замены (IPAT via replacement) и перехват IP-адреса посредством синонимов (IPAT via aliases). Конфигурация вашей сети зависит от применяемого метода управления интерфейсами.
Для любой новой инсталляции мы рекомендуем использовать перехват IP-адреса посредством синонимов, так как этот метод прост в реализации и более гибок, чем перехват IP-адреса посредством замены. Можно применять несколько сервисных адресов для одного адаптера в любое время; кроме того, в случае перемещения при сбое имеет место некоторая экономия времени, так как HACMP просто нужно добавить синоним, а не выполнять повторное конфигурирование базового IP-адреса адаптера, что гораздо быстрее.
Некоторые конфигурации потребуют использования мониторинга пульса через синонимы. Например, если оба локальных базовых адаптера относятся к одной подсети или же если все базовые адаптеры на всех узлах относятся к разным подсетям.
Все варианты подробно рассматриваются в следующем разделе. В нашем примере применяется перехват IP-адреса посредством синонимов и мониторинг пульса через синонимы.
Перехват IP-адреса посредством замены
Этот способ конфигурирования сетей HACMP является более традиционным. HACMP при запуске осуществляет замену загрузочного адреса на сервисный адрес.
Для кластера из двух узлов требуется использование по меньшей мере одной подсети на коммуникационный интерфейс на узел (при использовании одинаковой маски подсети во всех подсетях). Для кластера с несколькими коммуникационными интерфейсами на узел требуется следующее:
- базовый и сервисный адреса основного коммуникационного интерфейса должны относиться к одной подсети;
- базовые IP-адреса всех дополнительных коммуникационных интерфейсов должны относиться к различным подсетям (относительно друг друга и относительно основного интерфейса).
Преимущество перехвата IP-адреса посредством замены состоит в том, что оно разрешает выполнять перехват аппаратного адреса (Hardware Address Takeover, HWAT) вместе с перехватом IP-адреса посредством замены. Эта возможность позволяет осуществлять перемещение (локально администрируемого) MAC-адреса адаптера, соответствующего сервисному IP-адресу, вместе с IP-адресом на дежурный адаптер. Это устраняет необходимость обновления ARP-кеша на стороне клиента в случае переноса IP-адресов.
На рис. 3.9 показано состояние сетевых адаптеров до и после запуска HACMP на узлах. Обратите внимание на то, что HACMP при запуске заменяет загрузочный/базовый адрес сервисным адресом. Перемещение при сбое выполняется на дополнительный (дежурный) адаптер(ы), где, опять же, базовый (дежурный) адрес заменяется сервисным адресом. Количество сервисных адресов ограничено количеством резервных адаптеров, определенных в той же сети HACMP.
Перехват IP-адреса посредством синонимов
Этот метод назначения сервисных адресов является более новым и более гибким, чем перехват IP-адреса посредством замены. Используя перехват IP-адреса посредством синонимов, можно осуществлять назначение нескольких IP-адресов одному коммуникационному интерфейсу.
- Ethernet;
- Token Ring;
- FDDI;
- SP Switch1 и SP Switch2.
При запуске HACMP выполняется конфигурирование сервисного синонима поверх существующего базового IP-адреса доступного адаптера.
При использовании перехвата IP-адреса посредством синонимов следует учитывать следующие требования:
- Требования подсетей:
- Каждый базовый адаптер должен относиться к отдельной подсети, чтобы можно было осуществлять мониторинг пульса. Базовые адреса не обязательно
должны быть маршрутизируемыми вне кластера.Примечание. Это ограничение снимается при использовании мониторинга пульса через синонимы.
- Сервисные адреса должны относиться к отдельной подсети относительно любой из базовых подсетей. Можно использовать несколько сервисных адресов, и все они могут относиться как к одной подсети, так и к различным подсетям.
- Постоянный синоним может относиться либо к той же подсети, либо к другой подсети относительно сервисного адреса.
- Все маски подсети должны быть одинаковыми.
- Каждый базовый адаптер должен относиться к отдельной подсети, чтобы можно было осуществлять мониторинг пульса. Базовые адреса не обязательно
должны быть маршрутизируемыми вне кластера.
- Несколько сервисных меток могут совместно существовать как синонимы для заданного интерфейса.
- Нельзя сконфигурировать перехват аппаратного адреса (Hardware Address Takeover, HWAT).
Мы рекомендуем использовать постоянный синоним и включить его в одну подсеть с маршрутом по умолчанию. Это обычно означает, что постоянный адрес должен быть включен в одну подсеть с сервисными адресами. Постоянный синоним можно использовать для доступа к узлу при отключенном HACMP, а также для преодоления проблем с маршрутом по умолчанию.
Можно выполнить настройку параметров размещения сервисных IP-меток, сконфигурированных в HACMP V5.3. Можно настроить размещение синонимов через меню SMIT с использованием следующих вариантов:
- Без совместного размещения (Anti-Collocation). Используется по умолчанию. HACMP распределяет сервисные IP-метки по всем доступным коммуникационным интерфейсам с использованием выбора по принципу наименьшей загруженности.
- С совместным размещением (Collocation). HACMP размещает все сервисные IP-метки на одном коммуникационном интерфейсе (NIC).
- Без совместного размещения и с постоянной меткой (Anti-Collocation with persistent label). HACMP размещает все сервисные IP-метки по всем активным коммуникационным интерфейсам, не содержащим постоянную IP-метку синонима. HACMP размещает сервисную IP-метку на интерфейсе, содержащем постоянную метку только в том случае, если другие сетевые интерфейсы недоступны. Если постоянные IP-метки не были сконфигурированы, HACMP позволяет выбрать метод размещения Anti-Collocation with Persistent (Без совместного размещения и с постоянной меткой), однако при этом выдается предупреждение и по умолчанию используется обычный метод без совместного размещения.
- С совместным размещением и с постоянной меткой (Collocation with persistent label). Все сервисные IP-метки располагаются на одной сетевой карте, содержащей постоянную IP-метку. Этот вариант может быть полезен при конфигурациях виртуальной частной сети (VPN) с брандмауэром, где только один интерфейс имеет внешний выход и все IP-адреса (постоянные и сервисные) должны располагаться на одном коммуникационном интерфейсе. Если постоянные IP-метки не были сконфигурированы, HACMP позволяет выбрать метод размещения Collocation with Persistent (С совместным размещением и с постоянной меткой), однако при этом выдается предупреждение и по умолчанию используется обычный метод с совместным размещением.
На рис. 3.10 показано состояние сетевых адаптеров до и после запуска HACMP на узлах. Обратите внимание на то, базовые адреса не изменяются. HACMP добавляет на базовые адаптеры сервисные и постоянные синонимы. Постоянные адреса всегда доступны, тогда как сервисные метки добавляются и удаляются при запуске и остановке HACMP. Перемещение при сбое выполняется путем переноса сервисной метки на другой доступный коммуникационный интерфейс. В нашем примере только сеть 192.168.100/24 является маршрутизируемой вне кластера.
Мониторинг пульса через синонимы
HACMP требует использования отдельной подсети для мониторинга каждого базового адаптера. При конфигурации с применением двух Ethernet-адаптеров на узле требуется две подсети. При употреблении трех адаптеров требуется три подсети. Эти подсети не обязательно должны быть маршрутизируемыми вне сетей кластера.
Чтобы обеспечить средство мониторинга этих адаптеров (без изменения адреса базового адаптера), а также чтобы избежать возникновения проблем с подсетями, HACMP предоставляет функцию мониторинга пульса через синонимы. Этот метод не требует внесения каких-либо изменений в существующие базовые адреса. HACMP просто игнорирует базовые адреса и добавляет собственный набор синонимов для осуществления мониторинга пульса.
При использовании мониторинга пульса через IP-синонимы, IP-адреса, используемые при загрузке, могут располагаться либо в той же подсети, либо в других подсетях; однако IP-адрес, применяемый во время загрузки, должен располагаться в подсети, не включающей сервисные IP-метки. Как оказалось, если все адреса (базовые и сервисные) попадают в одну подсеть, возникают проблемы с маршрутизацией в связи с функцией чередования маршрутов (route striping) операционной системы AIX.
Чтобы установить мониторинг пульса через IP-синонимы, следует настроить параметр "IP Address Offset for Heartbeating over IP Aliases" ("Смещение IP-адреса для мониторинга пульса через IP-синонимы") как часть конфигурирования сетей HACMP. IP-адреса, используемые для мониторинга пульса, определяются и назначаются системой HACMP с применением этого значения смещения. Маска подсети совпадает с той, которая используется для сервисных и несервисных адресов.
Например, можно в качестве параметра смещения IP-адреса употреблять значение 1.1.1.1. При использовании сети с двумя NIC на каждом узле следует добавить маску подсети 255.255.255.0; в результате получим следующие IP-синонимы мониторинга пульса:
- node01:
- en0 1.1.1.1;
- en1 1.1.2.1.
- node02:
- en0 1.1.1.2;
- en1 1.1.2.2.
IP-синонимы мониторинга пульса добавляются при запуске HACMP на узле и удаляются при остановке HACMP. Эти IP-синонимы используются только для сообщений пульса. Для них не требуется осуществлять маршрутизацию, и их не следует применять для какого-либо другого трафика. Маска подсети совпадает с используемой для сервисных и несервисных синонимов.
На рис. 3.11 показано состояние сетевых адаптеров до и после запуска HACMP на узлах. Обратите внимание на то, базовые адреса не изменяются. Помимо сервисных и постоянных синонимов, добавляемых HACMP на базовые адаптеры, также добавляются синонимы пульса. Последние удаляются при остановке HACMP вместе с сервисными синонимами. В нашем примере только сеть 192.168.100/24 является маршрутизируемой вне кластера.
Команда netstat -i выводит три IP-адреса для каждого адаптера при запущенном HACMP.
Планирование сети, отличной от IP
Сети типа "точка-точка" играют важную роль в обеспечении высокой доступности кластера. Достаточно небезопасно применять одну лишь TCP/IP-сеть для обеспечения доступности кластера и недопущения разделения кластера. Поэтому важно создавать сети типа "точка-точка". При использовании больших кластеров необходимо создавать соответствующие пути между всеми узлами в кластере.
Назначение топологии последовательной сети или сети "точка-точка" состоит в том, чтобы обеспечить достаточное количество путей между узлами кластера, чтобы RSCT могла правильно оценить серьезность сбоя в кластере.
Разделение кластера
Разделение кластера (также называемое изоляцией узла или split brain) возникает в том случае, когда узел HACMP перестает получать весь трафик пульса с другого узла (по всем доступным сетям) и предполагает, что на этом узле произошел отказ. Проблема разделения кластера состоит в том, что узлы с одной стороны раздела воспринимают отсутствие пакетов пульса от узлов с другой стороны раздела как признак отказа узлов, генерируя события отказа для этих узлов. После этого узлы с каждой стороны кластера пытаются перехватить ресурсы (если настроен перехват) с узла, который на самом деле все еще активен и потому является законным владельцем этих ресурсов. Такие попытки перехвата могут привести к непредсказуемым результатам в кластере, например к повреждению данных в связи с реинициализацией дисков.
Наилучшая защита от возникновения подобных ситуаций состоит в том, чтобы использовать несколько сетей, как TCP/IP-сетей, так и сетей типа "точка-точка", чтобы обеспечить правильность оценки серьезности проблемы. Помните о том, что HACMP (в частности, RSCT) отправляет и получает пакеты пульса по всем доступным сетям, поэтому чем больше сетей, тем точнее HACMP сможет определить, имеет ли место отказ узла или отказ сети.
Следующий набор из четырех рисунков показывает, каким образом следует осуществлять добавление сетей в кластер, чтобы обеспечить наилучшую защиту от разделения кластера.
На рис. 3.12 показан кластер из четырех узлов с одним Ethernet-подключением к каждому серверу. Так как используется только одна сеть, то при потере любой связи часть кластера будет разделена. В примере показан разрыв связи между двумя Ethernetкоммутаторами, вызывающий отделение двух узлов слева от двух узлов справа. В данном случае могут возникнуть проблемы в результате попыток выполнить перехват ресурсов с активного узла.
Рис. 3.13 несколько более реалистичен; на нем представлены двойные Ethernetподключения с каждого узла. Каждый Ethernet-адаптер подключен к отдельному коммутатору. В этом случае для разделения кластера необходимо, чтобы произошел отказ двух коммутаторов или же обоих Ethernet-подключений на узле. Однако сама по себе сеть TCP/IP остается единой точкой отказа.
На рис. 3.14 представлена рекомендованная конфигурация. Имеются двойные Ethernet-подключения к нескольким Ethernet-коммутаторам, а также добавлена кольцевая сеть типа "точка-точка". В кольцевой сети каждый узел подключен к своим непосредственным соседям. При потере одного подключения RSCT все еще сможет подключиться ко всем оставшимся узлам. Для разделения кластера потребуется возникновение двойного отказа на узле и отказа сети TCP/IP.
Для построения надежной конфигурации рассмотрим реализацию звездной топологии. При такой конфигурации, помимо сети TCP/IP, каждый узел подключен ко всем другим узлам кластера сетями типа "точка-точка". Это позволяет обеспечить связь RSCT с работающими узлами при отказе нескольких узлов. Эта конфигурация представлена на рис. 3.15.