راه اندازی سرور مجازی لینوکس

راه اندازی سرور مجازی لینوکس
linux vps server راه اندازی سرور مجازی لینوکس
vps3nter

خرید وی پی ان
همزمان با افزایش زود اینترنت خدمات آنلاین، هـر روز بر اندازه پردازش سرویس دهنده ها و تعداد درخواست های فرد ان افزوده می شود. ولی حداکثر توان کاری هر سرویس دهنده اندازه ای دارد که بیشتر از آن نمی تواند به در خواست ها جواب دهد و به صورت معمول سرویس دهی نماید . برای خروج از این وضعیت یک مدیر سرویس دهنده،چندین راه حل دارد: جایگزینی سرورهایی با قدرت پردازش بیشتر یا بیشتر شدن تعداد سرویس دهنده های موجود. ولی این کار احتمال دارد هزینه بسیار زیاد بسياري را به سیـستم تحمیل نماید . به طوری که عملا اجرای آن غیرممکن خواهد بود. در این شرایط احتمال دارد برپا سازی یک سرویس دهنده مجازی بر پایه مفاهیم کلاستر تقسیم سرویس ها بین چندین سرویس دهنده، یکی از موثر ترین راهکارهایی باشد که می توان جهت بیشتر شدن قدرت سرویس دهنده به کاربست. کلاستر سازی این قابلیت را فراهم می نماید که با افزودن سرور مجازی به سیـستم ، در خواست های سرویس بین چند سرویس دهنده تقسیم شود و از وارد آمدن فشار اضافی بریک سرویس دهنده نهایتا مختل شدن سرویس دهی شبکه پیشگیری به عمل آید. در این نوشتار، به برپاسازی و پیکربندی یک سرور مجازی لینوکس در یک شبکه، که حاوی چندین سرویس دهنده مختلف، مانند سروی دهنده وب، پست الکترونیکی و FTP است نگاهي می اندازیم .

مفهوم کلاستر

کلاسترها یکی از جذاب ترین مفهوم ها ی می باشند که در بحث های پردازش موازی و سرویس دهنده بیان می شوند. به طور عام مفهوم کلاسترها به مجموعه از رایانه ها اطلاق می شود که با اشتراک قدرت پردازشی یکدیگر، توان بیشتری را برای انجام دادن امور پردازشی محوله فراهم می کنند. یک کلاستر حاوی چندین اتومبیل است که در شبکه مکانی پرسرعت به متصل شده با استفاده از پروگرام زمانبندی همموزیک سازی بین اتومبیل های شبکه، امور پردازشی را انجام می دهند .
گونه ای از این کلاسترها موسوم به load-balancing cluster وظیفه موازنه کردن ترافیک شبکه را بین اتومبیل های شبکه بر عهده دارند. هدف این نوشتار پیاده سازی چنین کلاستری است که بتواند با تقسیم کردن درخواست های سرویس ارسالی از کاربر ان شبکه بین چند سرویس دهنده ، از تراکم اندازه کاری بر روی یک سرویس دهنده بکاهد .

طرح ریزی کلاستر
کلاستر حاوی سرور مجازی مبتنی بر سیـستم علت لینوکس تعدادی سرور فیزیکی خواهد بود که با استفاده از سوئیچ با هم در رابطه می باشند . هدف شبکه، ارائه سرویس هایی مانند وب ایمیل به فرد ان است. کاربر ان از طریق یک بستر شبکه ای، مانند اینترنت، با سرور مجازی رابطه دارند . سرورهای فیزیکی می توانند بر هر سیسـتم علت ی مبتنی باشند. وظیفه سرور مجازی لینوکس ، بامصرف از آدرس های IP ، كم شدن فشار اندازه درخواست های ارسالی به یک سرور فیزیکی و تقسیم درخواست ها بین چند سرور موجود در شبکه است .
در واقع می توان گفت که سرور مجازی نقش یک رابط را بین کاربر ان شبکه سرورهای فیزیکی شبکه ایفا می نماید که در این میان، امکان همزمانی پردازش های زیادتری از درخواست ها با استفاده از یک آدرس IP فراهم می شود . ی که سرور مجازی یک درخواست را از کاربر دریافت می نماید ، براساس الگوریتم زمانبندی ،درخواست فرد را به سرور فیزیکی مربوطه تحویل می دهد. پس سرور فیزیکی داده های مورد تقاضا را برای سرور مجازی به درخواست فرد جواب خواهد داد. در این میان، سرویس دهنده حقیقی همان سرورهای فیزیکی هستند که آدرس IP آن ها توسط سرور مجازی تغییر یافته است. سرور مجازی از دو رابط شبکه استفاده می نماید : رابط برای برقراری رابطه با فرد ان دسترسی کاربر ان به شبکه ، رابط دوم جهت رابطه با شبکه محلی سرورهای فیزیکی .راه اندازی یک کلاستر با این ساختار، قابلیت هرگونه تغییر، حذف یا اضافه کردن سرورهای فیزیکی را جهت مدیر شبکه فراهم می نماید .

