مجازی سازی چیست؟ چرا باید از این تکنولوژی استفاده کنیم؟

از تکنولوژی هایی که طی دهه های اخیر بهبود چشمگیری در بهره وری و راندمان سازمان ها داشته است مجازی سازی یا Virtualization است. به طور کلی مجازی سازی در علوم کامپیوتر به معنای ساخت یک نسخه مجازی از یک شی است . این شئ می تواند بخش های مختلف نرم افزاری یا سخت افزاری باشد. در این نوشته قصد داریم این تکنولوژی را از ابعاد گوناگون مورد بررسی قرار دهیم .تاریخچه مجازی سازیاولین گام های پیدایش مجازی سازی در سال 1960 میلادی بر روی سیستم های X64 آغاز شد که هدف آن استفاده بهینه از ابر رایانه ها به منظور کاهش هزینه ها بود. در آن دوره رایانه ها به صورت ارزان امروزی نبودند و برای تجهیز کردن آن ها نیاز به صرف هزینه های زیادی بود .از نخستین شرکت هایی که برای این تکنولوژی پیش قدم شدند می توان به Mainframe شرکت IBM ( International Business Machines ) اشاره کرد که پلتفرم مجازی سازی VMWare مشابه نسخه X86 همان تکنولوژی Mainframe است .مجازی سازی چیست؟تعریف های بسیار زیادی برای این تکنولوژی وجود دارد اما راحت ترین تعریف عبارت زیر است :ایجاد نسخه نرم افزاری از شیء سخت افزاری. به عنوان مثال سرور فیزیکی به عنوان شیء سخت افزاری و ماشین مجازی به عنوان نسخه نرم افزاری .از معروف ترین شرکت های ارائه دهنده تکنولوژی Virtualization می توان به موارد زیر اشاره کرد :VMWareKVMMicrosoftCitrixOracleاشکال مجازی سازیمجازی سازی عموما به 2 شکل انجام می شود :bare-metal hypervisorمدل درست پیاده سازی مجازی سازی در سازمان ها می باشد. در این مدل پلتفرم مجازی سازی به صورت مستقیم بر روی سرور فیزیکی پیاده سازی می شود . سیستم مجازی در ادامه منابع سخت افزاری خود را بین ماشین های مجازی که درخواست منابع دارند تقسیم می کند.Nested hypervisorاین مدل از Hypervisor به صورت نرم افزاری می باشد که بر روی سیستم عامل خود به منظور تست و لابراتوار می توانید پیاده سازی کنید. منطقی است که مقدار منابع در اختیار Hypervisor در این مدل بسیار کمتر از حالت اول است زیرا که سیستم منابع مورد نیاز خود را ابتدا بر میداد و مقدار اضافه را به پلتفرم مجازی سازی می دهد .به طور مثال اگر کامپیوتر شما سیستم عامل ویندوز را پشتیبانی می کند به راحتی با این برنامه می‌توانید سیستم عامل محبوب و کاربردی مانند لینوکس را روی آن اجرا کنید و از ویژگی های هر 2 سیستم عامل استفاده کافی را ببرید .از معروف ترین نرم افزارهایی که این امکان را در اختیار کاربران قرار می‌دهند می‌توان به VMWare Workstation اشاره کرد که با رابط کاربری آسان و مناسبی که دارد به پرکاربرد ترین نرم افزار بین این دسته نرم افزار ها تبدیل شده است .انواع Virtualizationبه طور کلی مجازی سازی به انواع زیر تقسیم بندی می‌شود :مجازی سازی سرور (Server Virtualization)مجازی سازی دسکتاپ ( Desktop Virtualization )مجازی سازی ذخیره ساز ( Storage Virtualization )مجازی سازی شبکه ( Network Virtualization )هر کدام از این سرفصل ها خود ، توضیحی طولانی دارد و نیازمند ساعت ها یادگیری و تمرین برای آشنایی و استفاده درست از آن ها می باشد .مزایای استفاده از مجازی سازیبه طور کلی سرور های فیزیکی توان مقابله با ماشین های مجازی را به هیچ وجه ندارد، به همین دلیل است که طبق آمار بالای ۹۵ درصد دیتاسنترهای دنیا از تکنولوژی مجازی سازی استفاده می‌کنند.به طور کلی می‌توان گفت دلیل اصلی استفاده از تکنولوژی مجازی سازی برای سازمان ها کاهش هزینه ها است.گر بتوانیم تکنولوژی مجازی سازی را به صورت بهینه پیاده سازی کنیم می توانیم تا ۷۰ درصد کاهش هزینه ها را شاهد باشیم.از دیگر مزایای مجازی سازی می‌توانیم به موارد زیر اشاره کنیم :صرفه جویی و کاهش چشم گیر در زمانبالا بردن دقت و راحتی نظارت و کنترل سیستم هانگهداری ساده تر و آسان تر از دیتا ها و اطلاعاتبالا بردن راندمان استفاده از سخت افزار های موجود در سیستمبالا بردن امنیت اطلاعاتپشتیبانی بهتر اطلاعاتبالا تر رفتن پایداری سرور و شبکه آناستفاده کمتر از نیروهای انسانی و در نتیجه کاهش هزینه هااستفاده چند سیستم عامل به طور همزمان و در نتیجه استفاده از ویژگی های خاص هر کدامکاهش چشم گیر استفاده از فضاهایپایین آمدن احتمال خرابی و خطا در سیستمدسترسی راحت به اطلاعات و اعمال تغییرات در آن هاامروزه شما می‌توانید با یک سیستم شخصی خانگی تا رایانه های قوی تر سازمانی و هاست های دیتایی قوی با سخت افزار های قدرت مند تر یک سرور مجازی را به وجود بیاورید و تمام کاربرد های نام برده شده را در آن ها اعمال کنید و تفاوت وجود و عدم وجود مجازی سازی را حس کنید .قابلیت های منحصر به فرد مجازی سازیHigh Availabilityیکی از بهترین قابلیت های بستر مجازی قابلیت HA می باشد.در این قابلیت زمانی که سرور فیزیکی دچار مشکل شود ماشین های مجازی روی آن در کمتر از چند ثانیه به صورت کاملا اتوماتیک به سرور دیگری منتقل می‌شوند و بلافاصله روشن شده و به کار خود ادامه می‌دهند.این قابلیت برای بالابردن SLA سازمانی بسیار مفید است، در بستر فیزیکی این قابلیت تنها با کلاستر کردن نرم افزار ها ممکن است. اما در بستر مجازی فارغ از اینکه داخل ماشین مجازی چه سرویسی وجود دارد این قابلیت در دسترس می باشد.Distributed Resource Scheduler (DRS)این قابلیت به زبان ساده تنظیم بار ماشین های مجازی و سرورها می پردازد. مزیت های این قابلیت بسیار زیاد هستند که در این مطلب ما به دو مورد از آن ها اشاره می‌کنیم.در دسترس قرار دادن منابع برای ماشین های مجازی که به آنها احتیاج دارندافزایش طول عمر سرور ها با استفاده متوازن آن‌ها.به صورت کلی این قابلیت باعث می شود ماشین های مجازی بتوانند با جا به جا شدن بین سرور های فیزیکی منابع مورد نیاز خود را اعم از رم و سی پی یو تامین کنند. Fault Tolerance (FT)این قابلیت یکی از قابلیت های منحصر به فرد بستر مجازی است.با استفاده از این قابلیت می توانیم تضمین کنیم ، حتی زمانی که سرور فیزیکی ما دچار مشکل می‌شود ، سرویس‌های ماشین‌های مجازی آن بدون هیچ دان تایمی به کار خود ادامه دهند یعنی حتی زمانی که هاست فیزیکی ما دچار مشکل می شود سرویس های ما به کار خود ادامه می‌دهند و مشتری های سازمان به هیچ وجه متوجه مشکل سرور ها نخواهند شد.vMotionقابلیت جابجا کردن ماشین های مجازی بر روی هاست های فیزیکی چه در حالت روشن و چه در حالت خاموش را vMotion می گویند.با استفاده از این قابلیت می‌توانیم با جا به جا کردن ماشین های مجازی از دان تایم های احتمالی جلوگیری کنیم. شکل زیر این تکنولوژی را نمایش می‌دهد.نتیجه گیریکاربرد های مجازی سازی فقط در شرکت های بزرگ و دیتا سنتر های عظیم نیست بلکه با پیشرفت تکنولوژی و ورود فناوری اطلاعات به زندگی همگان ، جامعه به خصوص برای شرکت هایی که در مسیر پیشرفت تکنولوژی قدم بر می دارند دیگر مانند گذشته نیست . کسب و کارها دیگر از روش های سنتی استفاده نمی‌کنند و دنبال روش های ساده تر ، راحت تر و سریع تر هستند یکی از ارکان های اصلی برای رسیدن به اهداف فوق سرور های مجازی هستند . به طور مثال دیگر ، شرکت ها برای هر کارمند و Developer خود سیستمی خاص و جدا تهیه نمی کنند و برای سهولت کار و صرفه جویی در هزینه از مجازی سازی با قابلیت کاربری زیاد استفاده می‌کنند تا برای هر شخص متناسب با نیاز های خودش ماشین مجازی اماده کنند و با سرعت بیشتر و آسان تر آن را در اختیار کاربر قرار دهند.