Установка большого Linux-кластера: Часть 1. Введение и аппаратная конфигурация

Начало работы по установки большого Linux-кластера

Создайте работающий Linux-кластер из большого количества отдельных частей аппаратного и программного обеспечения, включая системы IBM System x и IBM TotalStorage.

Мэнди Квортли (Mandie Quartly), специалист по информационным технологиям, IBM

Мэнди Квортли фотоМэнди Квортли (Mandie Quartly) работает специалистом по информационным технологиям в группе IBM UK Global Technology Services. Мэнди выполняет разнообразную работу. В настоящее время занимается реализациями платформ Intel и POWER™, а также AIX и Linux (Red Hat и Suse). Она специализируется на продукте IBM General Parallel File System (GPFS). Получила степень доктора философии в University of Leicester в 2001 году.



Грэхем Уайт (Graham White), специалист по системному управлению, IBM

Грэхэм Уайт фотоГрэхем Уайт (Graham White) работает специалистом по системному управлению Linux Integration Centre в отделе Emerging Technology Services офиса IBM Hursley Park в Великобритании. Он имеет сертификат Red Hat Certified Engineer и специализируется на широком спектре технологий с открытым исходным кодом, открытых стандартах и технологиях IBM. В сферу его интересов входят LAMP, Linux, системы защиты, кластеризация и все аппаратные платформы IBM. Получил степень бакалавра по вычислительной технике и управлению с отличием в Exeter University в 2000 году.



21.02.2007

Введение в серию статей о больших Linux-кластерах

Это первая часть серии статей, в которой описывается установка и настройка большого компьютерного Linux-кластера. Целью данной статьи является объединение в одном месте самой новой информации из различных общедоступных источников о процессе, необходимом для создания рабочего Linux-кластера из нескольких отдельных частей аппаратного и программного обеспечения. Однако данные статьи не являются основой для создания полного проекта нового Linux-кластера. Ссылки на справочные материалы и руководства, описывающие общую архитектуру Linux-кластера, приведены в разделе "Ресурсы".

В первых двух частях данной серии статей описана общая установка кластера и приводится обзор конфигурации аппаратного обеспечения и установки аппаратного обеспечения с использованием программного обеспечения IBM для системного управления - Cluster Systems Management (CSM). В первой статье вы познакомитесь с этой темой и аппаратной конфигурацией. Во второй статье описывается конфигурация управляющего сервера и установка узлов. Последующие статьи данной серии посвящены серверу системы хранения данных кластера. В них описывается аппаратная конфигурация и процесс установки и настройки файловой системы IBM с общим доступом, General Parallel File System (GPFS).

Данная серия статей предназначена для использования системными разработчиками и системными инженерами при планировании и внедрении Linux-кластера с использованием интегрированной среды IBM eServer Cluster 1350 (см. раздел "Ресурсы"). Некоторые статьи могут быть важны для администраторов кластера в качестве учебного материала, а также для использования во время обычного функционирования кластера.

Часть 1: Общая архитектура кластера

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

  • Физическая схема:
    • План стойки для каждого их типа (например, управляющие и вычислительные стойки).
    • Поэтажный план расположения стоек во время процесса установки системы и при рабочем использовании, если они отличаются.
    • Схемы внутренних соединений стоек для сети, цепей питания, пульта оператора и т.д.
    • Схема внешних соединений для серверов системы хранения, терминальных серверов и т.д.
  • Логическая схема:
    • Схема сети, включая диапазоны IP-адресов, конфигурацию подсетей, соглашения по наименованию компьютеров и т.д.
    • CSM-конфигурация по расположению пользовательских сценариев, аппаратные настройки и требования по мониторингу.
    • Требования к операционным системам, список специализированных пакетов и параметры конфигурации системы.
    • Схема системы хранения данных, включая схему файловой системы, разбиение дисков, параметры репликации и т.д.

Пример кластера (см. рисунок 1) состоит из компьютеров IBM Systems, работающих на процессорах Intel® или AMD, с подключенными подсистемами TotalStorage (ссылки на дополнительную информацию по этим системам приведены в разделе "Ресурсы"). Для простоты соединения в кластере выполнены медным кабелем стандарта гигабитный Ethernet. Этот кабель обеспечивает хорошую скорость в большинстве случаев. Пропускную способность между стойками можно повысить путем использования bonded/port-channeled/etherchannel (вставьте ваш любимый термин для обозначения метода транкинга).

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

Рисунок 1. Схема архитектуры кластера
Рисунок 1. Схема архитектуры кластера

