برای تهیه سرور مجازی میبایست نسبت به نیازها، سرور مجازی با Platform ای که برای Virtualization در Data Center مدنظر توجه داشته باشد. در این رابطه مهمترین دلیل را میتوان فواید و معایب Platform ها نام برد، باتوجه به اینکه کاربران برای سرور های مجازی خود بطور معمول Platform معروف Xen شرکت Citrix را مقبول میدانند بهتر است این پلتفرم را بیشتر بشناسیم. با استفاده از Xen ، شرکت ها و سازمان ها امکان پیاده سازی Server Virtualization در زیرساخت شبکه را داشته و بطور یکپارچه و بهینه سازی شده مجازی سازی را عملی می نمایند، فلذا در این مقاله به نقد و بررسی این پلتفرم میپردازیم.
دانشگاه کمبریج انگلیس در آزمایشگاه های کامپیوتری خود پروژه برنامه مجازی سازی Xen را توسعه داده است، این پروژه قابلیت ساخت چندین ماشین مجازی توسط سیستم عامل های مختلف با سخت افزار واحد را فراهم آورده است. با استفاده از این نرم افزار ، سیستم عامل ها به هسته لینوکس متصل گردیده و امکان هماهنگ سازی آنها برای هسته سیستم عامل های NetBSD/FreeBSD وجود خواهد داشت. برنامه Xen تعدادی سیستم عامل میهمان را روی سیستم عامل های خانواده یونیکس بدون اصلاح کد و ساختار هسته سیستم عامل مادر ، راه اندازی مینماید، در حال حاضر پروژه فراهم سازی Xen برای سیستم عامل سولاریس نیز از طرف شرکت های مختلف شروع شده است.
در ابتدا چندین سال Xen کد بسته تلقی می گردید که پروژه های منبع بازی مانند Bochs IA-32 Emulator و qemu در دنیای آن روز open source وجود داشت، این برنامه های شبیه سازی معماری های سخت افزاری بودند ولی کارایی و قابلیت های مناسبی نداشتند. بعد از گذشت زمان و توسعه پروژه Xen در مقایسه با پروژه های منبع باز دیگر، سازگاری و یکپارچه سازی با هسته سیستم عامل لینوکس و فراهم سازی بستری برای پشتیبانی سخت افزار سیستم های کامپیوتری مانند اینتل را تداعی کرد.
در راستای پیشرفت Xen شرکت XenSource در سال 2005 پروژه IDF یا Intel Developer Forum را منتشر نمود که سکوهای سخت افزاری مبتنی بر Intel TV را فراهم نمود و در پی آن امکان اجرای مجازی ویندوز اکس پی سرویس پک دو، در کنار لینوکس فراهم شد. در دنیای کنونی مجازی سازی تجاری VMWare توسعه دهنده سرورهای ESX جهت دسترسی به کدهای VMware ESX Server با برنامه نویسان Xen مواردی را پیگیری نموده است، این عملیات یکپارچه سازی اتصال سیستم عامل مهمان به ویندوز را نیز فراهم میسازد.
نحوه مجازیسازی بوسیله نرم افزار Xen
راهکار مجازی سازی Xen با برنامه مجازی سازی تفاوت های زیادی دارد، این برنامه از تکنیک Paravirtualization برای پیاده سازی سیستم عامل های میهمان استفاده مینماید. این قابلیت ، سیستم عامل و سخت افزار مادر را در یک سطح و ماشین های مجازی را در سطح های دیگر ایجاد میکند. با این راهکار تداخل فرآیندهای سیستم عامل و افزودن عملیات جدید به هسته سیستم عامل بدون کامپایل هسته اصلی انجام میشود و سرعت را بالاتر خواهد برد.
برنامه Xen درچهار لایه برای سیستم های سخت افزاری ، مراحل مجازی سازی را ارائه میدهد، هر لایه ring نام دارد. حال در ring شماره صفر سیستم عامل مادر و برنامه Xen اجرا میشوند، بطورسیستماتیک به این مرحله Hypervisor گفته میشود و بیشترین سطح دسترسی به کدهای سیستم عامل را میدهد. ابتدا در برنامه Xen حافظه لایه اول بازنگری شده و ماشین مجازی پایه اولیه فراخوانی میشود حال به لایه بعدی ارجاع داده میشود، سیستم عامل مهمان در لایه های ring1 و ring2 عملیات خود را انجام میدهد و برنامه های کاربردی نیز در ring3 اجرا میگردند.
جهت پیاده سازی ماشین مجازی چندین راهکار را میتوان انجام داد، توزیع های گوناگون جهت دسترسی به اینترنت از طریق فایل های chroot image استفاده میشود. فایل های chroot یک فایل Image از سیستم عامل میهمان هستند که توسط برنامه Xen گشوده می شوند. روش راه اندازی ماشین مجازی وابسته به نحوه کارکرد ماشین مجازی و امکانات آن دارد، استفاده از فناوری های LVM یکی از ساده ترین روش میباشد. در این روش نرافزار Xen جهت ایجاد ماشین های مجازی روی لایه های فیزیکی سخت افزار و میتواند بدون اضافه کردن فضای فیزیکی روی سیستم از مقدار حافظه بیشتری استفاده نماید، البته بدلیل انعطاف پذیری و سهولت این روش ، مقدار پارتیشن بدون نیاز به پارتیشن بندی مجدد راه اندازی میشود.
مجازی سازی در چندین سال اخیر اهمیت بیشتری پیدا کرده است، چرا که کاربران کامیپوتر به سکوی تک سیستم عاملی قانع نیستند. انقلاب مجازی سازی دارد به سمت و سویی حرکت میکند که از یک سخت افزار بیشترین استفاده صورت گیرد و چندین سیستم روی یک سخت افزار پیاده سازی شوند. برنامه Xen کاندیدای عینیت بخشیدن به این اهداف در سکوی سیستم عامل و نرم افزارهای متن باز است و آزاد بودن پروژه توسعه آن، موجب شده است شرکتهای کوچک و بزرگی در آن شرکت نمایند و به پیشرفت آن سرعت بیشتری بدهند. نسخه سوم این برنامه سروصدای زیادی برپا کرد و در کنفرانس LinuxWorld بوستون یکی از محوری ترین موضوعات کنفرانس بود. فکر میکنم اگر این برنامه مجازی سازی بتواند همچنان به پیشرفت و بهبود خود ادامه بدهد و همکاری های گسترده تری را با بزرگان صنعت مجازی سازی و سخت افزار آغاز کند، در آینده ای نزدیک فناوری مطرحی در دنیای مجازی سازی باشد.
اگر بحث یک نرم افزار قابل اعتماد برای مجازی سازی باشد، شک نکنید که Xen یک نرم افزار بسیار عالی و Reliable برای مجازی سازی سرورها است، با استفاده از Xen شما می توانید سرورهای مجازی یا VPS های خودتان را در یک بستر کاملاً ParaVirtual شده ایجاد کنید و تقریباً یک سرور مجازی با ویژگی های یک سرور اختصاصی راه اندازی کنید، Xen می تواند امکان این را داشته باشد که VPS را تا حدود زیادی نزدیک به Dedicated سرور کند. یک VPS در مجازی سازی Xen برای خودش یک کرنل ایزوله شده و ماژول های کرنل خاص دارد که در زمان مورد نیاز آنها را Load می کند. Xen می تواند حافظه مجازی کاملاً اختصاصی ایجاد کند، حتی فرآیند I/O و زمانبندی های اختصاصی برای VPS ایجاد نماید و محصول کاملاً قابل دلخواه سازی و به نوعی امکان ایجاد یک Dedicated Server مجازی را به ما می دهد. برای سرویس های معمولی می توان گفت در زمان استفاده از Xen تقریباً شما هیچگاه تصور نمی کنید که از یک سرور مجازی استفاده می کنید بلکه احساس شما استفاده از یک سرور کاملاً اختصاصی است.
مهمترین امکانات مجازی سازی با استفاده از Xen را می توان موارد زیر ذکر کرد:
1. دسترسی کامل root
2. پشتیبانی از لینوکس و ویندوز
3. کارایی بهتر در استفاده از جاوا
4. اختصاص منابع اختصاصی به سرورها
6. امکان دسترسی مستقیم به ماژول های کرنل Load شده لینوکس
7. فضای Swap راه اندازی میشود
8. پیکربندی بسیار قابل انعطاف
از فواید Xen میتوان استقلال کامل یک سرور مجازی از مابقی سرور های مجازی، استفاده از کرنل کامل لینوکس برای هر VPS و در نتیجه پشتیبانی از همه امکانات لینوکس، بهره وری از حافظه مجازی نوع SWAP را نام برد. درخصوص معایب Xen میبایست خاطر نشان شد که بواسطه استقلال کاملی که فراهم کرده است، نسبت به platform های دیگر مانند Virttuozzo سرعت کمتری دارد و عدم پشتیبانی از حافظه Brustable نیز مشکلی دیگر در این برنامه میباشد.