1.3. Установка и настройка Red Hat Enterprise Linux

Установив основное оборудование системы, выполните установку Red Hat Enterprise Linux на каждом узле кластера и убедитесь в том, что все узлы распознали подключенные устройства. Выполните следующие действия:

  1. Установите Red Hat Enterprise Linux на всех узлах кластера. Указания по установке вы найдёте в Руководстве по установке Red Hat Enterprise Linux.

    Кроме этого, после установки операционной системы Red Hat Enterprise Linux настоятельно рекомендуется выполнить следующее:

    • До установки Red Hat Enterprise Linux определитесь с IP-адресами узлов и связанных Ethernet-портов. Заметьте, что IP-адреса связанных Ethernet-портов могут быть частными IP-адресами (например, 10.x.x.x).

    • Не размещайте локальные файловые системы (такие, как /, /etc, /tmp, и /var) на общих дисках или на дисках, подключенных к той же SCSI шине, что и общее хранилище. Это поможет предотвратить случайное монтирование этих файловых систем другими узлами кластера, также при этом не задействуются идентификационные номера SCSI-устройств, что может оказаться полезным, учитывая их ограниченное количество.

    • Размещайте разделы /tmp и /var на разных файловых системах. Это может улучшить производительность узлов.

    • Убедитесь в том, что при загрузке узла он определяет дисковые устройства в том же порядке, что и во время установки Red Hat Enterprise Linux. Если устройства будут определены в другом порядке, узел может не загрузиться.

    • Если вы используете RAID-хранилище с номерами логических единиц устройств (LUN) большими нуля, необходимо включить поддержку LUN в ядре, добавив следующую строку в файл /etc/modules.conf:

      options scsi_mod max_scsi_luns=255

      После изменения файла modules.conf необходимо перестроить образ ядра в памяти с помощью команды mkinitrd. В Руководстве по системному администрированию Red Hat Enterprise Linux вы найдёте дополнительную информацию о создании дисков в памяти с помощью mkinitrd.

  2. Перегрузите узлы.

  3. Если вы используете терминальный сервер, настройте Red Hat Enterprise Linux на передачу консольных сообщений в последовательный порт.

  4. Отредактируйте файл /etc/hosts на каждом узле кластера и укажите IP-адреса, используемые в кластере. За дополнительной информацией о выполнении этого действия обратитесь к разделу 1.3.1 Редактирование файла /etc/hosts.

  5. Уменьшите таймаут загрузки ядра для ускорения загрузки узлов. За дополнительной информацией о выполнении этой задачи обратитесь к разделу 1.3.2 Уменьшение таймаута загрузки ядра.

  6. Убедитесь в том, что никакие программы регистрации в системе (или getty) не используют последовательные порты, к которым подключены переключатели питания (если таковые применяются). Для выполнения этого требования, отредактируйте файл /etc/inittab, закомментировав с помощью символа (#) строки, соответствующие последовательным портам, к которым подключены переключатели питания. Затем, выполните команду init q.

  7. Проверьте, все ли узлы обнаружили всё установленное оборудование:

  8. Убедитесь в том, что узлы кластера могут связаться друг с другом через все сетевые интерфейсы, с помощью команды ping отправляя пакеты от одного узла к другому.

  9. Если вы намерены настроить службы Samba, убедитесь в том, что в вашей системе установлены связанные с Samba RPM-пакеты.

1.3.1. Редактирование файла /etc/hosts

Файл /etc/hosts содержит таблицу преобразования имен компьютеров в IP адреса. Файл /etc/hosts для каждого узла должен содержать следующие записи:

В качестве альтернативы файлу /etc/hosts, для определения имен узлов кластера могут использоваться системы именования компьютеров, такие как DNS или NIS. Однако чтобы уменьшить количество зависимостей, и тем самым увеличить степень доступности, для определения IP адресов сетевых интерфейсов кластера настоятельно рекомендуется использовать файл /etc/hosts.

Ниже приведен пример файла /etc/hosts на одном из узлов:


127.0.0.1         localhost.localdomain   localhost
193.186.1.81      cluster2.example.com      cluster2
10.0.0.1          ecluster2.example.com     ecluster2
193.186.1.82      cluster3.example.com      cluster3
10.0.0.2          ecluster3.example.com     ecluster3

В предыдущем примере показаны IP-адреса и имена компьютеров двух узлов кластера (cluster2 и cluster3), а также частные IP-адреса и имена компьютеров для Ethernet-интерфейса, обеспечивающего пульсирующее соединение точка-точка (ecluster2 и ecluster3).

Проверьте правильность форматирования в файле /etc/hosts записи, относящейся к локальному узлу - она не должна включать удалённые узлы. Пример некорректной записи о локальном узле, включающей удалённый узел (server1) приведён ниже:

127.0.0.1     localhost.localdomain     localhost server1

Соединение Ethernet может работать некорректно, если в файле /etc/hosts допущена ошибка. Проверьте файл /etc/hosts и исправьте формат этого файла, удалив удалённые системы из записи о локальном узле, если они есть.

Обратите внимание, каждый сетевой адаптер должен быть настроен на использование соответствующего IP-адреса и маски сети.

Ниже приведен пример выполнения команды /sbin/ifconfig на узле кластера:


eth0      Link encap:Ethernet  HWaddr 00:00:BC:11:76:93
          inet addr:192.186.1.81  Bcast:192.186.1.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65508254 errors:225 dropped:0 overruns:2 frame:0
          TX packets:40364135 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:19 Base address:0xfce0

eth1      Link encap:Ethernet  HWaddr 00:00:BC:11:76:92  
          inet addr:10.0.0.1  Bcast:10.0.0.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:18 Base address:0xfcc0

В предыдущем примере показаны два сетевых интерфейса узла кластера: Интерфейс eth0 – сетевой интерфейс узла и eth1 – сетевой интерфейс, обеспечивающий пульсирующее Ethernet-соединение точка-точка.

Вы также можете добавить записи об IP-адресах узлов кластера на вашем сервере DNS. За информацией по настройке DNS обратитесь к Справочному руководству Red Hat Enterprise Linux или к своему сетевому администратору.

1.3.2. Уменьшение таймаута загрузки ядра

Вы можете ускорить процесс загрузки узла кластера, уменьшив таймаут загрузки ядра. При загрузке Red Hat Enterprise Linux загрузчик позволяет в течении определённого времени выбрать альтернативное ядро. По умолчанию, на этот выбор даётся десять секунд.

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

Если вы используете загрузчик GRUB, измените в файле /boot/grub/grub.conf значение параметра timeout, сделав его равным нужной длительности таймаута (в секундах). Чтобы установить его равным 3 секундам, определите параметр, как показано ниже:

timeout = 3

Если вы используете загрузчик LILO или ELILO, отредактируйте файл /etc/lilo.conf (на платформе x86) или elilo.conf (на платформе Itanium) и установите требуемое значение (в десятых долях секунды) для параметра timeout. В следующем примере таймаут устанавливается равным трём секундам:

timeout = 30

Для применения изменений, внесенных в файл /etc/lilo.conf, выполните команду /sbin/lilo.

Чтобы применить изменения, внесённый на платформе Itanium в файл /boot/efi/efi/redhat/elilo.conf, выполните команду /sbin/elilo.

1.3.3. Отображение консольных сообщений о загрузке

Воспользуйтесь командой dmesg для просмотра консольных сообщений о загрузке. За дополнительной информацией обратитесь к странице man, посвящённой команде dmesg(8).

В приведённом ниже примере выполнения команды dmesg показано, что на узле выявлено две внешних SCSI-шины и девять дисков. (Строки, разделённые обратной косой чертой, помещаются на большинстве экранов целиком):

May 22 14:02:10 storage3 kernel: scsi0 : Adaptec AHA274x/284x/294x \
	      (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi1 : Adaptec AHA274x/284x/294x \
              (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi : 2 hosts. 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST39236LW         Rev: 0004 
May 22 14:02:11 storage3 kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdb at scsi1, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdc at scsi1, channel 0, id 1, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdd at scsi1, channel 0, id 2, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sde at scsi1, channel 0, id 3, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdf at scsi1, channel 0, id 8, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdg at scsi1, channel 0, id 9, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdh at scsi1, channel 0, id 10, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdi at scsi1, channel 0, id 11, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: Dell      Model: 8 BAY U2W CU      Rev: 0205 
May 22 14:02:11 storage3 kernel:   Type:   Processor \
                          ANSI SCSI revision: 03 
May 22 14:02:11 storage3 kernel: scsi1 : channel 0 target 15 lun 1 request sense \
	      failed, performing reset. 
May 22 14:02:11 storage3 kernel: SCSI bus is being reset for host 1 channel 0. 
May 22 14:02:11 storage3 kernel: scsi : detected 9 SCSI disks total.

В приведённом ниже результате выполнения команды dmesg показано, что система выявила четыре Ethernet платы:

May 22 14:02:11 storage3 kernel: 3c59x.c:v0.99H 11/17/98 Donald Becker
May 22 14:02:11 storage3 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov 
May 22 14:02:11 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:93, IRQ 5.
May 22 14:02:12 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:92, IRQ 9.
May 22 14:02:12 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:91, IRQ 11.
May 22 14:02:12 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:90, IRQ 10.

1.3.4. Отображение устройств, поддерживаемых ядром

Чтобы убедиться в том, что все установленные устройства, включая сетевые и последовательные интерфейсы, поддерживаются ядром, выполните команду cat /proc/devices на каждом узле. Также используйте эту команду для определения, поддерживается ли прямой (raw) доступ к установленному устройству. Например:


Character devices:  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  7 vcs
 10 misc
 19 ttyC
 20 cub
128 ptm
136 pts
162 raw

Block devices:
  2 fd
  3 ide0
  8 sd
 65 sd

В предыдущем примере показаны: