همانطوری که قبلا اشاره کردم، لازم نیست که گرههای کلاستر حتما قویترین ایستگاههای کاری روی شبکه باشند. دستگاههای انتخابی من دارای مشخصات زیر هستند:
Node No.1 : Debian (LAN SERVER)
CPU : P-III 800 MHz
RAM: 128 MB SD-RAM
NIC : SIS 100 Mbps
HDD: 2x40GB
Distro : Debian GNU/Linux 3.0 (woody)
Kernel: 2.4.23 (will be 2.4.23-om)
Node No.2 : Cyber (Workstation)
CPU : Celeron 333 MHz
RAM: 160 MB SD-RAM
NIC : D-Link 100 Mbps
HDD: 1x6.4GB
Distro : Libranet GNU/Linux 2.8.1
Kernel: 2.4.21 (will be 2.4.23-om)
پس از تعیین گرههای کلاستر، شروع به نصب نرمافزارهای لازم برای این کار میکنیم. این عملیات را برای تمام گرهها باید تکرار کرد. برای شروع هسته OpenMosix را نصب میکنیم. ابتدا کد منبع هسته را در آدرس usr/src کپی کرده و آنرا با استفاده از دستورهای زیر باز میکنیم:
کد:
# cd /usr/src
# bzip2 -d linux-2.4.23.tar.bz2
# tar -xf linux-2.4.23.tar
# mv linux linux.old
# ln -s linux-2.4.23 linux
سپس وصله هسته را در کد منبع خود اعمال میکنیم:
کد:
# cd linux
# cat /home/alan/patch-2.4.23-om-20031215.bz2 | bzip2 -d | patch -p1 -l
کد منبع هسته در چند ثانیه وصله خواهد شد. اکنون میتوانید طبق روالهای گذشته هسته را پیکربندی و کامپایل نمایید. فقط اطمینان حاصل کنید که گزینههای زیر را در بخش OpenMosix پیکربندی هسته انتخاب کنید:
[*] openMOSIX process migration support[*] Stricter security on openMOSIX ports[*] openMOSIX File-System[*] Poll/Select exceptions on pipes
برای شروع پیکربندی هسته، دستور زیر را وارد نمایید:
کد:
# cd /usr/src/linux
# make menuconfig
پس از اتمام پیکربندی و ذخیره تغییرات، برای کامپایل شدن هسته دستورات زیر را وارد نمایید:
کد:
# make-kpkg clean
# make-kpkg --revision=8:MOSIX01 kernel_image
و یا خیلی سادهتر:
کد:
# make-kpkg clean
# make-kpkg kernel_image
این نحو عملیات کامپایل هسته به یک بسته دبیان ختم خواهد شد که قادرید آنرا به راحتی روی سیستم نصب نمایید. مدت زمان انجام عملیات کامپایل هسته به سرعت پردازنده سیستم بستگی دارد. پس از اتمام عملیات کامپایل هسته، بستهای را که ایجاد شده است، نصب میکنیم:
کد:
# dpkg -i kernel_image-2.4.23-om_MOSIX01_i386.deb
هنگام نصب این بسته، مدیر بوت Lilo به طور خودکار پیکربندی خواهد شد. در صورتی که از گراب استفاده میکنید، باید تغییرات را بطور دستی در فایل پیکربندی آن اعمال نمایید. برای این منظور باید فایل boot/grub/menu.lst را ویرایش کرده و خطوط زیر را اضافه نمایید. البته مقادیری مانند پارتیشنهای قابل بوت و سایر آدرسها ممکن است روی سیستمهای شما متفاوت باشد که آنها را باید تغییر دهید:
title Libranet GNU/Linux, kernel 2.4.23 OpenMosix
root (hd0,1)
kernel /vmlinuz-2.4.23-om root=/dev/hda3 ro hdb=scsi
savedefault
boot
پس از اتمام نصب هستهها، اکنون باید ابزارهای نرمافزاری OpenMosix را نصب نماییم. برای این منظور، فایلی را که دانلود کرده بودیم، باز کرده و کامپایل و نصب میکنیم:
کد:
# bzip2 -d openmosix-tools-0.3.5.tar.bz2
# tar -xf openmosix-tools-0.3.5.tar
# cd openmosix-tools-0.3.5
# ./configure --with-kerneldir=/usr/src/linux-2.4.23/
# make
# make install
کامپایل و نصب ابزارهای نرمافزاری مدت زیادی طول نمیکشد (۱-۲ دقیقه یا کمتر روی پردازندههای قویتر). پس از اتمام آن، باید در یکی از فایلهای پیکربندی مربوطه لیست گرههای کلاستر را تعریف کرده و سپس سرویس OpenMosix را طوری تعریف کنیم تا هر بار بصورت خودکار اجرا شود. به این منظور ابتدا دستور:
کد:
# vi /etc/openmosix.map
اجرا کرده و باید مشخصات گرهها را بصورت <شماره گره> <آدرس IP گره> <تعداد> وارد نماییم:
<Node No.> <Node IP Address> <Node QTY>
1 192.168.0.1 1
1 192.168.0.7 1
آرگومان شماره هنگامی مفید است که بخواهیم چند آدرس IP پشت سرهم را تعریف نماییم. مثلا در صورتی که ۱۰ گره داشته باشیم که آدرس آنها از ۲۵ شروع میشود، وارد خواهیم کرد:
1 192.168.0.25 10
و عملیات تایپ ما را بسیار کمتر خواهد کرد. این فایل پیکربندی روی تمام گرهها یکسان است. بنابراین میتوانید آنر روی تمام گرهها کپی کنید. پس از انجام این کار به راهاندازی خودکار OpenMosix میپردازیم. ابتدا باید تعیین کنید که سطح اجرایی پیشگزیده هر یک از گرهها کدام است. به این منظور دستور زیر را وارد نمایید:
خوب سطح اجرایی پیشگزیده ما ۲ است (سیستمهای مبتنی بر دبیان). بنابراین وارد دایرکتوری etc/rc2.d میشویم. در صورتی که سطح اجرایی شما متفاوت شد، این عملیات را با دایرکتوری مربوط به آن که میتواند rc3.d، rc4.d و... باشد انجام دهید:
کد:
# cd /etc/rc2.d
# ln -s ../init.d/openmosix S20openmosix
در اینجا نمیخواهم فلسفه دستورات بالا را توضیح دهم زیرا از مسیر اصلی دور خواهیم شد. پس از اتمام عملیات بالا و بوت سیستمها، سیستمهایی داریم که مبتنی بر OpenMosix بوده و سرویس آن نیز بطور خودکار اجرا میشود. برای بکار افتادن کلاستر، گرهها را بوت میکنیم. گره شماره ۱ با موفقیت OpenMosix را اجرا میکند، ولی گره شماره ۲ با پیغام Invalid Map File قادر به اتصال به کلاستر نیست. پس مقداری جستجو و بررسی فایل پیکربندی، متوجه میشوم که در فایل etc/hosts یک ورودی به صورت زیر موجود است:
127.0.0.1 cyber
آنرا تبدیل به ورودی زیر میکنم:
192.168.0.7 cyber
مجددا سرویس OpenMosix را با دستور etc/init.d/openmosix restart اجرا میکنم. اکنون بدون مشکل اجرا میشود. برای حصول اطمینان از شناخته شدن تمام گرههای کلاستر، با دستور زیر آنها را آزمایش میکنم:
کد:
# mosctl status 1
up.
# mosctl status 2
up.
بسیار عالی! هر دو گره کلاستر در حال اجرا هستند. اکنون کلاستر ما آماده است. با استفاده از دستور mosmon میتوانید وضعیت کلی کلاستر را بررسی نمایید. اینکه کدام سیستمها دارای چه مقدار بار فعال هستند و با گذاشتن بار روی یکی از آنها چه اتفاقی خواهد افتاد و ...
علاقه مندی ها (بوک مارک ها)