Дополнительные подробности схемы и дизайна примера кластера:

  • Управляющий сервер - Функция управляющего сервера может выполняться одним сервером или на несколькими. В среде с одним сервером управляющий сервер функционирует в автономном режиме. Можно настроить также управляющие серверы с высокой готовностью. Для этого можно использовать программное обеспечение CSM для поддержки высокой готовности (high-availability - HA), которое будет выдавать тактовые импульсы ("heartbeat") между двумя серверами и поддерживать динамическое восстановление после сбоев при возникновении аварийных ситуаций. Другим возможным методом организации нескольких управляющих серверов является использование репликации, если поддержка HA не важна для вашей среды. В этом случае вы можете резервировать данные управляющего сервера на другую рабочую систему, которую можете, при необходимости, перевести в оперативный режим вручную. На рисунке 1 соединения управляющей сети выделены красным цветом. Управляющий сервер - это CSM-сервер, использующийся исключительно для внутреннего управления кластером при помощи CSM-функций: управление установкой системы, мониторинг, облуживание и другие задачи. В данном кластере присутствует только один управляющий сервер.
  • Серверы хранения данных и дисковые накопители - Вы можете подключить несколько серверов хранения данных к организованному на дисковых накопителях хранилищу данных при помощи различных механизмов. Подключить систему хранения данных к серверу можно напрямую: либо через SAN-коммутатор (storage area network - сеть хранения данных) по оптическому волокну или медному кабелю, либо используя оба типа соединений (см. рисунок 1). Эти серверы предоставляют совместный доступ к системе хранения данных другим серверам кластера. Если необходимо резервирование базы данных, подключите резервное устройство к серверу хранения данных, используя дополнительное медное или оптическое соединение. В примере кластера хранилище представляет собой единую сущность, обеспечивающую доступ к общей файловой системе в пределах кластера. В следующей статье данной серии будет более подробно описана установка, настройка и реализация аппаратного обеспечения системы хранения данных и кластерной файловой системы.
  • Пользовательские узлы - В идеальном случае вычислительные узлы кластера не должны принимать внешние подключения и должны быть доступны только для системных администраторов через управляющий сервер. Пользователи системы могут зарегистрироваться на вычислительных узлах (или узлах регистрации) для выполнения своей работы в кластере. Каждый пользовательский узел состоит из образа с возможностями любого редактирования, необходимых библиотек разработчика, компиляторов и всего, что необходимо для создания кластерного приложения и получения результатов.
  • Узлы планирования - Для запуска рабочей нагрузки на кластере пользователи должны передать свою работу узлу планирования. Фоновый процесс-планировщик (scheduler daemon), работающий на одном или нескольких узлах планирования, применяет предопределенную политику для запуска рабочих нагрузок в кластере. Аналогично вычислительным узлам, узлы планирования не должны принимать внешних подключений от пользователей. Системные администраторы должны управлять ими при помощи управляющего сервера.
  • Вычислительные узлы - Эти узлы выполняют рабочую нагрузку кластера, принимая задания от планировщика. Вычислительные узлы - это самые свободные части кластера. Системный администратор может легко переустанавливать или перенастраивать их при помощи управляющего сервера.
  • Внешние соединения - Пример внешнего соединения показан зеленым цветом на рисунке 1. Такие соединения считаются внешними для кластера, а потому не описываются в данной статье.

Аппаратная конфигурация

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

Логическая сетевая схема

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

Убедитесь в том, что все устройства в сети присутствуют в файле hosts. В некоторых примерах реализации используются следующие компоненты (с примерами названий):

  • Управляющие серверы (mgmt001 - mgmtXXX)
  • Серверы хранения данных (stor001 - storXXX)
  • Вычислительные узлы (node001 - nodeXXX)
  • Узлы планирования (schd001 - schdXXX)
  • Пользовательские узлы (user001 - userXXX)

Эти соглашения по наименованию охватывают только пять типов компьютерных систем в сети и только для одной сети, что не достаточно хорошо. Существуют также сети хранения данных и вычислительные сети, которые нужно принимать во внимание, плюс сеть управления устройствами. Поэтому этот файл должен быть расширен. Каждый узел, которому необходим доступ к кластерной файловой системе, должен иметь адрес в сети хранения данных. Каждый узел должен иметь два адреса в вычислительной сети: один для компьютера, а второй для контроллера Baseboard Management Controller (BMC), который используется для мониторинга аппаратных ресурсов и управления питанием. В таблице 1 приведены намного более универсальные соглашения по наименованию с примером диапазонов IP-адресов.

