Помогите поднять кластер

Обсуждение вопросов создания суперкомпьютера, работающего на ОС Linux, а также дистрибутивов, управляющих суперкомпьютерами

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 02 ноя 2012, 11:49

homecluster писал(а):Этот реальное железо которое реально работает. Теперь хотелось бы поднять на нём кластер.
Вот вам ещё Варианты построения кластера ... их аж 6 ;-) (с разными вариантами ПО), выбирайте на вкус...
Вариант третий
Одной из ведущих мировых Linux-компаний Mandrake выпускается специализированный дистрибутив CLIC. Этот дистрибутив предназначен для создания высокоэффективного кластерного суперкомпьютера, основанного на сети рабочих станций.
Шестой вариант кластера идеально подходит для случая, когда необходимое оборудование уже имеется. В этом случае, полномасштабный кластер так же может быть развернут в минимальные сроки. Фактически для этого понадобится всего несколько часов.
Все варианты детальнейшим образом расписаны.

Какие вам ещё дистрибутивы нужны? ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 02 ноя 2012, 13:51

homecluster писал(а):
Olej писал(а):Какие вам ещё дистрибутивы нужны? ;-)
Такой:
После того, как мы попробовали несколько вариантов установки, мы можем сформулировать требования, предъявляемые к полномасштабному кластеру, обеспечивающие простоту установки и использования.

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

И там же для вас написан и ответ:
Этим условиям удовлетворяет проект ThinCluster.
...
При подготовке к семинару по кластерным технологиям, проведенному в октябре месяце 2004 года в Волгоградском государственном университете, мне пришлось подготовить свой ноутбук для работы в качестве сервера кластера ThinCluster. Для этого мне понадобилось около 40 минут времени.
Берёте и пользуетесь ;-) :
ThinCluster - описание того как это сделать на любом дистрибутиве Linux в самой типовой конфигурации: без специальных настроек, пакетов и т.д.;
СТРАНИЦА ЗАГРУЗКИ - где все недостающие средства и описания (только поменяйте в браузере кодировку этой страницы на KOI-8R - здесь автор нахомутал ;-) ):
Интерфейсы передачи сообщений

MPICH — текущая версия исходных кодов MPI
MPICH — версия 1.2.5 для Windows NT
LAM/MPI — исходные коды версии 7.0.6
PVM — исходные коды версии 3.4.5
PVM — для Windows NT

Linux дистрибутивы

BCCD 2.2.1 — загрузочный CD кластера BCCD
Rocks Base — установочный диск кластера Rocks
HPC Roll — дополнительный диск кластера Rocks
Intel Roll — компилятор Intel Fortran 77 для кластера Rocks
CLIC — кластерный дистрибутив CLIC 2.0 от MandrakeSoft
ALT Linux Compact 2.3 — дистрибутив общего назначения

ThinCluster 1.0

ThinCluster — пакет для установки кластера на бездисковых станциях.

Программное обеспечение

Adaptor — система автоматического распараллеливания Fortran-программ
Intel Fortran 77 — бесплатный для некоммерческого пользования оптимизирующий компилятор фортрана
ifenslave — программынй модуль для связывания каналов
ifenslave diff — патч для ifenslave
G2 — библиотека графических подпрограмм для C и Fortran
Примеры программ

Hello, world — тестовая программа
pi-mpi.f — параллельная Fortran-программа вычисления числа
flops.f — программа, определяющая примерное быстродействие узлов кластера и кластера в целом
vis.c — пример программы визуализации данных на языке C с помощью библиотеки G2
vis.f — пример программы визуализации данных на языке Fortran с помощью библиотеки G2
Документация

ROCKS userguide — инструкция пользователя кластера ROCKS
LAM/MPI userguide — инструкция пользователя LAM/MPI
MPICH userguide — инструкция пользователя MPICH (англ)
MPICH userguide — инструкция пользователя MPICH (рус)
MPI — курс программирования в MPI для Fortran'a
MPI — краткий курс программирования в MPI
MPI book — Программирование для многопроцессорных систем в стандарте MPI
MPE — введение в библиотеку расширений MPE
MPE — инструкция пользователя MPE


