فناوری نوین مجازی سازی
پنجشنبه, تیر ۳۱, ۱۳۸۹ ۱۷:۵۳
مقدمه
مفهوم فناوری نوین مجازیسازی مفهوم تازهای نیست. این مفهوم در دهه ۶۰، هنگامی که از Mainframe ها استفاده میشد، به وجود آمد. با پیشرفتهای دنیای دیجیتال و خصوصا کامپیوتر و شبکههای کامپیوتری، یکی از نیازهای کاربران و مدیران دسترسی آسان و سریع به منابع و سرویسها با سرعت بالا بود. با توجه به گسترش ارتباطات و بالارفتن نرخ ارسال اطلاعات مشکل کمبود سرعت انتقال اطلاعات در حال بهبود یافتن بود. بعد از بالا رفتن توان پردازشیMainframeها، بیشتر مدیران به سمت استفاده ازMainframe برای سرویسدادن به کاربران در زمان مناسب و با هزینه پایین رفتند. در راهبرد قدیمی،Mainframe را به تعدادی ماشین مجازی به صورت منطقی تقسیم میکردند(شکل ۱) و برای پردازش کارهای کاربران هر کدام از این ماشینهای مجازی را به کارهای کاربران تخصیص میدادند. در صورت بروز مشکل برای یک ماشین مجازی، ماشینهای دیگر تحت تاثیر قرار نمیگرفتند.
شکل ۱-تقسیم یک Mainframe به ماشینهای مجازی
بعد از ظهور نسل جدید سرورها -که دارای توان بالا و قیمت پایین بودند- رویکرد قبلی به تدریج کمرنگ شد. با توجه به افزایش سرویسهای جدید در شبکهها، و نیاز هرکدام از این سرویسها به سختافزار و سیستمعامل اختصاصی، راهبرد جدید به “یک سرور یک سرویس” تغییر پیدا کرد. این رویکرد در دهه ۹۰ و اوایل دهه جاری مناسب بود، اما بعد از اینکه سرورها دارای سختافزارهایی با توان بالا شدند، این رویکرد نیاز به بازنگری پیدا کرد. بعد از مانیتور کردن منابع استفاده شده در سرورها مشاهده شد که در تعداد کثیری از سرورها میزان استفاده از منابع کمتر از ۲۰% می باشد. این رویه باعث بالا رفتن هزینه و مصرف انرژی و در عین حال کاهش بهرهوری سخت افزار میشد. با توجه به این مسائل در راهبردهای جدید هدف کاهش هزینه، بالابردن بهرهوری سخت افزار و مدیریت آسانتر و کاراتر سرورها بود. در (شکل ۲) این مساله نشان داده شده است. بنابراین این مسائل مدیران و متخصصان شبکه را به سمت قرار دادن سرورهای مختلف بر روی یک سختافزار قدرتمند سوق داد. در راهبرد جدید هدف قراردادن سرویسهای متنوع بر روی یک سخت افزار به صورت متمرکز و با هزینه کمتر بود تا از این طریق مدیریت آن آسانتر، کم هزینهتر ، فرایندهای نگهداری و پشتیبانگیری راحتتر، میزان در دسترس بودن و قابلیت اعتماد آن بالاتر باشد.


شکل ۲- روند صعودی در روش قبلی در مقایسه با راهبرد جدید
مجازیسازی را انتزاع منابع کامپیوتر تعریف میکنند. این انتزاع میتواند موارد زیر باشد. :
- پلتفرم: سیستم عامل را از سختافزار جدا میکند.
- Desktop: یک Desktop را به همراه OS، کاربردها و منابع سخت افزاری آن شبیهسازی میکند.
- کاربردها: کاربردها را به صورت مستقل از سیستم عامل ایجاد میکند.
- منابع: شبکه ،I/O ،حافظه، منابع ذخیرهسازی و حافظه مجازی
در این مقاله، مجازیسازی به مفهوم جداسازی لایه سخت افزار از سیستم عامل بکار رفته است. در این مفهوم با توجه به جداسازی صورت گرفته، یک سیستم عامل به راحتی میتواند بر روی سخت افزارهای مختلف اجرا شود و در مقابل نیز بر روی یک سخت افزار، سیستم عامل های مختلف میتوانند اجرا شوند.. در شکل ۳ تفاوت یک سیستم واقعی -که در آن یک سیستم عامل به همراه کاربردها بر روی یک سخت افزار خاص قرار گرفته است- در مقابل ماشینهای مجازی -که هر کدام دارای سیستمعامل مختلف بوده و دارای محیط اختصاصی میباشند- و بر روی یک سختافزار وجود دارند، نشان داده شده است. همانطور که در شکل پیداست، هدف ارائه یک دید یکپارچه از سخت افزار به سیستمعاملها است.