Таблица 1. Соглашения по наименованию для файла hosts
УстройствоВычисления 192.168.0.0/24BMC 192.168.0.0/24Система хранения 192.168.1.0/24Устройства 192.168.2.0/24Внешняя сеть ext n/w
Управляющий серверmgmt001mgmt001_dmgmt001_smgmt001_mmgmt001_e
Сервер хранения данныхstor001stor001_dstor001_sstor001_mstor001_e
Пользовательские узлыuser001user001_duser001_sнетнет
Узлы планированияschd001schd001_dschd001_s/нетнет
Вычислительные узлыnode001node001_dnode001_sнетнет
Коммутаторы вычислительной сетинетнетнетgigb01aнет
Коммутаторы сети хранения данныхнетнетнетgigb01bнет
Терминальные серверынетнетнетterm001нет
Контроллер устройств хранения A/Bнетнетнетdisk01a/bнет
LCM/KVM/RCMнетнетнетcons001нет

При реализации этой схемы формируется файл hosts, аналогичный примеру, ссылки на загрузку которого вы можете найти в разделе "Загрузка". Это пример небольшого кластера, состоящего из шестнадцати вычислительных узлов, одного управляющего сервера, одного сервера хранения данных, одного пользовательского узла и одного узла планирования, расположенных в двух стойках вместе со всеми необходимыми подключенными устройствами. Мы не приводим пример большого кластера, поскольку такой конфигурации достаточно для нашего кластера, и вы легко можете расширить его при необходимости.

Ethernet-коммутаторы

Имеется две физических сети: одна для вычислений, а вторая для хранения данных. Стандартная емкость стойки в 32 узла требует применения двух 48-портовых коммутаторов на каждую стойку, по одному на каждую сеть. В маленьких кластерах в управляющей стойке также необходимо использовать два одинаковых коммутатора. Для больших кластеров 48-портов может оказаться недостаточно, и может потребоваться более мощный центральный коммутатор.

Каждый коммутатор для двух основных сетей (проигнорируем сеть управления устройствами) требует немного разного конфигурирования, поскольку, как в данном примере, Gigabit Ethernet для взаимодействия использует джамбо-пакеты (jumbo frames) в сети хранения данных и пакеты стандартного размера для вычислительной сети. Настройка сети управления устройствами обычно является очень простой: одноуровневого двухрежимного сетевого коммутатора 10/100 достаточно для управления устройствами, поэтому более подробное объяснение излишне.

Пример A: Коммутатор Extreme Networks

Ниже перечислены действия по конфигурированию 48-портового Gigabit Ethernet коммутатора Extreme Networks Summit 400-48t.

Прежде всего, подключитесь к каждому коммутатору, используя последовательный порт и стандартный последовательный кабель (9600, 8-N-1, без управления потоком); ID пользователя по умолчанию - admin, пароль отсутствует (просто нажмите клавишу Enter при запросе).

Для всех коммутаторов выполните следующие действия:

  1. Введите unconfig switch all - Очистить любую имеющуюся настройку, при необходимости.
  2. Введите configure vlan mgmt ipaddress 192.168.2.XXX/24 - Установить IP-адрес для управления.
  3. Введите configure snmp sysname gigbXXX.cluster.com - Установить имя коммутатора.
  4. Введите configure sntp-client primary server 192.168.2.XXX - Установить NTP-сервер для управляющего сервера.
  5. Введите configure sntp-client update-interval 3600 - Установить почасовое время синхронизации.
  6. Введите configure timezone 0 - Установить временную зону.
  7. Введите enable sntp-client - Включить NTP.
  8. Введите configure ports 1-4 preferred-medium copper - Изменить предпочитаемый материал соединительных кабелей по умолчанию с оптоволокна на медный провод для портов 1-4, при необходимости.

Теперь настройте джамбо-фреймы на коммутаторе сети хранения данных, выполнив следующие действия:

  1. Введите create vlan jumbo - Создать джамбо-фреймы vlan.
  2. Введите configure "mgmt" delete ports 1-48 - Удалить порты из mgmt vlan.
  3. Введите configure "jumbo" add ports 1-48 - Добавить порты в jumbo vlan.
  4. Введите configure jumbo-frame size 9216 - Установить максимальный размер пакета передачи (MTU - maximum transmission unit).
  5. Введите enable jumbo-frame ports 1-48 - Разрешить поддержку джамбо-фреймов.

Чтобы разрешить транкинг по двум портам, используйте команду enable sharing 47 grouping 47-48 (группирует вместе порты 47 и 48; порт 47 используется в качестве первичного).

