Red Hat Cluster Manager: Руководство по установке и администрированию Red Hat Cluster Manager | ||
---|---|---|
Назад | Вперед |
Информация в следующих разделах сможет помочь вам настроить оборудование кластера. В некоторых случаях, эта информация зависит от производителя устройства.
Если в кластере используется переключатель питания RPS-10, следуйте приведенным указаниям:
Установите адрес на каждом переключателе, равным 0. Убедитесь в том, что колесо выбора адреса установлено ровно, а не между значениями.
Установите настроечные переключатели следующим образом:
Убедитесь в том, что имя специального файла устройства последовательного порта (например, /dev/ttyS1) указано в файле /etc/cluster.conf, и к этому порту подключен кабель переключателя питания.
Подсоедините кабель питания каждой кластерной системы к своему переключателю питания.
Для соединения последовательного порта каждой кластерной системы с переключателем питания другой системы используйте нуль-модемные кабели.
На Рисунке A-1 показан пример конфигурации переключателя питания RPS-10.
За дополнительной информацией по установке обратитесь к документации RPS-10, предоставленной производителем оборудования. Заметьте, что информация, касающаяся кластера, представленная в этом руководстве, является более важной, чем предоставленная производителем.
Переключатели WTI NPS-115 и NPS-230 представляют собой переключатели питания с сетевым интерфейсом. По сути это щиток питания, управляемый по сети, позволяющий отключать/включать отдельные розетки. В кластере достаточно одного устройства NPS (в отличие от переключателя RPS-10, который требуется каждому узлу кластера).
Так как программное обеспечение не может программным путем определить, правильно ли включены кластерные системы, внимательно проверьте подключения этих систем к соответствующим розеткам на задней панели переключателя питания NPS. Если вы ошибетесь при подключении, программа кластера может прийти к неверному выводу о том, что она перезапустила другую кластерную систему.
При настройке переключателя NPS необходимо следовать приведенным ниже указаниям.
При настройке самого переключателя питания:
Назначьте System Password (Системный пароль) (в меню General Parameters (Общие параметры)). Замечание: Этот пароль хранится в открытом виде в файле конфигурации кластера, поэтому выберите пароль, отличный от пароля системы. (Несмотря на то, что файл /etc/cluster.conf разрешено читать только пользователю root.)
Не назначайте пароль в меню Plug Parameters (Параметры розеток).
Назначьте системные имена розеткам, в меню Plug Parameters (Параметры розеток), (например, clu1 для первой розетки, clu2 для второй — если узлы кластера носят такие имена).
Настраивая в cluconfig параметры переключателя питания:
Укажите тип переключателя: WTI_NPS.
Укажите пароль, назначенный вами для переключателя NPS (как указано в первом пункте предыдущего раздела)
В ответ на вопрос о номере розетки/порта, укажите имя назначенное при выполнение 3 пункта предыдущего раздела.
Замечание | |
---|---|
Замечено, что переключатель питания NPS может перестать обрабатывать команды, если в сети где он находится наблюдается большое количество широковещательных и многоадресных пакетов. В таком случае может понадобиться переместить переключатель питания в отдельную подсеть. |
Переключатель питания NPS-115 имеет очень полезную возможность - производить отключение/включение узлов кластера, имеющих два блока питания. Переключатель NPS-115 состоит из двух банков розеток питания, каждый из которых питается независимо и имеет 4 розетки. Каждая розетка питания переключателя NPS-115 включается в отдельный источник питания (предпочтительнее использовать раздельные системы UPS). Для узлов кластера с двумя блоками питания, включите их кабели питания в розетки двух банков. Затем, при настройке NPS-115 и назначении портов, просто назначьте одно название розеткам, в которые включен указанный узел кластера. Например, узлы кластера clu3 и clu4 подключены к NPS-115, причем clu3 включен в розетки 1 и 5 а clu4 включен в розетки 2 и 6:
Plug | Name | Status | Boot Delay | Password | Default | -----+----------------+---------+------------+------------------+---------+ 1 | clu3 | ON | 5 sec | (undefined) | ON | 2 | clu4 | ON | 5 sec | (undefined) | ON | 3 | (undefined) | ON | 5 sec | (undefined) | ON | 4 | (undefined) | ON | 5 sec | (undefined) | ON | 5 | clu3 | ON | 5 sec | (undefined) | ON | 6 | clu4 | ON | 5 sec | (undefined) | ON | 7 | (undefined) | ON | 5 sec | (undefined) | ON | 8 | (undefined) | ON | 5 sec | (undefined) | ON | -----+----------------+---------+------------+------------------+---------+ |
В ответ на команду выполнить отключение/включение определенной системы, переключатель питания произведет отключение/включение всех розеток с заданным названием. Таким образом, узел кластера с двумя блоками питания может быть успешно перезагружен. В такой двойной конфигурации, в утилите cluconfig задаются те же параметры, что и при простой, одиночной конфигурации.
Следующая информация касается переключателей питания RPC-3 и PRC-5.
Переключатель питания Baytech представляет собой переключатель с сетевым интерфейсом. По сути это щиток питания, управляемый по сети, позволяющий отключать/включать отдельные розетки. В кластере достаточно одного устройства Baytech (в отличие от переключателя RPS-10, который необходим для каждого узла кластера).
Так как программное обеспечение не может программным путем определить, правильно ли включены кластерные системы, внимательно проверьте подключения этих систем к соответствующим розеткам на задней панели переключателя питания Baytech. Если вы ошибетесь при подключении, программа кластера может прийти к неверному выводу о том, что она перезапустила другую кластерную систему.
Замечание | |
---|---|
Во всех устройствах, поставляемых производителем, все розетки переключателя Baytech отключены. Для включения розеток, к которым подключены узлы кластера, воспользуйтесь утилитой настройки Baytech, выбрав в основном меню Outlet Control (Управление розетками). В этом меню, вы можете включить отдельные розетки, например on 1 (вкл 1), on 2 (вкл 2) и т.д. |
При настройке переключателя Baytech необходимо следовать приведенным ниже указаниям.
При настройке самого переключателя питания Baytech:
Подключившись через последовательный порт, назначьте параметры IP адреса.
В меню Access (Доступ) => Network access (Доступ по сети), убедитесь в том, что установлены оба параметра: Prompt for user name (Запрашивать имя пользователя) и Prompt for password (Запрашивать пароль).
Определите имя пользователя и пароль в меню Manage Users (Управление пользователями) или назначьте пароль существующему пользователю "admin". Замечание: этот пароль хранится в файле конфигурации кластера в открытом виде, поэтому выберите пароль, отличный от пароля системы (несмотря на то, что право читать файл /etc/cluster.conf имеет только пользователь root).
Для назначения имен систем соответствующим розеткам, перейдите в меню Configuration (Настройка), затем Outlets (Розетки) и, наконец, Name Outlets (Имена розеток) (например, clu1 для розетки 1, clu2 для розетки 2 — для каждого узла кластера).
Настраивая в cluconfig параметры переключателя питания:
Укажите тип переключателя питания: BAYTECH.
Укажите имя пользователя и пароль, назначенные вами для переключателя Baytech (как указано в третьем пункте предыдущего раздела).
В ответ на вопрос о номере розетки/порта, укажите имя, назначенное при выполнение 4 пункта предыдущего раздела.
Ниже приведен пример настройки переключателя, в котором розетки называются именами узлов кластера: clu1 и clu2.
Outlet Operation Configuration Menu Enter request, CR to exit. 1)...Outlet Status Display: enabled 2)...Command Confirmation : enabled 3)...Current Alarm Level (amps): 4.1 4)...Name Outlets 5)...Outlet Power-up Delay 6)...Display Outlet Users Enter request>4 Enter number of outlet to name, CR to exit. 1)...clu1 2)...clu2 3)...Outlet 3 4)...Outlet 4 5)...Outlet 5 6)...Outlet 6 7)...Outlet 7 8)...Outlet 8 |
Описание модели использования сторожевых таймеров как средства обеспечения целостности данных приводилось в разделе Выбор типа переключателя питания в главе 2. Как упоминалось в том разделе, существует две разновидности сторожевых таймеров: аппаратные и программные.
Ниже перечислены действия, необходимые для настройки сторожевого таймера в конфигурации кластера.
В зависимости от типа используемого сторожевого таймера, может потребоваться создать специальный файл устройства для этого таймера. Это можно выполнить следующим образом:
# cd /dev # ./MAKEDEV watchdog |
При работе с утилитой cluconfig, на вопрос о типе переключателя питания укажите SW_WATCHDOG, вне зависимости от применяемого типа сторожевого таймера.
В любой кластерной системе можно использовать программный сторожевой таймер, как средство обеспечения целостности данных, так как никакое дополнительное оборудование для этого не требуется. Если вы указали тип переключателя питания как SW_WATCHDOG во время настройки с помощью cluconfig, кластерное программное обеспечение автоматически загрузит соответствующий подгружаемый модуля ядра softdog.
Если кластер настроен на использование программного сторожевого таймера, кластерный демон кворума (cluquorumd) будет периодически сбрасывать таймер. Если демон cluqourumd не смог сбросить таймер, отказавший узел кластера самостоятельно перегрузится.
При использовании программных сторожевых таймеров, остается небольшой риск повисания системы, при котором поток программного сторожевого таймера не будет выполняться. В таком случае, другой узел кластера сможет перенести службы такого повисшего узла. Чаще всего это безопасная операция, но если работа повисшего узла неожиданно продолжится, может произойти разрушение данных. Для уменьшения вероятности этой уязвимости, администраторы могут использовать другой вариант программного таймера - сторожевой таймер c NMI.
Если вы применяете программный сторожевой таймер, как средство сохранения целостности данных, рекомендуется включить сторожевой таймер, использующий немаскируемое прерывание (Non-Maskable Interrupt (NMI)) для большей гарантии сохранности целостности данных. Сторожевой таймер с NMI выполняет перезагрузку системы даже в случае заблокированных прерываний. Сторожевой таймер с NMI может использоваться вместе с программным сторожевым таймером.
В отличие от сторожевого таймера, который сбрасывается кластерным демоном кворума (cluquorumd), сторожевой таймер NMI учитывает системные прерывания. Обычно, в нормально работающей системе происходят сотни прерываний от устройств и таймеров. Если в течении 5 секунд не происходит ни одного прерывания, это означает что система "повисла" и сторожевой таймер NMI сработает, выполнив перезагрузку системы.
Надежная защита целостности данных может быть реализована в комбинации мониторинга рабочего состояния кластерного демона кворума с программным сторожевым таймером, а также с проверкой на низком системном уровне сторожевого таймера NMI.
Для корректной работы механизма сторожевого таймера NMI требуется, чтобы на материнской плате кластерной системы находилась микросхема APIC. В большинстве современных систем компонент APIC отсутствует. В основном, поддержку NMI таймеров обеспечивают многопроцессорные системы Intel и однопроцессорные системы Intel с двухпроцессорными системными платами (2+ процессорных слотов/сокетов, но только одним CPU).
Замечание | |
---|---|
Кроме этого, другие типы серверов также поддерживают сторожевые таймеры NMI, наряду с описанными выше материнскими платами Intel. К сожалению, не существует простого способа определить наличие этой поддержки, кроме метода проб и ошибок. |
Сторожевой таймер NMI в системах, где он поддерживается, включается добавлением параметра nmi_watchdog=1 в командную строку ядра. Ниже приведен пример файла /etc/grub.conf:
# # grub.conf # default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title HA Test Kernel (2.4.9-10smp) root (hd0,0) # This is the kernel's command line. kernel /vmlinuz-2.4.9-10smp ro root=/dev/hda2 nmi_watchdog=1 # end of grub.conf |
В системах, использующих вместо grub загрузчик lilo, добавьте строку nmi_watchdog=1 в разделе "append" файла /etc/lilo.conf. Например:
# # lilo.conf # prompt timeout=50 default=linux boot=/dev/hda map=/boot/map install=/boot/boot.b lba32 image=/boot/vmlinuz-2.4.9-10smp label=linux read-only root=/dev/hda2 append="nmi_watchdog=1" # end of lilo.conf |
Чтобы определить, поддерживает ли сервер сторожевой таймер NMI, сначала попытайтесь добавить параметр "nmi_watchdog=1" в командную строку ядра как описано выше. После загрузки системы, зарегистрируйтесь под именем root и введите:
cat /proc/interrupts |
При этом на экране должно отображаться примерно следующее:
CPU0 0: 5623100 XT-PIC timer 1: 13 XT-PIC keyboard 2: 0 XT-PIC cascade 7: 0 XT-PIC usb-ohci 8: 1 XT-PIC rtc 9: 794332 XT-PIC aic7xxx, aic7xxx 10: 569498 XT-PIC eth0 12: 24 XT-PIC PS/2 Mouse 14: 0 XT-PIC ide0 NMI: 5620998 LOC: 5623358 ERR: 0 MIS: 0 |
Обратите внимание, в левом столбце отображается метка NMI. Если значение переменной NMI (в среднем столбце) не равно нулю, сервер поддерживает сторожевой таймер NMI.
Если это не так, то есть NMI равен нулю, попробуйте передать ядру nmi_watchdog=2 вместо параметра nmi_watchdog=1, как было показано ранее. Выполнив это, также проверьте /proc/interrupts после загрузки системы. Если NMI не равен нулю, сторожевой таймер NMI настроен правильно. Если NMI и в этом случае равен нулю, ваша система не поддерживает сторожевой таймер NMI.
Ядро системы поддерживает драйверы для различных типов аппаратных сторожевых таймеров. Некоторые из таких таймеров интегрированы на материнской плате, тогда как выпускаются и отдельные PCI-платы. Аппаратные сторожевые таймеры представляют собой прекрасные средства обеспечения целостности данных в кластере, потому что они не зависят от работы системного процессора и таким образом, перегрузят систему даже в случае повисания системы.
По причине отсутствия единых стандартов низкоуровневых сторожевых таймеров, сложно определить какие-либо общие рекомендации по использованию таких компонентов в системе. Многие низкоуровневые сторожевые таймеры не определяются автоматически.
Ядро поддерживает основные виды аппаратных сторожевых таймеров, приведенные в Таблице A-2 :
Таблица A-2. Аппаратные сторожевые таймеры
Плата/Таймер | Драйвер |
---|---|
Acquire SBC | acquirewdt |
Advantech SBC | advantechwdt |
Intel-810 TCO WDT | i810-tco |
Eurotech CPU-1220/1410 WDT | eurotech |
IB700 WDT | ib700 |
60xx SBC WDT | sbc60xxwdt |
W83877F WDT | w83877f |
Netwinder W83977AF | wdt977 |
Industrial Computer WDT500 | wdt |
Industrial Computer WDT501 | wdt |
Industrial Computer WDT500PCI | wdt_pci |
Industrial Computer WDT501PCI | wdt_pci |
Чтобы включить в ядре поддержку одного из описанных выше сторожевых таймеров, необходимо добавить соответствующую запись в файл /etc/modules.conf. Например, если используется Intel-810 TCO WDT, в файл /etc/modules.conf нужно добавить строку:
alias watchdog i810-tco |
Программное обеспечение кластера поддерживает самые разные типы переключателей питания. Набор модулей поддержки переключателей первоначально разрабатывался компанией Mission Critical Linux, Inc. как часть проекта с открытыми исходными текстами Linux-HA. Ограничения времени и ресурсов не позволили выполнить полную проверку полного диапазона типов переключателей. Поэтому модули поддержки переключателей питания, совместимых со STONITH, являются неявно поддерживаемыми. Примеры других модулей приведены ниже:
APC Master Switch: http://www.apc.com
Замечание | |
---|---|
Замечено, что переключатель питания Master Switch может перестать обрабатывать команды, если в сети где он находится наблюдается большое количество широковещательных и многоадресных пакетов. В таком случае, переместите переключатель питания в отдельную подсеть. |
APC Serial On/Off Switch (partAP9211): http://www.apc.com
Замечание | |
---|---|
Этот тип переключателя не дает возможности кластеру узнать его состояние. Таким образом кластер предполагает что он всегда подключен и работает. |
Вы можете настроить кластер, не используя функциональность переключателя питания. Как описано в разделе Выбор типа переключателя питания в главе 2, использование кластера без средств переключения питания не рекомендуется, так как это может привести к разрушению данных при сбое в некоторых ситуациях.
Если вы решили в конфигурации кластера не использовать средств переключения питания, просто укажите тип переключателя как NONE, при настройке кластера с помощью cluconfig.
Замечание | |
---|---|
Использовать переключатели питания с типом NONE (отсутствует) не рекомендуется, так как в этом случае ваш кластер не защищен от разрушения данных при повисании системы. Если в конфигурацию вашего кластера не включены аппаратные переключатели питания, рекомендуется применять программные сторожевые таймеры. |