شکل ۳- مقایسه سیستم واقعی و مجازی
با توجه به جذابیتهای این تکنولوژی برای کاربران و مدیران شبکهها، لازم است ابعاد این تکنولوژی به درستی درک شده و پیاده سازی آن با دقت و صحت صورت گیرد تا مزایا و نتایج قابل انتظار آن حاصل شود. در بین محصولات مجازیسازی محصولات شرکت VMware در مقابل شرکتهای رقیب اصلی – Microsoft،Citrix و IBM – بیشترین اقبال را بین استفادهکنندگان از مجازیسازی بدست آورده است. محصولاتی که VMware ارائه کرده دارای امکانات بیشتر و کارایی بالاتر بودهاند، بنابراین ما برای معرفی از محصولات شرکت VMware استفاده کردهایم. بر اساس آمار، درصد استفاده از محصولات این شرکت برای مجازیسازی بیش از ۷۰% میباشد.

شکل ۴ – مقایسه سهم هر کدام از تولیدکنندگان نرمافزارهای مجازی سازی از بازار
اگر به جای سرورها، مجازی سازی را برای Desktopهای کاربران انجام دهیم به آن Desktop Virtualization یا VDI گفته میشود. تفاوت اساسی مجازیسازی سرورها با Desktopها در تعداد زیادتر Desktopها و منابع کمتر مورد نیاز آن به نسبت سرورها و خود تفاوت ذاتی کار یک سرور و یک Desktop است. به هر کدام از Desktopها یا سرورها یک Virtual Machine یا VM گفته میشود. علت اطلاق ماشین مجازی با آن داشتن تمام منابع نرمافزاری و سختافزاری یک سیستم فیزیکی مستقل است.
شرکت های مختلفی در ایران در حال استفاده از این تکنولوژی هستند. اکثر شرکت هایی که خدمات Data Center ارائه میکنند برای مثال دادهپردازی ایران یا پارسآنلاین این تکنولوژی را پیاده کردهاند. یکی از شرکتهای فعال در این زمینه شرکت همکاران سیستم است که در این عرصه جزء یکی از پیشتازان است.
جزئیات تکنولوژی مجازیسازی
برای مجازیسازی از یک نرمافزار خاص جهت جداسازی منابع فیزیکی استفاده میشود تا یک دید یکپارچه از سختافزار به VM داده شود و به نوعی تنوع سختافزاری از دید VMها پنهان شود. لایه جداسازی امکان داشتن چند VM بر روی هر سخت افزار فیزیکی را میدهد. هریک از VMها میتوانند دارای سیستمعامل و محیط خاص خود باشند و آن را اجرا کنند. اگر راهاندازی VM در لایه جداسازی به درستی صورت گیرد، سیستمعاملی که روی VM اجرا میشود، درست مثل اینکه روی خود سخت افزار نصب شده باشد، کار میکند. سیستمعامل میزبان (ESX Server)در لایه اول قرار دارد(در شکل ۱ بخش سبز رنگ است) و مستقیما بر روی سختافزار فیزیکی نصب میشود. سیسستمعاملهای میهمان(guest)، تحت کنترل نرمافزار مجازیسازی و روی VMهای اختصاصی خودشان اجرا میشوند. سیستمعاملهای میهمان از طریق لایه مجازیسازی به منابع ماشین فیزیکی (کامپیوتر یا سرور اصلی) دسترسی دارند.
بخش کلیدی در ساختن لایه جداسازی، معمولا Hypervisorاست. این قسمت از نرمافزار مسئول بهاشتراک گذاشتن منابع فیزیکی کامپیوتر بین VMهایی است که روی آن اجرا میشوند. نوشتن برنامه Hypervisor کار سادهای نیست. چون این برنامه باید طوری بهسیستمعامل میهمان وانمود کند که انگار کنترل سخت افزار واقعی سیستم را در دست دارد. برای انجام این کار،VMM در سطح پردازنده، یعنی حلقه صفر، کار میکند. سیستمعامل میهمان یک سطح بالاتر و در حلقه یک اجرا میشود. اکثر سیستمعاملها برنامههای کاربردی را در حلقه سه اجرا میکنند. در این سطح حفاظتی، برنامههای کاربردی مجوزهای محدودی دارند و نمیتوانند کارهایی را انجام دهند که به از کارافتادن سیستمعامل یا خطرات امنیتی منجر میشوند. اجراکردن OS در حلقه یک باعث میشود Hypervisor عملیات مختلفی را که سیستمعامل میخواهد انجام دهد (مثلا دسترسی بهحافظه)، تشخیص دهد وخودش آنها را انجام دهد.
بخش مهم دیگر در ساختن VM، جداسازی لایه سختافزار است. نرمافزار VM باید برای OS میهمان، دستگاهها و سختافزارهای مختلف، نظیر چیپ ست IDE، کارت شبکه و کارت اسکازی را بهطور مجازی شبیهسازی کند. هر یک از نرمافزارهای VM، سختافزارهای خاصی را شبیهسازی میکنند در ضمن، دستورات و دادههایی که سیستمعامل میهمان بهاین دستگاه مجازی ارسال میکند، از طریق نرمافزار VM برای سختافزار فیزیکی موجود ترجمه و فرستاده میشود.
با استفاده از دستگاههای سختافزار مجازی، این امکان به وجود میآید که سیستمعامل میهمان را روی کامپیوتری با سختافزار کاملا متفاوت کپی کنیم و بدون مشکل بهکار خود ادامه دهیم. Hypervisor مسئول فرستادن دادهها و دستورات از دستگاه مجازی بهدستگاه فیزیکی است. برای مثال، محصولات VM مایکروسافت، کارت شبکه Intel 21141 و محصولات VMware هم کارت AMD PCnet را شبیهسازی میکنند.
برای مجازیسازی نیاز به داشتن یک زیر ساخت است. در شکل ۵ زیر ساخت لازم برای مجازی سازی به کمک محصولات شرکت VMware نشان داده شده است. همانطور که در شکل پیداست، در سه لایه پایین با سخت افزارها سروکار داریم. در این بخش باید سرور، شبکه ارتباطی و حافظه لازم به همراه نرم افزارهای شرکت VMware خریداری شود. بدون داشتن سرورهای سختافزاری مناسب ، شبکه سرعت بالا و حافظه ای با ظرفیت و سرعت بالا عملا نمی توان از قابلیتهای این تکنولوژی بهره برد. بعد از نصب سیستم عامل ESX Server بر روی سرورها میتوان به کمک یک رابط کاربر(بخش سبز رنگ) مدیریت بقیه مراحل ایجاد زیرساخت را انجام داد. در قسمت خاکستری رنگ سروریسهایی که این زیرساخت ارائه می کند نشان داده شده است. برای مثال از VMotion برای انتقال یک سرویس در حال اجرا از روی یک سرور به سرور دیگر می توان استفاده کرد.