Всё, что только можно придумать ;-) :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 02 ноя 2012, 17:19

homecluster писал(а):"Этим условиям удовлетворяет проект ThinCluster."
Не нашёл я такого проекта. Может быть когда то в 2004 г. такой проект был.
Я так понимаю, что проектом ThinCluster Юрий Сбитнев (автор) и назвал свой собственный рассказ о сборке кластера на любом дистрибутиве Linux, я ссылку показывал, но повторю - http://cluster.linux-ekb.info/thincluster.php:
Рассмотрим еще один вариант быстрого развертывания кластера.
...

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

Вот и весь проект ... и более чем достаточно.

P.S. А обновления последние этого сайта относятся не к 2004г., а, как минимум, к 2011г.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 02 ноя 2012, 20:01

homecluster писал(а): Пройдитесь по ссылкам для скачивания. Посмотрите на заголовок статьи. 404 - это какой код?
Заголовок статьи мне не интересен ;-) , заголовок "404" и ошибка 404 - это две разные вещи ... как говорят в Одессе ;-)
А по ссылкам я проходился:
- ссылки на public-ресурсы (a'la Mandriva) - устаревшие и висящие ... но по названиям можно найти новые релизы;
- ссылки на собственные ресурсы (что и представляет интерес) - все рабочие, и в том числе:
ThinCluster 1.0
ThinCluster — пакет для установки кластера на бездисковых станциях.
Примеры программ
Hello, world — тестовая программа
pi-mpi.f — параллельная Fortran-программа вычисления числа
flops.f — программа, определяющая примерное быстродействие узлов кластера и кластера в целом
vis.c — пример программы визуализации данных на языке C с помощью библиотеки G2
vis.f — пример программы визуализации данных на языке Fortran с помощью библиотеки G2
- с кодировкой там на страничке скачивания непорядок ... так я вам сказал: смените на KOI-8R
homecluster писал(а): Лучше скажите вы сами пробовали сделать свой дистрибутив?
Установочные пакеты проектов, и очень и очень крупных - собирал ... они и сейчас ходят в эксплуатации.
Дистрибутивы Linux - не собирал и не стану, считаю вот этих "майнтейнеров" и их занятие - последним делом для профессионала.
Ничего особо сложного в том, чтобы скомпоновать настроенный дистрибутив нет.
homecluster писал(а): В сети столько разноречивой информации. Я понимаю что делиться реальной информацией желающих нет. По этому - одни намёки и круги на воде. И ссылки на чтение manов.
А здесь вы ошибаетесь.
Делятся, описано, ищите... "ищите и обрящите"(с) ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 04 ноя 2012, 23:11

homecluster писал(а):Собрал сеть - терминальный нод 1 в порт WAN свича. Нод 2 в порт 2, нод 3 в порт 3.
Не понимаю! Чего вы лезете уже не 1-й раз лезете к WAN портам. У вас все хосты, что терминальный, что все остальные, должны быть подключены к LAN портам свитча!
homecluster писал(а): Старт терминального нода 1 - стартует с загрузочного DVD. Загружается до терминала. Делаю вход. Запускаю pelican_setup. Прошёлся по всем шагам - вроде сбоев нет.
Можете перед pelican_setup выполнить команду:

Код: Выделить всё

$ startx
Веселее будет ;-)
homecluster писал(а):Тут выясняется что Pelican не умеет читать флешки.
Не "не умеет", а не автомонтирует. Это разные вещи.
Сделайте для своей флешки:

Код: Выделить всё

$ ls /dev/sd*
Найдите её. И примонтируйте вручную командой. И будет вам счастье.
homecluster писал(а):К тому же еще не настроен домашний каталог для pelicana .
А он вам и не нужен ;-) . Для начала.
Если у вас есть ~400Mb свободной памяти RAM, то /home/user будет смонтирован в RAM, и копируйте туда файлы екзамплов.
/home/user постоянный смонтируете потом, в другой раз ;-) .

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 04 ноя 2012, 23:17

