برپا سازی کلاسترهای OpenMosix(1690 مجموع کلمات موجود در متن) (5982 بار مطالعه شده است)  برپا
سازی کلاسترهای OpenMosix جهت
برپا سازی یک کلاستر، شما به حداقل دو
دستگاه مبتنی بر لینوکس که به یک شبکه
داخلی متصل بوده و قادر به کامپایل کردن
و اجرای هستههای سری 2.4
باشند،
نیاز دارید. همچنین
شبکه شما باید دارای حداقل سرعت ۱۰۰ مگابیت
باشد. این
سرعت به شما سرعت بسیار خوبی را اعطا خواهد
نمود. سرعت
اترنت استاندارد یعنی ۱۰ مگابیت به شما
سرعت چندان جالب توجهی نخواهد داد.
البته در
صورتی که شبکه شما از این نوع است و مایل
هستید تا فقط OpenMosix را
تجربه نمایید، پاسخگو خواهد بود.
استفاده
از اترنتهای گیگابیت مفید بوده ولی
انتخابی است. البته
ممکن است واقعا به آن نیاز نداشته باشید
و اترنت ۱۰۰ مگابیت امور شما را به خوبی
انجام دهد. اتصال
گرههای کلاستر به یک سوئیچ پرسرعت
سیستمهای شما را قادر خواهد ساخت تا در
حالت Full Duplex عمل
نموده و پهنای باند شما دو برابر گردد.
همچنین
میتوانید در یک کلاستر ۲ یا ۳ گرهای
از سیم کشی مخصوص جهت اتصال مستقیم گرهها
به هم استفاده نمایید. داشتن
فضای Swap کافی
قویا توصیه میشود.
به این
صورت شما قادر خواهید بود تا گرهها را
بصورت دینامیک از کلاستر خارج نمایید
بدون اینکه با کمبود حافظه مواجه شوید.
این موضوع
نیز انتخابی بوده و ممکن است در شرایط
خاصی که کلاستر تحت فشار کاری بالایی قرار
دارد، به شما کمک کند. در
کنار مطالب بالا، باز هم اضافه میکنم
که امکان ایجاد یک کلاستر مبتنی بر فقط
دو دستگاه لینوکس و یک اترنت استاندارد
نیز وجود دارد. لازم
نیست که تمام کامپیوترهایی که در یک کلاستر
قرار میگیرند قوی باشند و یا مهم نیست
که دارای سختافزارهای متنوعی باشند.
هر قدرت
پردازشی میتواند به سرعت جمعی کمک کند!
شروع
کار فرایند
برپاسازی کلاسترهای لینوکس بسیار ساده
میباشد. ابتدا
باید هستههایی که OpenMosix
روی آنها
فعال شدهاند را روی گرههای کلاسترها
نصب کرده و سپس ابزارهای کاربری را روی
همه آنها نصب کرده و یک تنظیم کوچک در یک
فایل پیکربندی انجام دهیم. به
عنوان نخستین مرحله از کار، باید ابزارهای
نرمافزاری لازم را فراهم آورید.
نخستین
چیزی که به آن نیاز دارید، کد منبع هستهای
است که مایلید روی آن کار کنید.
کد منبع
هسته خود را میتوانید از http://kernel.org
دریافت نمایید.
من برای
اجرای پروژه، از هسته 2.4.23
استفاده
کردهام. در
قدم بعدی باید وصلههای هسته 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 را
از سایت
رسمی آن دریافت نمایید.
پس از اتمام
دریافت تمامی اقلام مورد نیاز (تنها
کد منبع هسته دارای حجم زیادی است و بقیه
ابزارها همگی بین ۲۰۰ تا ۳۰۰ کیلوبایت
ظرفیت دارند!) باید
تجهیز گرههای کلاستر را شروع کنید.
ابتدا لازم
است در شبکه محلی خود کامپیوترهایی را که
مایلید به عنوان گرههای کلاستر استفاده
کنید، تعیین نمایید.
من در دفتر
کار خود دو دستگاه را برای این منظور
انتخاب کردم. (تصویر
زیر)

همانطوری
که قبلا اشاره کردم، لازم نیست که گرههای
کلاستر حتما قویترین ایستگاههای کاری
روی شبکه باشند.
دستگاههای
انتخابی من دارای مشخصات زیر هستند:
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
میپردازیم.
ابتدا باید
تعیین کنید که سطح اجرایی پیشگزیده هر
یک از گرهها کدام است.
به این
منظور دستور زیر را وارد نمایید:
# 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 میتوانید
وضعیت کلی کلاستر را بررسی نمایید.
اینکه کدام
سیستمها دارای چه مقدار بار فعال هستند
و با گذاشتن بار روی یکی از آنها چه اتفاقی
خواهد افتاد و ... |