شکل ۵ – زیر ساخت مجازی سازی برایمحصولات شرکت VMWare
پیادهسازی سرورها به وسیله VMware ESX Server نه تنها بودجه یک سازمان را حفظ مینماید، بلکه محیطی به مراتب ایمنتر و مناسبتر را فراهم میکند و زمان کمتری را برای رفع اشکالات نسبت به سرورهای واقعی نیاز دارد. با توجه به اینکه هزینههای ارتقا، نگهداری و رفع اشکال سیستمها و سرورها بالا بوده و هر سیستم بعد از مدتی کارکردن مستهلک شده و نیاز به تعویض یا ارتقا دارند بنابراین یکی از مسائل مهم در مدیریت شبکهها هزینههای نگهداری است. در راهبرد جدید تمام اطلاعات در مراکز داده نگهداری میشود و با توجه به اینکه امروزه سختافزارهایی استفاده میشود که عمر بالایی دارند و اغلب نیازی به ارتقا نداشته و هزینه پشتیبانی آن هم به مراتب کمتر میباشد بنابراین سیستم های جدید دارای امنیت بالاتر، هزینه پایینتر و قابلیت دسترسی راحتتری هستند. لازم به ذکر است مدیریت این سیستمها بسیار آسانتر است و فرایندهای ایجاد، نگهداری و حذف به راحتی و از طریق یک رابط کاربر و تحت وب قابل انجام است. دسترسی آسان از عواملی تاثیرگذار بر گرایش به سوی این راهبرد جدید بوده است. در تمام نقاط داخل شبکه سازمان، مدیران براحتی میتوانند به سیستمها بصورت امن دسترسی داشته باشند. مجازیسازی شرکتها را قادر میسازد تا به ازای سخت افزار موجود از آنها استفاده بهینه شده و بازدهی سرورها افزایش یافته و کارایی سخت افزار موجود را از ۵ تا ۷۰ درصد افزایش دهند. با استفاده از VMware ESX قادر به ایجاد دیتا سنتر های اتوماتیک و داینامیک خواهید بود که این Data Center ها دارای کارایی، توسعه پذیری و قابلیت اعتماد بالایی خواهند بود. با استفاده از این برنامهها میتوانید از یک سرور برای چند کاربرد مختلف استفاده کنید و یا کامپیوتری با چند سیستمعامل کاملا مستقل داشته باشید و از آن برای تست نرمافزار و یا دادن سرویسهای مختلف استفاده کنید.
سوالی که اغلب مطرح می شود این است که یک برنامه تحت چه شرایطی نباید بر روی سرور مجازی قرار گیرد؟ یکی از معیارهای اصلی ما نیاز یک برنامه به پردازشگر است. اگر برنامه برای مدت طولانی به پردازشگر نیاز داشته باشد پس برای سرور فیزیکی مناسب است. بنابراین اگر در یک بازه زمانی طولانی میزان استفاده از پردزاشگر بیشتر از ۸۰ درصد باشد در اینصورت این برنامه مناسب استفاده در محیط مجازی نخواهد بود و برنامه به یک پردازشگر اختصاصی نیاز دارد. آیا یک خط مبنا برای هر برنامه انتخاب میشود یا یک خط مبنا برای تمام برنامهها؟ امروزه هر برنامه جدید مورد آزمایش قرار میگیرد. پردازشگر مانیتور میشود و سپس تعیین میشود که برنامه حذف شود یا بماند..
دستاوردها و مزایای مجازیسازی
تکنولوژیهای مجازیسازی راه و روش کسبوکار و تفکر ما را بهبود بخشیدهاند. داشتن یک سرور قدرتمند و اجرای مجموعه مختلفی از سرویسها بر روی آن و یا داشتن مجموعه ای از سرورهای ارزان و بهرهوری حداکثری از منابع آن یکی از علل اصلی گرایش به سمت مفهوم مجازیسازی بوده است. مجازیسازی تکنولوژی جدیدی است که هر مدیر شبکهای و هر کاربر کامپیوتری میتواند از مزایای آن بهرمند شود. کاربران متعدد و شرکت های مختلفی در سراسر جهان از راهحلهای مجازیسازی VMware به عنوان یک راه حل مفید و سودمند برای مدیریت IT در راستای کاهش هزینه، افزایش کارایی، انعطاف پذیری و بهرهوری از سخت افزارها در سازمانهای خود، استفاده میکنند. به طور کلی مزایای مجازیسازی را میتوان به صورت زیر دسته بندی کرد:
- یکپاچهسازی سرورها و بهینهسازی زیرساخت: یکی از بزرگترین مشکلات سازمانهای بزرگ تهیه و نگهداری سختافزار کاربران است. این مساله وقتی سازمانی به صورت پراکنده باشد بسیار بحرانیتر خواهد شد زیرا فرایندهای ارتقا ، تعمیر و به روزرسانی بسیار وقتگیر است. مجازیسازی امکان بهرهوری حداکثری از منابع را با بهرهگیری از تمام منابع و شکستن سنت” یک سرور برای یک کاربرد “، میتوان از منابع به صورت بهینه استفاده کند.
- کاهش هزینه زیرساخت فیزیکی: با مجازیسازی تعداد سرورها و سختافزارهای مرتبط با آن در دیتاسنترها به مقدار قابل ملاحظهای کاهش مییابد. هر چه تعداد سرورها کمتر باشد، باعث کاهش فضای مورد نیاز ، تجهیزات برقی و تهویه مطبوع خواهد شد که هر کدام به نوبه خود تاثیر فزایندهای درکاهش هزینه ها خواهند داشت.
- بهبود قدرت پاسخگویی و انعطافپذیری اعمال: مجازیسازی یک روش جدید مدیریت زیرساخت در راستای کمک به مدیرانIT است تا با کاهش اعمال تکراری مانند پیکرهبندی، مانتیتورینگ، نگهداری و provisioning درصرفهجویی زمان این مدیران نقش بسزایی داشته باشد.
- بالا بردن میزان در دسترس بودن کاربردها و بهبود دوام کسب و کار : از بین بردن میزان زمانهای downtime Planned و بازیابی سریع در هنگام بروز خرابیهای پیشبینی نشده و قابلیت پشتیبانگیری امن و انتقال تمام محیطهای مجازی بدون وقفه در سرویس است.
- مدیریت و امنیت بهتر: توانایی بکارگیری، مدیریت و مانیتور کردن محیطهای Desktop به صورت امن که قابل اجرا بر روی هر سیستم کامپیوتر میباشد و کاربران نهایی میتوانند به صورت محلی یا از راه دور با یا بدون ارتباط شبکهای استفاده کنند. در صورت خرابی و بروز مشکل برای یک سیستم بلافاصله قابل جایگزینی هستند و دادههای شخصی هر شخص را هم میتوان به صورت جدا از خود سیستم مجازی ذخیره کرد.
- ارتقاء و بروزرسانی آسان : در صورت کم بودن منابع سختافزاری تخصیصیافته به یک ماشین به راحتی میتوان به منابع ماشین اضافه کرد. برای به روز رسانی به راحتی میتوان سیستمهای متعددی را بدون نیاز به انتقالات زیاد، به روز رسانی کرد.
- امکان حمایت از Remote Developer: برای شرکتهایی که با مشتریانی به صورت برونسپاری کار می کنند، مساله امنیت دادههای آن بسیار مهم است. با این تکنولوژی به راحتی داده ها به صورت امن در حافظه های داخل سازمان نگهداری خواهد شد.
مزایای مطرح شده تنها بخشی از قضیه است. در کنار مزایای مطرح شده هر روش یا تکنولوژی جدیدی دارای معایبی خواهد بود. عمده معایبی آن عبارتند از:
- نیاز به بستر مجازی سازی و بستر شبکه مناسب
- نیاز به سخت افزار گران(کلاسهای سرور قوی) و SAN
- نیاز به افراد خبره جهت راه اندازی و نگهداری VI
لازم به ذکر است تلاشهای زیادی در راستای بهبود کارایی این تکنولوژی در حال انجام است. شرکتها سازنده تجهیزات شبکه مانند سیسکو وHP در حال بالابردن میزان حمایت تجهیزات تولیدی خود از این تکنولوژی جدید اند. برای مثال یکی از تولیدات اخیر سوییچهای کلاسهای Cisco Nexus 1000V میباشد که محصول همکاری دو شرکت است.
آینده این تکنولوژی
نرخ رشد ارتباطات سیار در حال بهبود است و در کنار آن محاسبات ابری یکی دیگر از مباحث جذاب و در حال رشد شبکههای کامپیوتری است. با توجه به این مسائل و مزایای مجازی سازی در آینده اکثر سرویسها بر روی سخت افزارهای قوی و با قابلیت اطمینان بالا و بصورت مجازیسازی شده عرضه خواهند شد. سرویسهای این تکنولوژی هنوز نیاز به بهبود دارد و شرکتهای سختافزاری در حال بالابردن میزان حمایت محصولات خود از مجازیسازی هستند.
موید این مطلب، محصولات شرکت سیسکو و HP و حمایت بزرگان عرصه IT از مجازیسازی است. محصول جدید شرکت VMware که در آوریل ۲۰۰۹ با نام VSphere ارائه شد، تاییدی بر این ادعاست. شرکت HP در ۲۱ آوریل سال جاری اعلام حمایت از محصول جدید در سرورهای HP Proliant و BladeSystem G6 کرد. این محصول جدید باعث ایجاد تحولی شگرف در بازار شد و این امید را زنده نگه داشت که آینده به سوی مجازیسازی پیش خواهد رفت. در این محصول سرویسهای مختلف به کاربران بدون نیاز به نصب نرمافزارهای مختلف بر روی سیستمهای آنها قابل ارائه است.
به طور خلاصه می توان گفت : برای مجازیسازی ، نویدهایی در رابطه با صرفهجویی در سختافزارها و کاهش در تعداد و تنوع سرویس دهنده ها میدهد. با کاربردی شدن فناوری محاسبات ابری، سرویس دهنده ها به کلی از این معادله خارج میشوند. سازمانها فضای مورد نیاز برای ذخیره اطلاعاتشان را روی سرویس دهنده های مجازی اجاره میکنند، از طریق اینترنت به آنها دسترسی دارند و از راه دور پردازشهای لازم را با استفاده از پردازشگرهای مستقر در مراکز دادهها انجام میدهند. مشتریان تنها برای چیزی که استفاده میکنند پول میپردازند و به این ترتیب مقادیر قابل توجهی در هزینههای دریافت خدماتی مانند روشنایی، گرما و سرما، صرفهجویی میکنند.

شکل ۶ – محصول جدید شرکت VMwareبا نام VSphere
منبع: قاسم محمدی کتاب شبکه ی بزرگ





