Предупреждение :
Этот документ находится в разработке, и его пока не следует считать официальным.
|
Кластер openMosix на Gentoo
1.
Вступление
Об этом руководстве
Это руководство поможет вам создать кластер openMosix, основанный на
дистрибутиве Gentoo Linux. Мы постарались сделать эту процедуру настолько
простой для пользователя, насколько это было возможно, и этим помочь новичку в
Linux. Опытный пользователь легко сможет связать несколько руководств по
openMosix, бездисковым узлам и настройке сети воедино. Мы же надеемся, что этот
документ облегчит данную задачу менее опытным пользователям.
Примечание:
Если вы намереваетесь создать ваш кластер openMosix, использующий бездисковые
узлы, вам следует прочитать следующий раздел, чтобы узнать, как собрать ядро с
поддержкой openMosix, а затем наше
руководство по бездисковым узлам.
После этого возвратитесь к этому документу, чтобы продолжить установку
кластера.
|
О проекте openMosix
OpenMosix — это заплатка для ядра Linux, которая позволяет нескольким
узлам сети действовать подобно единому системному образу (single system image,
SSI). В результате несколько узлов кажутся одним мультипроцессорным
узлом. На момент написания документа последняя версия патча openMosix —
2.4.22, последняя версия утилит openMosix — 0.3.4. Разнообразную
информацию о openMosix можно найти на
http://openmosix.sourceforge.net. Не так легко объединить в
кластер компьютеры с различными версиями заплаток openMosix, и мы обнаружили,
что большинство патчей несовместимы с более ранними версиями. OpenMosix
распределяет сложные процессы (требовательные к ресурсам) явно при исполнении
двоичных файлов a.out или ELF или в том случае, когда сложный процесс
разветвляется. OpenMosix не станет распределять легкие процессы, такие как
p-threads, или сложные процессы, которые используют разделяемую память.
Посетите домашнюю страницу
openMosix, чтобы узнать больше.
О кластере
Наш кластер будет составлен из отдельных компьютеров (узлов), объединяющих
вычислительные ресурсы, чтобы повысить вычислительную мощность всех узлов. Нет
необходимости в том, чтобы все узлы имели одинаковую архитектуру, однако это
делает задачу создания кластера гораздо проще.
Перед тем, как начать
Gentoo должен быть установлен на компьютерах, из которых вы хотели бы составить
кластер. Также вам необходимо установить исходные коды ядра openMosix, которые
были пропатчены Gentoo.
Чтобы установить эти исходники, просто используйте emerge:
Листинг 1.1: Получение заплатанных исходников ядра |
# emerge openmosix-sources
|
2.
Настройка ядра
О ядрах
Ядро — это программа, которая находится между оборудованием и всеми
остальными программами, выполняемыми на компьютере, по существу это
сердце операционной системы, основанной на ядре. Когда включается компьютер,
BIOS выполняет инструкции, найденные в специальном загрузочном
секторе жесткого диска. Чаще всего эти инструкции являются инструкциями
началльного загрузчика, который загружает ядро. После загрузки ядра все
процессы будут обслуживаться им.
Чтобы узнать больше о ядрах и конфигурации ядер, вы можете обратиться к
руководству по
ядрам.
Конфигурирование ядра
Ядро может быть настолько большим и настолько настроенным по вашему вкусу,
насколько вам этого захочется, но есть несколько параметров ядра, которые вам
необходимо проверить.
Важно:
Очень важно направить символическую ссылку /usr/src/linux на
исходники openmosix, как это показано ниже.
|
Листинг 2.1: Установка ссылки /usr/src/linux на openmosix |
# cd /usr/src
# rm linux
# ln -s linux-2.4.22-openmosix linux
|
Затем приступайте к конфигурированию ядра:
Листинг 2.2: Правка конфигурации ядра |
# cd /usr/src/linux
# make menuconfig
|
Должен запуститься серо-голубой графический интерфейс, являющийся
безопасной альтернативой ручному редактированию файла
/usr/src/linux/.config.
Если ваше ядро сейчас функционирует нормально, вы возможно захотите сделать
резерную копию текущего файла конфигурации:
Листинг 2.3: Резервное копирование конфигурации ядра |
# cp .config .config_working
|
Самым верхним меню должно быть openMosix --->. Если это не так, вам
необходимо установить исходники ядра с заплаткой openMosix (см.
Перед тем, как начать). Убедитесь, что
следующие пункты отмечены как встроенные (а НЕ как модули):
Листинг 2.4: Опции menuconfig |
openMosix --->
[*] openMosix process migration support
[ ] Support clusters with a complex network topology
[*] Stricter security on openMosix ports
(1) Level of process-identity disclosure (0-3)
[*] openMosix File-System
[ ] Poll/Select exceptions on pipes
[ ] Disable OOM Killer
[ ] Load Limit
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
<*> Packet socket
[ ] Packet socket: mmapped IO
< > Netlink device emulation
[ ] Network packet filtering (replaces ipchains)
[ ] Socket Filtering
<*> Unix domain sockets
[*] TCP/IP networking
[*] IP: multicasting
File systems --->
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
|
Примечание:
Эти параметры конфигурации ядра должны быть только добавлены к специфическим
параметрам вашей системы, они не должны полностью заменять эти параметры.
|
После того, как вы перенастроили ваше ядро, вам следует пересобрать его:
Листинг 2.5: Пересборка ядра и модулей |
# make dep
# make clean bzImage modules modules_install
# cp arch/i386/boot/bzImage /boot/bzImage-openmosix
|
Затем добавьте запись для нового ядра в lilo.conf или
grub.conf (в зависимости от того, каким загрузчиком вы
пользуетесь) и сделайте новое ядро загружаемым по умолчанию. После того, как вы
скопировали bzImage в каталог /boot, все, что вам
нужно сделать — это перезагрузить систему.
Недостающие параметры
Если при конфигурации ядра вы не можете найти некоторые параметры, убедитесь,
что вы отметили:
- Code maturity level options --->
- Prompt for development and/or incomplete code/drivers
3.
Настройка узлов openMosix
Установка утилит openMosix
Для того, чтобы кластер мог распределять процессы, необходимо установить
несколько пользовательских приложений. Также необходимо запустить сервер
openMosix, чтобы узлы могли подсоединяться к кластеру и полностью использовать
возможности openMosix. Чтобы установить эти приложения и файлы,
воспользуйтесь emerge:
Листинг 3.1: Установка пользовательских утилит openMosix |
# emerge openmosix-user
|
Настройка узлов openMosix
Больше не нужна правка или создание /etc/openmosix.map. Новые
версии пользовательских утилит включают в себя демон автоматического
обнаружения, который определяет все узлы в вашей сети.
Создайте директории /mfs на каждом узле и подмонтируйте их, если
вы хотите использовать файловую систему openMosix (очень рекомендуется),
которая позволит вам иметь доступ ко всем узлам.
Листинг 3.2: mkdir /mfs |
# mkdir /mfs
|
Листинг 3.3: Пример записи в /etc/fstab |
none /mfs mfs noauto,dfsa=1 0 0
|
Примечание:
Нет необхдодимости во всех запущенных узлах для корректного функционирования
openMosix.
|
Запуск openMosix
Запуск openMosix очень прост. Следующая команда включит функциональность
openMosix в ваше ядро и запустит демон автообнаружения, который будет следить
за всеми доступными узлами.
Листинг 3.4: Запуск openMosix |
# /etc/init.d/openmosix start
|
4.
Пользовательские утилиты openMosix
Утилиты командной строки
openMosix-user устанавливает несколько полезных утилит на вашу систему. Вот
некоторые из них:
-
mosmon - монитор openMosix. Позволяет вам видеть состояние всех
узлов, включая использование процессора, установленную память,
используемую память и т.д. и т.п.
-
mtop - Улучшенная версия top, которая показывает, на каком узле
процесс фактически выполняется.
-
mps - Улучшенная версия ps. Также показывает номер узла.
-
mosctl whois - Эта утилита очень полезна, так как с mosmon и
другие показывают лишь номер узла. Используя mosctl whois
nodenumber, вы можете выяснить IP-адрес или имя конкретного узла.
Стресс-тест openmosix может быть использован того, чтобы проверить, работает
ли всё на кластере так, как нужно, и как он ведет себя под нагрузкой. Эта
программа называется openmosixtest:
Листинг 4.1: Установка openmosixtest |
# emerge openmosixtest
|
Ebuild проинформирует вас, как запустить тест.
Графические утилиты
Чтобы получить графический обзор кластера и увидеть распределенные процессы, вы
можете использовать openmosixview.
Листинг 4.2: Установка openmosixview |
# emerge openmosixview
|
Чтобы запустить это чудесное приложение, просто наберите openmosixview:
Листинг 4.3: Запуск openmosixview |
# openmosixview
|
5.
Ссылки
openMosix
Дополнения к openMosix (доступны файлы ebuild)
Текст этого документа распространяется на условиях лицензии
Creative Commons
- Attribution / Share Alike.
|