homecluster писал(а):Трафик который гоняли ноды через свич - это загрузка нодов операционнкой.
Естественно.
У вас же PXE загрузка...
homecluster писал(а):Когда загрузка закончилась на нодах 2 и 3 появилось приглашение терминала и предупреждение не использовать и не выключать.
До того, как выведется приглашение на всех нодах, ничего с кластером предпринимать нельзя!

А после этого всего смотрите на терминальном хосте что у вас получилось с узлами кластера:

Код: Выделить всё

user@pel1:~$ cat tmp/bhosts 
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 04 ноя 2012, 23:22

homecluster писал(а):Похоже есть bug. Когда не указываешь раздел диска при загрузке, то всё ставится в память, благо её 2 Гб. Кроме примеров. Тогда нельзя увидеть разделы диска на котором уже есть эти примеры. А когда указываешь при загрузке раздел диска где есть примеры не находятся какие то библиотеки и какой то демон прекращает работу. Решил перекатать все примеры на флешку и потом использовать её при запуске примеров.
У вас всё должно замечательно скопироваться в RAM (tmpfs) в /home/user, без всяких указаний устройств ... если у вас этой RAM свободной остаётся 400-500Mb, если меньше, то не всё копируется. Должно быть что-то типа такого:

Код: Выделить всё

user@pel1:~$ pwd
/home/user
user@pel1:~$ du -hs
291M    .
user@pel1:~$ ls -l
total 924
-rw-r--r--  1 user user 779410 Oct 31 17:23 ann_1.1.2+creelmod.tar.gz
drwxr-xr-x  2 user user     60 Oct 31 17:23 Desktop
drwxr-xr-x  2 user user     40 Oct 31 17:24 Documents
drwxr-xr-x  2 user user     40 Oct 31 17:24 Downloads
drwxr-xr-x 14 user user    600 Oct 31 17:23 dynare
drwxr-xr-x  5 user user    500 Oct 31 17:23 Econometrics
-rw-r--r--  1 user user   3349 Oct 31 17:23 flops.f
drwxr-xr-x 11 user user    480 Oct 31 17:23 hpl-2.0
-rw-r--r--  1 user user   3408 Oct 31 17:23 make_pelicanhome.sh
-rw-r--r--  1 user user   3422 Oct 31 17:23 make_pelicanhome.sh~
-rw-r--r--  1 user user  56160 Oct 31 17:23 make_pelican-v2.8
-rw-r--r--  1 user user  56160 Oct 31 17:23 make_pelican-v2.8alpha
drwxr-xr-x  2 user user     40 Oct 31 17:24 Music
-rw-r--r--  1 user user  18941 Oct 31 17:23 pelican_config
drwxr-xr-x  2 user user     40 Oct 31 17:24 Pictures
drwxr-xr-x  2 user user     40 Oct 31 17:24 Public
-rw-r--r--  1 user user      6 Oct 31 17:23 pw
-rw-r--r--  1 user user    805 Oct 31 17:23 README
drwxr-xr-x  2 user user     40 Oct 31 17:24 Templates
drwxr-xr-x  2 user user    660 Oct 31 17:23 Tutorial
drwxr-xr-x  2 user user     40 Oct 31 17:24 Videos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 05 ноя 2012, 15:53

homecluster писал(а):И ещё вопрос "Если можно примонтировать в ручную флешку, то может быть можно вручную примонтировать раздел на жёстком диске?" В один из экспериментов получилось в разделе диска создать каталог с экзамплами для тестов кластера.
Конечно можно.
Я показывал как это делать viewtopic.php?f=22&t=1920&start=10#p5544 :
1. можно делать это в загруженном PelicanHPC на тарминальном хосте (или любом другом Linux, в том числе в загрузке с LiveCD)...
2. создаёте (с помощью fdisk) на диске раздел ... /dev/sda1
3. размечаете (с помощью /usr/sbin/mkfs.ext2) раздел /dev/sda1
4. перезагрузка терминального хоста
5. в диалоге в качестве устройства /home/user указываете sda1 (именно так, не /dev/sda1):
Изображение
6. монтировать отдельно раздел /dev/sda1 никуда не надо!
homecluster писал(а): Но выясняется что распакованные экзамплы и доки весят не слабо (250 М)
Я уже предупреждал:

Код: Выделить всё

