Сергей Акимович Яремчук - Вторая жизнь старых компьютеров стр 5.

Шрифт
Фон

нагрузке. Процессы, обрабатывающиеся на любом из узлов, при увеличении нагрузки данного компьютера по сравнению с другими способны передаваться на любой другой компьютер кластера. OpenMosix постоянно пытается оптимизировать распределение ресурса между машинами, при этом новый узел может быть добавлен «на лету» и автоматически будет подхвачен кластером. Так как все openMosix расширения выполняются внутри ядра, каждое из приложений, автоматически извлекает выгоду из распределенной вычислительной концепции openMosix. Кластер ведет себя фактически как многопроцессорная система, правда без ограничения на их максимальное число. И естественно возникло желание испытать это все в деле, тем более что большая часть работы уже проделана.

Как и в приведенном выше примере, один из компьютеров играет роль главного (master), а остальные, сколько есть, подчиненные (slave). Для работы понадобятся сами ядра с патчем от openMosix и инструменты для работы openmosix-tools. Все это можно найти на странице http://prdownloads.sourceforge.net/openmosix/ , где доступны как сами патчи, так и уже перекомпили- рованые (серверные) ядра для разных платформ, причем уже доступны патчи для ядер серии 2.6. Мы будем устанавливать при помощи патча, самостоятельно компилируя все ядра.

Для этого берем ядро 2.4.22:

# wget -с http://www.kernel.Org/pub/linux/kernel/v2.4/ j

linux-2.4.22.tar.bz2

# wget -с http://tab.tuxfamily.org/download/openmosix/ j

patch-2.4.22-om-20030811.bz2

# tar -xjvf linux-2.4.22.tar.bz2

# cd linux-2.4.22

# bzcat ../patch-2.4.22-om-20030825.bz2|patch -pi

# In -sf /path/to/linux-2.4.22 /usr/src/linux

Теперь заходим в него:

# cd /usr/src/linux

Конфигурируем серверное ядро:

# make xconfig [menuconfig, gconfig]

И смотрим, чтобы следующие пункты были включены в ядро, а не в виде модулей:

openMosix -

openMosix process migration support openMosix File-System

Networking options -

Packet Socket Socket Filtering TCP/IP networking IP: multicasting

File systems -

/proc file system support

Network File Systems -

NFS file system support NFS server support Provide NFSv3 server support

# make dep

# make bzlmage amp; amp; make modules amp; amp; make module sinstall

Копируем ядро на свое место:

# mv arch/i386/boot/bzImage /boot/vmlinuz-openmosix

# rpm -ivh openmosix-kernel-2.4.22-openmosixl.i686.rpm

Для начала сохраняем конфигурационный файл основного ядра.

# ср /usr/src/linux/.config /usr/src/linux/.confi gmaster

Следующие опции нужно включить в ядро.

openMosix -

openMosix process migration support openMosix File-System

Networking options -

TCP/IP networking

IP: kernel level auto-configuration IP: DHCP support IP: BOOTP support

File systems -

/proc file system support

Network File Systems -

NFS file system support Provide NFSv3 client support Root file system on NFS

Но получившееся в результате ядро копируем в другое место, а именно в каталог /tftpboot. Например:

# ср /usr/src/linux/arch/i386/boot/bzImage J

/1ftpboot/1ts/vmlinuz-openmos ix-s1ave

настраиваем его загрузку описанным выше способом. В принципе для этого не обязательно иметь установленный полный пакет Itsp, а все необходимое создать вручную, как это все сделать, можно найти в дополнительной литературе, указаной в конце статьи. Но все равно, для того чтобы избежать большого количества ручной работы, советую в таком случае скачать файл lts pinitrd kit и lts putil src ( http://prdown loads .sou reef orge. n et/ltsp/lts pin itrd kit-3.0.11- i386.tgz и http://prdownloads.sourceforge.net/ltsp/lts putil src- 3.0.0-i386.tgz).

Все, что мы делали до сих пор, фактически не отличается от предыдущего варианта ядра. Чтобы заставить компьютеры работать в одной связке и обмениваться нагрузкой, необходимо установить пакет openmosix-tools. Его также можно получить уже в виде перекомпилированных пакетов или все это проделать самому. Ничего особенного в компиляции нет:

# ./configure -with-kerneldir=/usr/src/linux

Флагом -with-kerneldir указываем путь к исходным файлам ядра, по умолчанию /usr/src/linux-openmosix:

# make amp; amp; make install

Или строим пакет для rpm-based дистрибутивов:

# rpmbuild -ta openmosix-tools-0.3.4.tar.gz

1 192.168.0.1 1

2 192.168.0.100 10

# ср /etc/openmosix.map /opt/ltsp/i386/etc/

# ср /sbin/setpe /opt/ltsp/i386/sbin/

# ср /bin/mosrun /opt/ltsp/i386/bin/

# ср /bin/mosmon /opt/ltsp/i386/bin/

# ср /bin/mosctl /opt/Itsp/i386/bin/

# cp /bin/migrate /opt/ltsp/i386/bin/

# cp /etc/rc.d/init.d/openmosix /qpt/ltsp/i386/etc/rc.openmosix

# /etc/init.d/openmosix start

# mosctl status 2

si::sysinit:/etc/rc.d/rc.sysinit

si::sysinit:/bin/mosrun -h /etc/rc.d/rc.sysinit

test -f /proc/$$/lock amp; amp; echo 0 > /proc/$$/lock

Кроме документации на сайтах проектов LTSP и openMosix советую просмотреть еще и следующие документы:

1. Колисниченко Д. Загрузка по сети. //журнал «Системный администратор», 9(10), 2003 г. 47-49 с.

2. LTSP + openMosix: Integration How-To: http://home.onestop.net/jjensen/ltsp-om5r3c.html

3. openMosix and Diskless Nodes: http://www.gentoo.org/doc/en/openmosix-howto.xml

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Популярные книги автора