1. На все машины нужно ставить ось и соответствующие ПО для параллельного программирования.
2. Ось ставится тока на один комп, а все остальные грузятся по сети.
Бороздя просторы интернета нашёл сайт linux-cluster.org.ru. На этом сайте мне понравилось как реализован проект ThinCluster. Но дистрибутив который используется в этом кластере старый. Писал автору с просьбой как собрать кластер самому на базе свежего дисрибутива Debian Lenny. Вот ответ: «Хорошая новость в том, что развертывание кластера как такового - задача экстремально простая. Причем, для этого подойдет любой дистрибутив по вашему выбору. Вы предпочитаете Debian Lenny? Великолепно. Давайте исходить из этого. (К слову, я бы выбрал Ubuntu, но в сущности, это - те же яйца, вид сбоку.) Берите стабильную ветку, подключайте репозитории universe и multiverse и вперед, больше вам ничего не понадобится! Попытаюсь по шагам объяснить, как развернуть кластер, используя дистрибутив общего назначения, такой, как Debian Lenny.
"Итак... Вы должны будете: Установить операционную систему на компьютер, который будет выступать в роли консоли кластера. То есть на этом компьютере будут компилироваться и запускаться параллельные программы. Другими словами, за этим компьютером будет сидеть человек, запускать программы и смотреть, что получилось. После инсталлирования базовой ОС на консоли кластера, если это не сделано в процессе первоначальной установки, Вы должны будете установить необходимые компиляторы (фортран, С) и все необходимые библиотеки, desktop environment (GNOME или KDE по вашему выбору), текстовые редакторы и пр., то есть превратить этот компьютер в рабочую станцию разработчика. Установить из репозитория или из исходников пакет MPICH или OpenMPI, если он Вам более по душе. Я лично предпочитаю MPICH. Описать в /etc/hosts будущие узлы вашего кластера, в том числе и консоль кластера. Установить NFS и расшарить для всех узлов кластера некую директорию, в которой будут размещаться исполняемые модули параллельных программ и файлы данных, которыми эти программы будут пользоваться в процессе своей работы. Установить ssh-клиент (обязательно) и ssh-сервер (опционально, если Вы предполагаете давать доступ к консоли кластера по сети). На всех узлах кластера установить операционную систему, библиотеки, необходимые для выполнения пользовательских параллельных программ, установить MPICH, NFS-client, ssh-server. Узлы кластера в целях экономии ресурсов должны грузиться в runlevel 3, так что ставить туда GNOME или KDE не надо. Максимум - поставить туда гномовские или кдешные библиотеки, если они нужны пользовательским программам. Описать в /etc/hosts всех узлов кластера будущие узлы вашего кластера, в том числе и консоль кластера. На всех узлах кластера необходимо автоматом при загрузке монтировать расшаренный в п. 5 ресурс. Причем, путь к этому ресурсу должен быть одинаков, как на консоли кластера, так и на его узлах. Например, если на консоли кластера Вы расшариваете каталог /home/mpiuser/data, то на узлах кластера этот ресурс также должен быть смонтирован в /home/mpiuser/data. На всех узлах кластера обеспечить безпарольный доступ по ssh для консоли кластера. Как это сделать вы можете посмотреть на моем сайте. Собственно все! Кластер собран и работоспособен. Как компилировать и запускать на исполнение параллельные программы Вы можете посмотреть на моем сайте и в документации к MPICH."
Как видите, все очень просто и ничего, кроме дистрибутива Debian с репозиториями не нужно.»
В этом описании автор описал первый вариант развёртывания кластера. Но мне хотелось бы второй с бездисковыми терминалами ( Во первых второй на мой взгял по сложнее и в описании займет больше места (а мне то нужно диплом раздуть ) , плюс его удобнее разворачивать, т.к. придется повозится тока с одним компом, а все остальные без особых настроек по сете загрузятся.
Автор проекта ThinCluster также написал: «Особая сложность возникает при построении кластера, узлы которого загружаются по сети, тем более, если пытаться совместить ваш любимый дистрибутив с некими конфигурациями из других дистрибутивов.»
А я как раз и хочу сделать это.
Автор проекта «К сожалению я мало интересовался вопросом сетевой загрузки линукса. Поэтому маловероятно, что я смогу Вам помочь в этом. Я игрался с этим давно и сейчас уже мало что помню. Единственное, что могу посоветовать, так это - посмотреть в сторону дистрибутива PelicanHPC GNU Linux.»
Посмотрел я в эту сторону, но это тоже Лив СД. А как установить его со всеми его настройками на реал машину я не смог найти.
Не знаю как правильно сделать сетевую загрузку, т.е. не саму загрузку а поддерево для бездисковых терминалов которые будут грузится по сети. Настроил DHCP, TFTP, NFS, даже пытался сделать поддерево путем копирования реальной корневой системы. Кое как загрузил с бездисковой станции и получил доступ к консоли, но во время загрузки вылезали ошибки. Вообщем не знаю как правильно сделать chroot дерево для бездисковых станций. Пробовал еще один вариант: настроил LTSP. Бездисковый терминал загрузился, но помоему это не то что мне нужно, бездисковый терминал скорее всего жрет ресурсы сервера, а мне нужно использовать его ресурсы в кластере. Вообщем окончательно запутался, что да как. Может есть знающие люди, которые могут помочь и подробно объяснить последовательность действий при решении такого рода задач.