Для компилирования конфигурации выполните следующие действия:

  1. Введите save configuration primary - Записывает конфигурацию коммутатора во флэш-память для использования после перезагрузок.
  2. Введите use configuration primary.

Пример B: Коммутатор Force 10 Networks

Ниже перечислены действия по конфигурированию многомодульного (multi-blade) Gigabit Ethernet коммутатора Force 10 Networks e600 (с двумя 48-портовыми blade-модулями) для сетей с маршрутизацией, в которых центрального 48-портового коммутатора недостаточно.

Для настройки шасси, интерфейсных карт и портов на конфигурацию начального уровня 2 выполните следующие действия:

  1. Подключитесь к коммутатору, используя последовательный порт и стандартный последовательный кабель (9600, 8-N-1, без управления потоком); ID пользователя по умолчанию - admin, пароль отсутствует.
  2. Введите enable - Вход в режим супер-пользователя; по умолчанию пароль не нужен.
  3. Введите chassis chassis-mode TeraScale - Инициализировать коммутатор в режим tera-scale.
  4. При запросе перезагрузите коммутатор. Это займет несколько минут.
  5. После перезагрузки подключитесь к коммутатору и снова войдите в режим супер-пользователя, ведя команду enable.
  6. Введите configure - Вход в режим конфигурирования. Приглашение выглядит так: Force10(conf)#.
  7. Введите Interface Range GigabitEthernet 0/0 - 47 - Конфигурирование портов с 0 по 47 интерфейсной карты 0; приглашение выглядит так: Force10(conf-if-range-ge0/1-47)#.
  8. Введите mtu 9252 - Установить джамбо-фреймы, при необходимости.
  9. Введите no shutdown - Разрешить активацию порта.
  10. Введите exit - Возврат в режим конфигурирования.
  11. Введите Interface Range GigabitEthernet 1/0 - 47. Приглашение выглядит так: Force10(conf-if-range-ge0/1-47)#.
  12. Повторите шаги 7-10 для каждой интерфейсной карты.

Настройте интерфейсные карты и порты для уровня 3 (VLan-маршрутизация), выполнив следующие действия:

  1. Подключитесь к коммутатору и войдите в режим конфигурирования как супер-пользователь, введя команду enable.
  2. Введите int port channel 1 - Настроить канал порта 1.
  3. Введите channel-member gig 0/46-47 - Добавить порты 46 и 47 интерфейсной карты 0 к vlan.
  4. Введите no shutdown - Разрешить активацию канала порта; этот параметр переопределяет конфигурацию порта для неактивных/активных портов.
  5. Введите ip add 192.168.x.x/24 - Установить IP-адрес для канала порта; это шлюз для вашей подсети.
  6. Введите mtu 9252 - Установить джамбо-фреймы, при необходимости.

Теперь, включите систему поддержки DHCP для перенаправления широковещательных DHCP-пакетов за границы подсети, выполнив следующие команды:

  1. Введите int range po 1-X - Применить конфигурацию ко всем настроенным вами каналам порта.
  2. Введите ip helper 192.168.0.253 - Перенаправить DHCP по IP-адресу управляющего сервера.

Затем настройте конфигуратор на удаленное управление (используя telnet или SSH), выполнив следующие команды:

  1. Введите interface managementethernet 0 - Настроить порт управления из конфигурационного приглашения.
  2. Введите ip add 192.168.2.x/24 - Установить IP-адрес сети управления устройствами и подключить порт администратора к коммутатору управления устройствами.
  3. Установите ID пользователя и пароль для разрешения удаленных соединений.

Наконец, сохраните конфигурацию коммутатора, введя команду write mem.

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

Эти два коммутатора были описаны потому, что они являются рабочими высокопроизводительными Gigabit Ethernet коммутаторами со стопроцентным отсутствием блокировок. Коммутаторы Cisco Systems не обеспечивают пропускную способность со стопроцентным отсутствием блокировки, но, тем не менее, их тоже можно использовать.

Терминальные серверы

Терминальные серверы играют важную роль в больших кластерных системах, использующих версии CSM, ниже чем CSM 1.4. Кластеры, использующие старые версии, нуждаются в терминальных серверах для сбора MAC-адресов при установке. При совместимости CSM и системных UUID, терминальные серверы становятся не так важны для установки более современного IBM-кластера. Однако, если в большом кластере у вас имеется немного устаревшее оборудование или программное обеспечение, терминальные сервера все еще остаются жизненно важными во время установки системы. Обеспечение корректной настройки терминального сервера само по себе может сэкономить значительное количество времени в дальнейшем в процессе установки системы. Кроме сбора MAC-адресов терминальные серверы могут также использоваться для просмотра терминалов из одной точки во время процедуры начального самотестирования (POST) и запуска операционной системы.

Убедитесь в том, что скорость (измеряется в бодах) терминального сервера для каждого порта соответствует скорости подключаемого компьютера. Большинство компьютеров по умолчанию настроены на скорость в 9600 бод, поэтому это не должно вызвать проблем. Также проверьте соответствие настроек соединения и управления потоком между терминальным сервером и каждой подключаемой системой. Если терминальный сервер требует аутентифицированного соединения, настройте это в CSM или отключите аутентификацию вовсе.

Пример C: Коммутатор MRV

Ниже приведен пример конфигурации для коммутатора серии MRV InReach LX (ссылки на дополнительную информацию по данному коммутатору приведены в разделе "Ресурсы"). Настройте MRV-карту следующим образом:

  1. Подключитесь к коммутатору, используя последовательный порт и стандартный последовательный кабель (9600, 8-N-1, без управления потоком).
  2. Зарегистрируйтесь в системе после появления приглашения. Имя пользователя по умолчанию - InReach, пароль - access.
  3. Введите enable - Вход в режим супер-пользователя с паролем по умолчанию равным system. При первой настройке устройства появляется конфигурационный экран. В противном случае выполните команду setup для отображения этого экрана.
  4. Введите и сохраните различные параметры сети.
  5. Введите config - Вход в режим конфигурирования.
  6. Введите port async 1 48 - Конфигурирование портов с 1 до 48.
  7. Введите no authentication outbound - Отключение внутренней аутентификации.
  8. Введите no authentication inbound - Отключение внешней аутентификации.
  9. Введите no autobaud - Установка скорости обмена.
  10. Введите access remote - Разрешение удаленного соединения.
  11. Введите flowcontrol cts - Установка аппаратного управления потоком передачи в CTS, которое используется по умолчанию в большинстве компьютеров IBM.
  12. Введите exit - Возврат в режим конфигурирования.
  13. Введите exit - Возврат в режим супер-пользователя.
  14. Введите save config flash - Сохранение конфигурации для использования после перезагрузок.

После этой начальной настройки вам останется сделать немного. Опять же, проверьте, что выполненные вами настройки соответствуют настройкам подключаемых компьютеров. Теперь Вы сможете запустить программу telnet для доступа к терминальным серверам и последующего управления ими. Как и в ситуации с Ethernet-коммутаторами, вы можете, при необходимости, просмотреть рабочую конфигурацию для проверки готовности к работе терминальных серверов. Например, команда show port async all char возвращает подробную информацию о каждом порте терминального сервера.

Обновления микропрограммы и настройка BMC-адресов

По возможности проверяйте и обновляйте микропрограммы во всем кластере. Учитывайте следующие элементы:

  • BIOS компьютера
  • Микропрограмма BMC-контроллера (Baseboard Management Controller)
  • Микропрограммы устройств
  • Микропрограммы сетевых адаптеров

Обновления IBM-системы можно получить на Web-сайте поддержки, а обновления устройств других производителей обычно доступны на их Web-сайтах (см. раздел "Ресурсы").

Обновление микропрограмм на IBM-системах

Примечание: Описанный ниже метод обновления микропрограмм может не поддерживаться в вашем регионе или для вашего оборудования. Вы должны проконсультироваться с локальными представителями IBM перед выполнением этой процедуры. Эта информация приводится только в качестве примера.

CSM-код для удаленной перезаписи микропрограмм все еще находится на стадии разработки. В настоящее время, если вы нуждаетесь в обновлении BIOS многих компьютеров, BMC или других устройств, перед вами стоит серьезная задача. Неблагоразумно перезаписывать флэш-память компонентов кластера существующими методами, которые подразумевают запись гибкого диска или CD-образа и индивидуальную работу с каждым компьютером; необходим альтернативный способ. Если у вас отсутствует управление питанием оборудования (не установлен IP-адрес BMC), начните с перезаписи микропрограммы BMC-контроллера, что позволит вам одновременно установить IP-адрес. Вы должны нажать кнопку питания только один раз. Для микропрограмм остальных устройств вы можете удаленно отключать и включать электрическое питание.

