1 1 404

Рассмотрим еще один вариант быстрого развертывания кластера. Прежде чем перейти к технологическим вопросам, определим требования, которые мы предъявляем нашему будущему кластеру.

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

Сеть кластера у нас будет 192.168.1.0/24.
Опишем простую процедуру установки подобного кластера. Действия, которые необходимо выполнить следующие:

  • Устанавливаем на будущий сервер кластера операционную систему Linux. Например используем для этого дистрибутив ALT Linux. Система может быть установлена как основная, так и как дополнительная (если используется мультизагрузка).
  • Конфигурируем сетевой интерфейс. В качестве ip-адреса сервера выбираем 192.168.1.33. В качестве имени сервера указываем node33.cluster.org.
  • Скачиваем архив проекта ThinCluster.
  • В файл /etc/hosts записываем содержимое файла /download/hosts.txt.
  • Устанавливаем в систему необходимые компиляторы, SSH-клиент, SSH-сервер, NFS-сервер, TFTP-сервер, DHCP-сервер.
  • Прописываем в файле /etc/exports каталоги в кторые будет осуществляться доступ по сети.
  • Создаем в системе пользователя mpiuser с uid=500, gid=500 и домашней директорией /home/mpiuser
  • Создаем каталог /home/mpiuser/.ssh, содержимое которого берем из архива mpiuser-ssh.tar.gz
  • Устанавливаем в каталог /usr/local/mpich систему MPICH. Как это делать читаем здесь.
  • Создаем конфигурационный файл DHCP /etc/dhcpd.conf, в котором описываем загружаемые узлы кластера. Пример такого конфигурационного файла можно взять в архиве dhcpd.conf.tar.gz. В этом файле описан только один узел, тот, которому присваивается адрес 192.168.1.199. Этот узел является главным и он должен загружаться первым. Вы должны будете поправить файл dhcpd.conf, прописав реальный MAC-адрес сетевой карточки главного узла.
  • Создаем каталог /usr/local/linux/ws, в который помещаем корневую файловую систему для узлов кластера. Образ файловой системы берем из файла nfsroot.tar.bz2. Извлечение из архива производим командой tar jxvfp nfsroot.tar.bz2.
  • В корневую директорию TFTP-сервера (/var/lib/tftpboot) кладем ядро Linux, которое будет загружаться на узлах сервера. Ядро можем найти в файле bzImage.tar.gz.
  • Туда же кладем начальный загрузчик PXE, который находим в архиве pxelinux.tar.gz.
  • В каталог /var/lib/tftpboot/pxelinux.cfg кладем конфигурационные файлы, описывающие параметры загрузки для каждого узла кластера. Файлы можно взять в архиве pxelinux.cfg.tar.gz. Узел, которому DHCP присваивает адрес 192.168.1.199, является главным и должен загружаться первым.
  • Кластер готов. Теперь мы можем последовательно загрузить узлы кластера, начиная со 192.168.1.199 и выполнить на нем параллельную программу. Для этого после загрузки всех узлов логинимся к серверу как пользователь mpiuser и запускаем параллельную программу, как это описано ранее.

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

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

  • Загружаем операционную систему сервера кластера
  • Выполняем загрузку главного узла - станции, MAC-адресу которой присваивается ip 192.168.1.199
  • Последовательно загружаем все остальные узлы кластера.

В текущей версии проекта кластер жестко привязан к ip-адресам. Сеть кластера должна быть 192.168.1.0/24. Адрес сервера кластера должен быть 192.168.1.33. Адрес главного узла кластера должен быть 192.168.1.199. Перенастройка диапазона адресов потребует внесения изменений в некоторые файлы и скрипты сервера и корневой файловой системы узлов кластера. В следующих версиях это ограничение будет снято. Если вас не устраивает выбранный диапазон, вы можете получить консультации по замене сетевых адресов, обратившись лично ко мне.


Copyright © 1998-2011 Юрий Сбитнев