منبع : مجله شبکه
شماره 59
همزمان با رشد سریع اینترنت و خدمات آنلاین، هر روز بر حجم پردازش سرویس دهنده ها و تعداد درخواست های کاربران افزوده می شود . اما حداکثر توان کاری هر سرویس دهنده اندازه ای دارد که بیشتر از آن نمی تواند به در خواست ها جواب دهد و به صورت معمول سرویس دهی کند . برای خروج از این وضعیت یک مدیر سرویس دهنده، چندین راه حل دارد: جایگزینی سرورهایی با قدرت پردازش بیشتر و یا افزایش تعداد سرویس دهنده های موجود . اما این کار شاید هزینه بسیار زیادی را به سیستم تحمیل کند . به طوری که عملا اجرای آن غیرممکن خواهد بود . در این شرایط ، شاید برپا سازی یک سرویس دهنده مجازی بر پایه مفاهیم کلاستر و تقسیم سرویس ها میان چندین سرویس دهنده، یکی از مؤثرترین راهکارهایی باشد که می توان برای افزایش قدرت سرویس دهنده به کاربست . کلاستر سازی این قابلیت را فراهم می کند که با افزودن یک سرور مجازی به سیستم ، در خواست های سرویس میان چند سرویس دهنده تقسیم شود و از وارد آمدن فشار اضافی بریک سرویس دهنده و نهایتا مختل شدن سرویس دهی شبکه جلوگیری به عمل آید . در این نوشتار، به برپاسازی و پیکربندی یک سرور مجازی لینوکس در یک شبکه، که شامل چندین سرویس دهنده مختلف، مانند سروی دهنده وب، ایمیل و FTP است نگاهی می اندازیم .
مفهوم کلاستر
کلاسترها یکی از جذاب ترین مفاهیمی هستند که در بحث های پردازش موازی و سرویس دهنده مطرح می شوند . به طور عام ، مفهوم کلاسترها به یک مجموعه از کامپیوترها اطلاق می شود که با اشتراک قدرت پردازشی یکدیگر، توان بیشتری را برای انجام دادن امور پردازشی محوله فراهم می کنند . یک کلاستر شامل چندین ماشین است که در یک شبکه محلی پرسرعت به هم متصل شده و با استفاده از یک برنامه زمانبندی و هماهنگ سازی میان ماشین های شبکه، امور پردازشی را انجام می دهند .
گونه ای از این کلاسترها موسوم به load-BALANCING Cluster وظیفه موازنه کردن ترافیک شبکه را میان ماشین های شبکه بر عهده دارند . هدف این نوشتار نیز پیاده سازی چنین کلاستری است که بتواند با تقسیم کردن درخواست های سرویس ارسالی از کاربران یک شبکه میان چند سرویس دهنده ، از تراکم حجم کاری بر روی یک سرویس دهنده بکاهد .
طرح ریزی کلاستر
کلاستر شامل یک سرور مجازی مبتنی بر سیستم عامل لینوکس و تعدادی سرور فیزیکی خواهد بود که با استفاده از یک سوئیچ ، با هم در ارتباط هستند . هدف شبکه، ارائه سرویس هایی مانند وب و ایمیل به کاربران است . کاربران از طریق یک بستر شبکه ای، مانند اینترنت، با سرور مجازی ارتباط دارند . سرورهای فیزیکی می توانند بر هر سیستم عاملی مبتنی باشند . وظیفه سرور مجازی لینوکس ، بااستفاده از آدرس های ip، کاهش فشار حجم درخواست های ارسالی به یک سرور فیزیکی و تقسیم درخواست ها میان چند سرور موجود در شبکه است .
در واقع می توان گفت که سرور مجازی ، نقش یک رابط را میان کاربران شبکه و سرورهای فیزیکی شبکه ایفا می کند که در این میان، امکان همزمانی پردازش های بیشتری از درخواست ها با استفاده از یک آدرس ip فراهم می شود . هنگامی که سرور مجازی یک درخواست را از کاربر دریافت می کند، براساس یک الگوریتم زمانبندی ، درخواست کاربر را به سرور فیزیکی مربوطه تحویل می دهد . سپس سرور فیزیکی داده های مورد تقاضا را برای سرور مجازی به درخواست کاربر جواب خواهد داد . در این میان، سرویس دهنده حقیقی همان سرورهای فیزیکی هستند که آدرس ip آن ها توسط سرور مجازی تغییر یافته است . سرور مجازی از دو رابط شبکه استفاده می کند: یک رابط برای برقراری ارتباط با کاربران و دسترسی کاربران به شبکه ، و رابط دوم جهت ارتباط با شبکه محلی و سرورهای فیزیکی . راه اندازی یک کلاستر با این ساختار، قابلیت هرگونه تغییر، حذف یا افزودن سرورهای فیزیکی را برای مدیر شبکه فراهم می کند .
بازسازی هسته لینوکس
لینوکس شامل هسته نسخه 2 . 4 . 28 و نسخه های بالاتر، از کلاسترهای سرور مجازی یا LVS پشتیبانی می کنند . پس اگر از نسخه های پایین تر استفاده می شود، باید با اضافه کردن ماجول LVS مجددا هسته را کامپایل و بازسازی کنید . این بسته به صورت رایگان از نشانی HTTP://www . linuxvirtualserver . org قابل دریافت است . چون در سایت برای نسخه های مختلف هسته، بسته های مختلفی ارائه شده ، لازم است شماره بسته متناسب با نسخه هسته لینوکس سیستم بررسی شود . بسته دریافتی از سایت را در شاخه usr/Src/ کپی کنید و دستورات زیر را اجرا نمایید:
×#cd/usr/SCR/linux
#gunzip . . /linux-2 . 4 . 21-ipvs-1 . 0 . 10
منبع :شبکه فن آوری اطلاعات ایران تاریخ : 14 اسفند 1384 شاخه : نرم افزار