В следующем примере используются системы на AMD-процессорах IBM Systems 325 или 326. Однако для компьютеров System x необходимы лишь небольшие изменения. Идея состоит в получении образа обновленной микропрограммы и ее изменения так, чтобы вы могли использовать ее в качестве образа бездисковой загрузки (PXE). Затем вы можете загрузить систему по сети, распаковать образ и записать соответствующую микропрограмму. Если система установлена на PXE-загрузку, вам нужно просто включить ее для выполнения перезаписи флэш-памяти.

Настройка сервера PXE-загрузки

В сети необходим компьютер, выполняющий DHCP и TFTP-серверы. Управляющий узел CSM, установленный и работающий с CSM, является подходящей кандидатурой. Однако, если в сети пока нет установленных компьютеров, используйте лэптоп с операционной системой Linux, подключенный к сети. Убедитесь в том, что PXE-сервер находится в нужной части сети (в той же подсети), или в том, что ваши коммутаторы перенаправляют DHCP-запросы в нужный сервер за границы подсети. Затем выполните следующие действия:

  1. Установите в вашем PXE-сервере IP-адрес 192.168.0.1.
  2. Установите, настройте и запустите простой DHCP-сервер на этом же компьютере. Вот пример конфигурации:
    ddns-update-style ad-hoc;
    subnet 192.168.0.0 netmask 255.255.255.0 {
      range 192.168.0.2 192.168.255.254;
      filename "/pxelinux.0";
      next-server 192.168.0.1;
    }
  3. Установите, настройте и запустите TFTP-сервер для работы вне /tftpboot/. Установите syslinux, предоставляемый в виде RPM-пакета для Suse и для Red Hat Linux.
  4. Скопируйте файлы memdisk и pxelinux.0, установленные с пакетом syslinux, в /tftpboot/.
  5. Создайте каталоги /tftpboot/pxelinux.cfg/ для хранения конфигурационных файлов и /tftpboot/firmware/ для хранения образов микропрограмм.
  6. Запишите PXE-конфигурацию по умолчанию, содержащую записи для обновляемых микропрограмм, в /tftpboot/pxelinux.cfg/default, например, такую:
    serial 0 9600
    default local
    #default bmc
    #default bios
    #default broadcom
    
    label local
    	localboot 0
    
    label bmc
    	kernel memdisk
    	append initrd=firmware/bmc.img
    
    label bios
    	kernel memdisk
    	append initrd=firmware/bios.img
    
    label broadcom
    	kernel memdisk
    	append initrd=firmware/broadcom.img

Для справки: когда компьютер получает DHCP-адрес во время PXE, конфигурационные файлы в /tftpboot/pxelinux.cfg ищутся в определенном порядке, и первый найденный файл используется в качестве загрузочной конфигурации для запрашивающего компьютера. Порядок поиска определяется путем преобразования запрашиваемого DHCP-адреса в шестнадцатиричные цифры и поиска первого подходящего имени файла в конфигурационном каталоге методом расширения подсетей - удаления цифр справа налево на каждом цикле поиска.

Для примера рассмотрим клиентский компьютер, получающий адрес 192.168.0.2 с сервера во время PXE-загрузки. Первый поиск файла производится для шестнадцатиричной версии этого IP-адреса - /tftpboot/pxelinux.cfg/C0A80002. Если этот конфигурационный файл отсутствует, ищется C0A8000 и т.д. Если соответствий не найдено, используется имя файла по умолчанию. Следовательно, помещение описанной выше PXE-конфигурации в файл под названием default работает для всех компьютеров, независимо от вашей конфигурации DHCP. Однако, для данного примера, запись конфигурации в файл C0A800 (подсеть 192.168.0.0/24) уменьшает количество операций поиска.

Обновление микропрограммы BMC-контроллера (Baseboard Manage Controller) и настройка IP-адреса

Примечание: описанная ниже процедура предназначена для построенных на процессорах AMD узлов кластера. Однако вы можете использовать аналогичную процедуру и для Intel-узлов. Обновления Intel BMC-котроллеров поставляются с программой bmc_cfg.exe (вместо lancfg.exe) для установки BMC-адреса. Вы можете выполнить ее, используя терминальные серверы со сценарием, пример которого вы можете загрузить из раздела "Загрузка". Кроме того, для Intel-компьютеров вы, обычно, можете установить BMC-адрес в системном BIOS.

После установки BMC-адреса на узле у вас появится возможность удаленного управления питанием, что облегчает жизнь при конфигурировании кластера. Однако этот метод обновления BMC-котроллера полагается на загрузку по сети, поэтому, если ваши компьютеры пока еще не настроены на PXE-загрузку в BIOS, вы можете сначала обновить BIOS, а потом вернуться к обновлению BMC-контроллера.