user@pel1:~$ du -hs /home/user
291M    .
homecluster писал(а): Кстати, запус Х перед запуском pelican_setup не добавляет веселья, и скорость загрузки нодов такая же медленная.
Это и не может добавить скорости, но и не снижает её...
Это добавляет удобства работы можете открыть хоть 10 окон терминала, и делать там что-то не ожидая завершения других операций.
homecluster писал(а): Типа работает. Хотя рассказы про 10 минут на загрузку всего кластера пока типа только рассказы. На загрузку каждого нода по сети уходит минут 20 . То есть кластер из 3 нод поднимался минумум 1 час .
Мне странно это читать!
Я не знаю, где вы слышали рассказы про "10 минут на загрузку" (наверное имелось в виду "освоение кластера"), но у меня ноды по PXE загружаются хоть и длительные, но секунды, 5 хостов загружается ... ну, 30-40 секунд!
У вас что-то с сетью:
- поменяйте свитч/роутер (пробуйте);
- воткните все хосты (и терминальный!) только в порты LAN свитча;
- вообще отключите WAN интерфейс на свитч/роутер, чтобы он не путался и не мешал - у вас всё происходит внутри LAN;
- проверьте, чтобы у вас в сети (на свитче, на роутере!) не работал DHCP (очень важно!) - остановите встроенный DHCP на свитч/роутер (обычно это делается через WWW-интерфейс управления устройством ... 192.168.1.1 ;-) )
Загрузка хоста должна происходить в секунды!
Всё должно летать! ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 05 ноя 2012, 17:04

homecluster писал(а):
Olej писал(а): Загрузка хоста должна происходить в секунды!
Всё должно летать! ;-)
Полет в теории похож на ползание черепахи. В чём грабли?
В неправильной работе LAN.

P.S. Я предполагаю, что у вас свитч/роутер "от большого ума", и никак не настроенный; а вам нужен простейший хаб - выбросьте свой роутер! :lol:
homecluster писал(а):
У вас что-то с сетью:
Можно чем нибудь проверить сеть? Работу сетевой карты, драйверов, свича и т.д. можно как то протестить?
Запустите на 2-х хостах 2-е независимых инсталляции Linux, можно с LiveCD, можно с того же Pelican.
Посмотрите (сюда покажите!) как и с какими IP они подымутся:

Код: Выделить всё

$ ip address
...
Они не должны подняться с IP, иначе у вас работает сторонний DHCP.
Подымите их сети вручную:

Код: Выделить всё

# sudo ifconfig 192.168.1.100
...
и

Код: Выделить всё

# sudo ifconfig 192.168.1.200
...
А теперь копируйте большой файл (создайте пустышку) с одного хоста на другой, по FTP, а ещё лучше по SSH (команда передачи файлов по ssh) и смотрите время копирования или скорость (команды SSH сразу покажут скорость ... потому и "лучше" ;-) ).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Помогите поднять кластер

Непрочитанное сообщение Olej » 05 ноя 2012, 17:14

homecluster писал(а): Я могу открыть несколько терминалов. И что? В каждом терминале запустить pelican_setup?
Нет. В каждом смотреть-писать конфигурации, делать компиляцию тестов и много др. полезной работы.
homecluster писал(а): На терминальном ноде уже есть раздел sda10 и отформатированный.
Вообще-то довольно странно, что sda10.
У вас не GPT разбивка диска? Чем делалась разбивка диска?
В какую файловую систему отформатирован?

P.S. И вообще, чем не очень понятно пересказывать разные вещи "на пальцах", всегда убедительнее скопировать прямо в ответ лог выполнения команды, например:

Код: Выделить всё

# fdisk -l /dev/sda

P.P.S. Часто там оказывается не совсем то, что вы предполагаете. :lol:
homecluster писал(а):И один раз мне удалось в него записать указав в диалоге /dev/sda10/ . То есть я потом загрузился с жёсткого диска и увидел на этом разделе каталог с экзамплами.
Вообще-то он ожидает записи просто: sda10
Мне таким образом удаётся записать каталог /home/user не один, а как минимум десяток раз. :lol:

Ответить

Вернуться в «Персональный суперкомпьютер на Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя