شروع کار
فرایند برپاسازی کلاسترهای لینوکس بسیار ساده می باشد. ابتدا باید هسته هایی که OpenMosix روی آنها فعال شده اند را روی گره های کلاسترها نصب کرده و سپس ابزارهای کاربری را روی همه آنها نصب کرده و یک تنظیم کوچک در یک فایل پیکربندی انجام دهیم.
به عنوان نخستین مرحله از کار، باید ابزارهای نرم افزاری لازم را فراهم آورید. نخستین چیزی که به آن نیاز دارید، کد منبع هسته ای است که مایلید روی آن کار کنید. کد منبع هسته خود را می توانید از http://kernel.org/ دریافت نمایید. در قدم بعدی باید وصله های هسته OpenMosix و سپس ابزارهای نرم افزاری OpenMosix را دریافت نمایید. برای دانلود وصله های هسته OpenMosix می توانید به سایت رسمی آن در آدرس http://openmosix.sf.net/ یا http://openmosix.org/ مراجعه کنید و یا از لینک های زیر برای هسته های مورد نظرتان استفاده کنید:
هسته 2.4.21:http://tab.tuxfamily.org/download/openmosix/releases/patch-2.4.21-om-20030825.bz2
هسته 2.4.22:http://tab.tuxfamily.org/download/openmosix/releases/patch-2.4.22-om-20031215.bz2
هسته 2.4.23:http://tab.tuxfamily.org/download/openmosix/stable/patch-2.4.23-om-20031215.bz2
هسته 2.6.0 (آزمایشی):http://tab.tuxfamily.org/download/openmosix/unstable/patch-2.6.0-om-0.20031202.1.bz2
ابزارهای نرم افزاری:http://umn.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.5.tar.bz2
فراموش نکنید که همیشه می توانید جدیدترین نسخه های وصله هسته و ابزارهای نرم افزاری OpenMosix را از سایت رسمی آن دریافت نمایید. پس از اتمام دریافت تمامی اقلام مورد نیاز (تنها کد منبع هسته دارای حجم زیادی است و بقیه ابزارها همگی بین ۲۰۰ تا ۳۰۰ کیلوبایت ظرفیت دارند!) باید تجهیز گره های کلاستر را شروع کنید. ابتدا لازم است در شبکه محلی خود کامپیوترهایی را که مایلید به عنوان گره های کلاستر استفاده کنید، تعیین نمایید. :
پس از تعیین گره های کلاستر، شروع به نصب نرم افزارهای لازم برای این کار می کنیم. این عملیات را برای تمام گره ها باید تکرار کرد. برای شروع هسته 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 می پردازیم. ابتدا باید تعیین کنید که سطح اجرایی پیش گزیده هر یک از گره ها کدام است. به این منظور دستور زیر را وارد نمایید:
# runlevel
N 2
خوب سطح اجرایی پیش گزیده ما ۲ است (سیستم های مبتنی بر دبیان). بنابراین وارد دایرکتوری 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 می توانید وضعیت کلی کلاستر را بررسی نمایید. اینکه کدام سیستم ها دارای چه مقدار بار فعال هستند و با گذاشتن بار روی یکی از آنها چه اتفاقی خواهد افتاد و ...