Загрузите DOS-образ последней версии микропрограммы BMC-контроллера и выполните инструкции по созданию загрузочного образа на гибком диске. Этот образ содержит программу lancfg.exe, позволяющую установить IP-адрес на BMC-контроллере. Обычно процедура заключается во вставке дискеты и загрузки с нее для выполнения обновления. Однако сначала создайте образ PXE-загрузки с дискеты на вашем сервере PXE-загрузки при помощи следующей команды:

dd if=/dev/fd0 of=/tftpboot/firmware/bmc.img bs=1024

Теперь вы можете, при необходимости, изменить DOS-образ. Для обновления BMC-контроллера никаких изменений самого основного образа не требуется, за исключением копирования в образ DOS-программы выключения питания. Если не углубляться в детали, то вы включаете компьютер, он выполняет PXE-загрузку для записи микропрограммы во флэш-память BMC-контроллера и остается работать в DOS-режиме. Используя файл сценария, вы можете затем установить BMC-адрес через терминальный сервер и выключить компьютер. При этом вы знаете, что все компьютеры при включении либо прописывают микропрограмму своего BMC-контроллера, либо ожидают установки IP-адреса. Для всех отключенных компьютеров этот процесс завершен. Загрузите подходящую DOS-программу отключения питания, например, программу atxoff.com. Затем скопируйте ее в образ при помощи следующей команды:

mount -o loop /tftpboot/firmware/bmc.img /mnt
cp /path/to/poweroff.exe /mnt
umount /mnt

Теперь убедитесь, что ваш конфигурационный файл PXE-загрузки может передать корректный образ, изменив соответствующий комментарий для активизации default BMC в созданном ранее файле /tftpboot/pxelinux.cfg/default. После тестирования одного узла, загрузите все компьютеры из отключенного состояния для перезаписи флэш-памяти во всех требуемых узлах. После загрузки всеми узлами PXE-образа измените конфигурацию назад в localboot для минимизации шанса случайной перезаписи флэш-памяти компьютера при его возможной перезагрузке.

Теперь вы можете запустить программу lancfg и работать с ней через терминальный сервер (предполагая, что настройки BIOS экспортируют терминал по последовательному порту с такими же настройками, которые установлены на терминальном сервере). IP-адрес BMC-контроллера можно установить, используя lancfg в Perl-сценарии, как, например, в неподдерживаемом сценарии, доступном в разделе "Загрузка". Например, для установки BMC-адреса всех компьютеров группы узлов под названием Rack1 на адрес шлюза 192.168.10.254 и маску сети 255.255.255.0 выполните следующую команду на компьютере с сервером PXE-загрузки:

perl set-bmc-address.pl -N Rack1 -g 192.168.10.254 -m 255.255.255.0

Вы можете подстроить этот сценарий под ваш процесс установки. После завершения выполнения этого сценария, компьютер автоматически выключается скопированной вами в загрузочный образ DOS-программой выключения, уже имея установленным свой IP-адрес BMC-контроллера.

Обновление BIOS

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

Вам нужна сохраненная конфигурация для соответствующего BIOS-уровня и необходимые вам настройки. Для этого вручную обновите один компьютер. Загрузите компьютер с образа на дискете (используйте USB-дисковод при отсутствии дисковода непосредственно на компьютере). Выполните обновление в соответствии с инструкциями в файле readme и дождитесь нормального завершения этой процедуры. Перегрузите компьютер и выполните все необходимые вам изменения настроек BIOS. Например, можно обратить внимание на отключение Numlock (если у вас нет блока цифровых клавиш на клавиатуре), разрешение последовательного порта, установку перенаправления консольного вывода на последовательный порт с соответствующими настройками, подходящими для терминальных серверов, и установку порядка загрузки, для того чтобы вариант загрузки по сети стоял до варианта загрузки с жесткого диска. После завершения изменений сохраните их и выключите компьютер.

На другом компьютере (например, на том, который вы настроили для PXE-загрузки), смонтируйте дискету, содержащую обновление BIOS. Переименуйте файл autoexec.bat, чтобы сохранить его на дискете для последующего использования. Это предотвратит перезапись BIOS системой при повторной загрузки с этой дискеты. Вставьте дискету опять в тот компьютер, BIOS которого вы обновили и настроили, и загрузитесь с вашего измененного образа дискеты.

После появления приглашения командной строки DOS, убедитесь, что вашим рабочим каталогом является диск a:. На дискете находится программа cmosram.exe, которая предоставляет вам возможность сохранить конфигурацию BIOS на дискете. Выполните эту программу следующим образом:

cmosram /load:cmos.dat

После изменения файла autoexec.bat вы готовы выполнить обновление. В качестве дополнительной проверки протестируйте имеющийся в компьютере образ дискеты и убедитесь, что перезапись BIOS происходит автоматически и корректно выполняется изменение настроек. Вы заметите также, что система остается во включенном состоянии после перезаписи BIOS. Вы можете заставить систему отключаться автоматически после обновления BIOS способом, аналогичным описанному в разделе обновления BMC-контроллера с использованием DOS-программы отключения питания и вызова ее из файла autoexec.bat.

Если вы удовлетворены измененным обновлением BIOS, то можете создать образ PXE-загрузки с дискеты при помощи следующей команды:

dd if=/dev/fd0 of=/tftpboot/firmware/bios.img bs=1024

Измените PXE-загрузку по умолчанию в конфигурационном файле /tftpboot/pxelinux.cfg/default так, чтобы при загрузке выполнилось обновление BIOS. Теперь при включении подключенной к сети системы она автоматически перезапишет BIOS без каких-либо действий пользователя, выполнит нужные изменения настроек BIOS и отключится. После завершения всех обновлений верните назад конфигурацию PXE-загрузки по умолчанию на загрузку с локального диска, чтобы избежать каких-либо неожиданностей при выполнении компьютером PXE-запроса.


Обновление микропрограммы адаптера Broadcom

После обновления микропрограммы BMC-контроллера и BIOS процесс обновления микропрограммы Broadcom - это простое повторение уже известных идей. Выполните следующие действия:

  1. Загрузите микропрограмму Broadcom (см. раздел "Ресурсы") и выполните инструкции по созданию загрузочного образа на дискете.
  2. Создайте образ PXE-загрузки с дискеты при помощи следующей команды: dd if=/dev/fd0 of=/tftpboot/firmware/broadcom.img bs=1024".
  3. Смонтируйте файл образа при помощи следующей команды: mount -o loop /tftpboot/firmware/broadcom.img /mnt.
  4. Скопируйте DOS-программу отключения питания в каталог image.
  5. Измените файл autoexec.bat для обновления микропрограммы Broadcom в firmware в автоматическом режиме и выключите компьютер. Например, для IBM Systems 326, типа машины 8848, файл autoexec.bat может выглядеть следующим образом:
    @echo off
    call sramdrv.bat
    echo.
    echo Extracting files...
    call a:\bin.exe -d -o %ramdrv%\update >NULL
    copy a:\command.com %ramdrv%\command.com
    copy a:\atxoff.com %ramdrv%\atxoff.com
    set COMSPEC=%ramdrv%\command.com
    if exist NULL del NULL
    %ramdrv%
    cd \update
    call update.bat 8848
    cd \
    atxoff
  6. Демонтируйте образ.
  7. Проверьте конфигурацию default в /tftpboot/pxelinux.cfg/default и убедитесь в том, что компьютер может загрузить обновление микропрограммы для адаптера Broadcom.
  8. Загрузите все компьютеры, для которых нужно выполнить обновление.
  9. Измените конфигурацию назад для загрузки с локального диска.

После обновления микропрограмм во всем кластере вы можете продолжить настройку оборудования с уверенностью, что в дальнейшем будет возникать меньше проблем, поскольку используются последние версии микропрограмм. Однако вы можете повторить этот процесс в любое время, если вам потребуется еще одно обновление. Кроме того, принципы, лежащие в основе такого типа обновления микропрограмм, могут быть применены к любому другому типу микропрограмм, которые, возможно, вам понадобится перезаписать, если конечно вы можете получить образ обновления микропрограммы во время PXE-загрузки.


Заключение

Этим мы завершим инструкции по настройке аппаратного обеспечения для большого Linux-кластера. В последующих статьях серии "Установка большого Linux-кластера" описываются действия по установке программного обеспечения кластера, в том числе процедуры конфигурирования управляющего сервера и установки узла (в следующей статье).


Загрузка

ОписаниеИмяРазмер
Пример файла и Perl-сценарий1es-linuxclusterintro.zip3KB

Заметка

  1. 1. Реализация схемы, приведенной в таблице 1, и неподдерживаемый пример Perl-сценария, используемый при установке IP-адреса BMC-контроллера.

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


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

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



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

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=196785
ArticleTitle=Установка большого Linux-кластера: Часть 1. Введение и аппаратная конфигурация
publish-date=02212007