مرمت هسته لینوکس
لینوکس حاوی هسته ورژن ۲٫۴٫۲۸ و نسخه های بالاتر، از کلاسترهای سرور مجازی یا LVS پشتیبانی می کنند. پس اگر از نسخه های پایین تر مصرف می شود، بایستی با اضافه کردن ماجول LVS مجددا هسته را کامپایل و مرمت بکنید .این بسته به صورت رایگان از نشانی http://www.linuxvirtualserver.org قابل دریافت است . چون در وبسایت برای نسخه های مختلف هسته، بسته های مختلف ی ارائه شده ، ضروری است شماره بسته متناسب با ورژن هسته لینوکس سیـستم نقد شود. بسته دریافتی از سایت را در شاخه usr/src/ کپی بکنید دستورات زیر را اجرا نمایید :

×#cd/usr/scr/linux
#gunzip ../linux-2.4.21-ipvs-1.0.10.patch.gz
#patch-p1< ../linux-2.4.21-ipvs-1.0.10.patch

دستور خط اول ، موقعیت خط فرمان را به زیرشاخه ×linux منتقل می نماید . در خط دوم ، با استفاده از وسائل GUNZIP ، بسته دریافت شده از سایت پروژه از حالت جمع و جور خارج شده و در خط سوم این بسته، به هسته اضافه شده است . بعد از اضافه شده است. بعد از اضافه شدن بسته به هسته، بایستی مجددا هسته کامپایل شود. به مفهوم در دایرکتوری×usr/src/linux دستورات زیر اجرا شوند :

#make mrproper
#make oldconfig
#make menuconfig

با اجرای دستور آخر، منو با چندین زیرشاخه اجرا خواهدشد. برای فعال کردن سرور مجازی از شاخه Networking Options ، گزینه IP:Virtual Server Configuration را گزینش نمایید و آدرس سرور مجازی را تنظیم بکنید :

virtual server support( EXPERIMENTAL)
]Ipvirtual server debugging×[
(۱۶) IPVS connection table size(the Nith power of2)
—IPVS scheduler
round-robin scheduling
< M >weighted round-robin scheduling
< M >least-connection scheduling scheduling
< M >weighted least-connection scheduling
< M >locality-based least-connection scheduling
< M >locality-based least-connection with replication scheduling
< M >destination hashing scheduling
< M >source hashing scheduling
< M >shortest expected delay scheduling
< M >never queue scheduling
—IPVS application helper
FTP protocol helper

قبل از خروج از menuconfig ، بایستی تغییرات ذخیره شوند. برای ساختن همه ماجول های کرنل، دستور زیر اجرا می شود :

#make dep&&make bzlmage &&make modules && make modulesinstall

بعد از اجرای دستور بالا، زیر شاخه نو ی به نام bzlmage در دایرکتوری /arch/i386/boot/×usr/src/linux تولید و ساخته می شود و عکس هسته کامپایل شده در این شاخه قرار می گیرد. جهت اتمام پیکربندی هسته، می بایست این تصویر در شاخهboot/کپی شده و فایل های پیکربندی بوت لودرهای سیسـتم نیز ظهور رسانی شوند .

نصب وسائل IPT و IPVsadm
در گام بعدی ، بعد از مرمت هسته لینوکس، برای پیکربندی سرور مجازی باید بسته های IPTable و IPVsadm نصب شوند . IPTable وسائل ی برای راه اندازی ساختار یک فایروال مبتنی بر فیلتر بسته های IPV4 و NAT در هسته لینوکس است. بااستفاده از این وسائل ، آدرس های IPهای مجازی جهت سرورهای فیزیکی تعریف می شوند . IPVsadm نیز یک وسائل برای مدیریت سرور مجازی لینوکس، تنظیم الگوریتم زمانبندی تقسیم درخواست ها قوانین ارسال درخواست های کاربر ان به سرورهای فیزیکی است. بسته نصب IPTable به همراه اکثر توزیع ها ارائه می شود می توان از طریق برنامـه مدیریت بسته های توزیع لینوکس به راحتی آن را نصب کرد. بسته rpm نصب وسائل IPVsadm نیز از سایت پروژه LVS قابل دریافت است. بعد از نصب این دو وسائل ، لازم است که گزینه IP forwarding برای سرور لینوکس فعال شود. برای این منظور، فایل etc/sysctl.conf/ را در یک ویرایشگر متنی بازکرده و مورد زیر را ارزشمند ۱ میزان دهی بکنید :

net.ipv4.ipforward=1

هم اکنون کافی است با مصرف از دستور start ، سرویس IPTable برای ارسال بسته های IP سرورهای فیزیکی به آدرس کاربر ان شبکه فعال شود :

service iptables start

فعال کردن IP masquerading
جهت تنظیم آدرس IP سرورهای فیزیکی در سرور مجازی لینوکس، می بایست به این نکته توجه شود که eth0 جهت کارت شبکه ارتباطی با شبکه اینترنت و eth1 جهت کارت شبکه مکانی تعریف شوند. در ادامه برروی سرور مجازی، دستورات زیر اجرا شوند :

#iptables-t nat-P POSTROUTING DROP
#iptables-t nat-A POSTROUTING-o eth0-j MASQUERDE

در خط اول ، با تعریف قانون برای IPTables ، سطح خارجی امنیتی برای شبکه تعریف می شود . DROP این اختیار را به IRTables می دهد که هرگونه بسته IP که از ruleهای تعریفی تبعیت نمی نماید ، از شبکه حذف شود و در نتیجه هر آدرس IP جعلی یا ساختگی را نمی توان برای شبکه تنظیم کرد. خط دوم، جدول NAT را برای آدرس دهی شبکه داخلی بین سرورهای فیزیکی با سرور مجازی و کارت شبکه eth0 فعال می نماید .

پیکربندی سرور مجازی لینوکس با IPVsadm
در گام بعدی، با استفاده از وسائل IPVsadm سرور مجازی تنظیم می شود . برای شروع می بایست به هریک از اتومبیل های شبکه یک آدرس IP اختصاص داده شود . جهت سرورهای فیزیکی شبکه محلی، بازه آدرس دهی مانند ۱۰٫۰٫۰٫۰ تا۲۵۵٫۲۵۵٫۲۵۵٫۰ انتخاب شده از یک شماره Subnet Musk استفاده می شود. از سرور مجازی به عنوان دروازه جهت سرورهای فیزیکی مصرف می شود. اتومبیل های کلاینت با آدرس های IP اختصاص یافته بوسیله سرویس دهنده اینترنت با سرور مجازی در رابطه خواهند بود. یکی از دو سرور یک سرویس دهنده HTTP است که جهت آن آدرس ۱۰٫۰٫۰٫۲ تعریف می شود سرور دوم که سرویس دهنده FTP است، با ۱۰٫۰٫۰٫۳ آدرس دهی می شود. آدرس ۱۰.۰٫۰٫۱ به عنوان پیش فرض دروازه برای رابطه با سرور مجازی انتخاب می شود برای رابطه سرور مجازی انتخاب می شود برای رابطه سرور مجازی با شبکه اینترنت آدرس IP عمومی ۶۱٫۱۶٫۱۳۰٫۱۰۰ منظور می گردد. هم اکنون با وسائل IPVsadm ، آدرس های تخصیص داده شده برای سرور مجازی تعریف می شوند :

#ipvsadm-A-t 161.16130.100:80-s wlc
#ipvsadm-A-161.16.130.100:21-s wrr

در فرامین بالا wlc و wrr دو الگوریتم مدیریت ترافیک سرور مجازی جهت پورت های ۸۰ و ۲۱ هستند . غیر از این دو، الگوریتم های زمانبندی قابل تعریف دیگری نیز وجود دارد که جهت آشنایی با آن ها می توانید به صفحات man این پروگرام مراجعه بکنید . برای تعریف سرورهای فیزیکی ، دستورات بالا به صورت زیر اجرا می شوند :

#ipvsadm-a-t 161.16130.100:80-r 10.0.0.3:80-m
#ipvsadm-a-t 161.16.130.100:80-r 10.0.0.2:80-m-w2
#ipvsadm-a-t 161.16.130.100:21-r 10.0.0.3:21-m

اما همیشه ترافیک پورت ۸۰ بیشتر از ترافیک پورت FTP خواهدبود. بدین خاطر آدرس IP شماره ۱۰٫۰٫۰٫۳ برای پورت ۸۰ نیز تعریف شده است. در این حالت، سرور مجازی با مصرف از الگوریتم های زمانبندی خود، می تواند بار ترافیکی این پورت را بر روی دو سرور فیزیکی تقسیم نماید ، با دادن اهمیت دو بوسیله آرگومان m- به آدرس ۱۰٫۰٫۰۲، سرور مجازی خواهد فهمید که این پورت بر روی آدرس دیگری هم تعریف شده است .

نتیجه گیری
جهت تست درستی عملکرد شبکه، می توان با مصرف از اتومبیل های کلاینت، درخواست هایی را برای سرور مجازی فرستاد نتیجه را دید . اگر به صورت همزمان چندین درخواست را از چند اتومبیل کلاینت ارسال بکنید ، خواهید دید برخي درخواست ها به وسیله سرویس دهنده FTP پردازش شده اند آدرس IP مفرق ی بین درخواست های رسیده برروی اتومبیل های کلاینت وجود دارد. راه اندازی سرور مجازی با معین ات بالا جوابگوی یک کلاستر با تعداد محدودی سرویس دهنده است. برای شبکه هایی که از تعداد زیاد ی سرویس دهنده استفاده می کنند، به راه اندازی چند سرور مجازی، تنظیمات پیشرفته جدول NAT ، و سرویس DNS نیاز خواهید داشت .

برچسب ها

ممکن است به این موارد نیز علاقه مند باشید:

0 دیدگاه در “راه اندازی سرور مجازی لینوکس”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سوپروب close
بک لینک