امروزه استفاده از فناوریهای جدید برای استفاده بهینه از سخت افزارها افزایش پیدا کرده است. یکی از بهترین راههای استفاده بهینه از سخت افزارها مجازی سازی است. مجازی سازی به کاربران کمک میکند تا بر روی سیستم خودشان بتوانند از قدرت بیشتر سخت افزاری استفاده کنند. در این مقاله به بررسی تکنولوژی مجازی سازی پرداختهایم. در ادامه با رایکانت همراه باشید.
اهمیت و کاربردهای مجازی سازی صرفاً به ماشینهای مجازی محدود نمیشوند. در 60 سال اخیر هیچ پیشرفتی در عرصهی فناوری اطلاعات مانند مجازی سازی نتوانسته است گسترهی عظیمی از مزایای قابل سنجش را ارائه کند. بسیاری از متخصصان، مجازی سازی را با ماشینهای مجازی (VM)، هایپر وایزرهای مربوط به آن و پیاده سازیهای سیستم عامل آن میشناسند؛ اما این فقط نگاهی سطحی به این مسئله است. بسیاری از فناوریها، قابلیتها، راهبردها و امکانات مجازی سازی در سازمانهای مختلف در حال تعریف مجدد عناصر اساسی عرصه IT هستند.
مجازی سازی (Virtualization) چیست؟
مجازی سازی (Virtualization) یک فناوری است که توان سخت افزاری کاربر را افزایش میدهد. با بررسی تعریف مجازی سازی در گسترهای وسیعتر میتوانیم مجازی سازی را بهعنوان هنر و علمی در نظر بگیریم که میتوان با کمک آن عملکرد یک شیء یا منبع را در نرمافزار شبیهسازی کرد که کاملاً شبیه به شیء واقعی است. به بیان دیگر، برای اینکه بتوانیم رفتار و ظاهر نرمافزار را شبیه به سختافزار کنیم از یک انتزاع استفاده میکنیم و همراه با آن مزایای مربوط به انعطافپذیری، هزینه، مقیاسپذیری، اطمینانپذیری و اغلب ظرفیت و عملکرد کلی مربوط به آن را در طیف گستردهای از برنامهها لحاظ میکنیم. پس با کمک مجازی سازی میتوانیم چیزی که واقعی نیست را واقعی کنیم و به جای مزایای سختافزاری از سهولت و انعطافپذیری قابلیتها و سرویسهای نرمافزاری بهره ببریم.
یک مثال کاربردی برای درک Virtualization
به کمک مجازی سازی میتوان کلیه تجهیزات و منابع موجود در شبکه مثل سخت افزار، محلهای ذخیره و کاربران و ارتباطات آنها با یکدیگر را به وسیله نرم افزار به صورت مجازی انجام داد. به طور مثال کامپیوترهای موجود در یک شرکت میتوانند برای عملکرد بهتر به یکدیگر یا یک منبع قویتر مثل سرور خارجی متصل شوند و کاربران به صورت یکپارچه از آن بهره مند شوند.
اجازه دهید با یک مثال دیگر بیشتر با مجازی سازی آشنا شویم. فرض کنیم لپ تاپی با رم 4 گیگابایتی به همراه یک سی پی یو Core i3 در اختیار داریم. بر روی این سیستم یک ویندوز 64 بیتی هم نصب شده است. حالا اگر نرم افزاری داشته باشیم که بر روی سیستمی با سخت افزار بالاتر اجرا شود، چه کاری باید انجام دهیم؟ با کمک فناوری مجازی سازی می توان این کار را انجام داد. در این روش میتوان از منابع سخت افزاری دیگری مانند یک سرور قدرتمند استفاده کرد.
مزایای مجازی سازی
حتی با وجود طیف گستردهای از فناوریهای مجازی سازی قدرتمند باز هم در نهایت هزینه مجازی سازی است که حرف آخر را میزند. طبیعت رقابتی مدل تجاری سرویسهای ابری که به سرعت در حال رشد هستند به این معنی است که بعید نیست با سپری کردن دورههای تجربی مخصوص توسط ارائهدهندگان سرویس، توسعه اقتصادهای مقیاسی چند کلاینتی و ارائه قیمتهای پایینتر به کاربران نهایی سازمانی و صرفاً به دلیل رقابت موجود در بازار هزینههای عملیاتی نیروی کار سنتی از طرف مشتریهای سازمانی به مرور زمان کاهش یابند.
کاهش 80 درصدی هزینه شرکتها با مجازی سازی
اولین کاربرد مجازی سازی کاهش هزینه شرکتها است. شرکتها میتوانند با صرف هزینه کمتر به سخت افزارهای قویتری دسترسی پیدا کنند. خرید سرور هزینه زیادی را به سازمانها تحمیل میکند. هزینه اولیه در کنار هزینه زیرساخت شبکه مانند اتاق سرور، تعمیرات و برق مصرفی بسیار بالا است. در حالی که به کمک مجازی سازی و صرفا با کمک یک اپلیکیشن میتوان به منابع سرور دسترسی پیدا کرد.
تست اپلکیشنها با هزینه پایین
نرم افزارها و اپلیکیشنهای طراحی شده معمولا چند بار تست میشوند. طبیعتا منطقی نیست برای هر بار تست بخواهیم از سرورهای قدرتمند استفاده کنیم. در این مواقع استفاده از فناوری مجازی سازی به کمک شرکتهای سازنده نرم افزار میآید. با اتصال به منابع سرور میتوان به راحتی عملیات تست را انجام داد. جالب است بدانید حتی شرکتهای بزرگ دنیا از مجازی سازی برای تست اپلیکیشنهای خود استفاده میکنند.
افزایش راندمان و سرعت بالای انجام کارها
مزیت اصلی فناوری Virtualization افزایش راندمان و سرعت انجام کارها است. با دسترسی به سخت افزار قدرت مند میتوان سرعت انجام کارها را افزایش داد. به این ترتیب بهره وری سازمانهایی که از مجازی سازی استفاده میکنند به شدت افزایش پیدا میکند. زمانی که کاربران یک شرکت به منابع قدرتمندی دسترسی داشته باشند به راحتی میتوانند فعالیتهای خود را افزایش دهند. افزایش راندمان در کنار کاهش هزینهها، مجازی سازی را به گزینه اصلی سازمانها تبدیل کرده است.
انواع مجازی سازی
ماشینهای مجازی (Virtual Machines)
ریشهی ماشینهای مجازی به دههی 1960 میلادی باز میگردد؛ دورهای که تنها تعداد کمی از کامپیوترهای بزرگ در این عرصه ظهور پیدا کرده بودند که از مهمترین آنها میتوان به IBM 360/67 اشاره کرد. ده سال پس از این دوره، این ماشینها به یکی از بخشهای جدا ناپذیر کامپیوترهای بزرگ تبدیل شدند. سپس با معرفی اینتل 386 در سال 1985، ماشینهای مجازی جای خود را در ریزپردازندهها و در قلب کامپیوترهای شخصی باز کردند. ماشینهای مجازی امروزی با پشتیبانی سختافزاری و با کمک هایپر وایزرها و پیاده سازیها در سطح سیستم عامل در ریزپردازندهها تعبیه شدهاند و به یکی از بخشهای اصلی رایانش تبدیل شدهاند. از آن مهمتر بدون این ماشینها ضبط و ثبت چرخههای ماشین در پردازندههای 3 گیگاهرتزی امروزی ممکن نمیشد.
همچنین با کمک این ماشینها میتوان به امنیت، یکپارچگی و راحتی بیشتری رسید و نیاز به رایانش سربار را کاهش داد. علاوه بر این، مفهوم و پیاده سازی ماشینهای مجازی را بهگونهای میتوان گسترش داد که امولاتورهای تفسیرکنندههایی همچون ماشین مجازی جاوا (Java Virtual Machine) و حتی شبیه سازهای کامل در این ماشینها لحاظ شوند. میخواهید ویندوز را تحت سیستم عامل مک اجرا کنید؟ یا میخواهید از کد کامودور 64 در ویندوز امروزی خود استفاده کنید؟ براحتی میتوانید با مجازی سازی این کارها را انجام دهید.
چیزی که در اینجا اهمیت زیادی دارد این است که نرمافزاری که در ماشینهای مجازی تعبیه شدهاند از این حقیقت آگاهی ندارند. حتی سیستم عامل مهمانی که به گونه متفاوتی جهت اجرا در دیسک سخت طراحی شده است فکر میکند که این پلتفرم سختافزاری است. در اینجا مهمترین عنصر مجازی سازی خود را نشان میدهد. این عنصر تجسم رویکرد «جعبه سیاه» در پیاده سازی سیستمهای اطلاعاتی است بهگونهای که این سیستمها به کمک API ها و پروتکلها به جداسازی متکی هستند. زمینه این موضوع چیزی شبیه به زمینه تست تورینگ برنامههای هوشمند ماشینی است. در اصل به همین دلیل است که ما زیرساخت IT را به هر شکلی که باشد پیاده سازی میکنیم، هیچ کدام نسبت به مکانی که در حال اجرا شدن هستند آگاهی ندارند. همچنین این ماشینها نیازی به بهبود انعطافپذیری، کاهش هزینهها و به حداکثر رساندن بازگشت سرمایه وجود ندارد.
درواقع میتوانیم در دوران به اشتراکگذاری زمان به دنبال ریشههای مجازی سازی بگردیم؛ این دوره نیز حدوداً در اواخر دهه 60 میلادی واقع شده بوده است. در این زمان درحالیکه کامپیوترهای بزرگ لزوماً قابل حمل نبودند، اما افزایش سریع کیفیت و دسترسی به dial up و خطوط استیجاری تلفن همچنین پیشرفت فناوری به کار رفته در مودمها باعث شدند که این کامپیوترها به شکل یک ترمینال به صورت مجازی نیز حضور داشته باشند. البته در مورد ماشین مجازی، این مدل از رایانش از طریق پیشرفتهای صورت گرفته در فناوری و اقتصاد ریزپردازندهها مستقیماً باعث بروز کامپیوترهای شخصی دهه 1980 میلادی شدند. بهگونهای که علاوه بر ارتباطات dial up رایانش محلی نیز ظهور پیدا کرد و در نهایت به LAN و دسترسی پیوسته و شفاف به اینترنت ختم شد.
حافظه مجازی (Virtual Memory)
حافظههای مجازی نیز در دهه 1960 به سرعت رشد کردند و به جرات اهمیت آنها کمتر از ماشینهای مجازی نبود. در رایانههای بزرگ از حافظههای با هستهای مغناطیسی بسیار گرانقیمت استفاده میشد و تا دهه 1970 میلادی به ندرت میشد رایانهای بزرگ را پیدا کرد که حافظه آن بیشتر از 1 مگابایت باشد! حافظه مجازی مانند ماشینهای مجازی افزونه نسبتاً کوچکی است که به سختافزار یک ماشین و مجموعه دستورالعملهای آن اضافه میشود تا امکان فعالسازی بخشهایی از حافظه (سگمنت یا page) فراهم شود تا این حافظه در حافظه ثانویه نوشته شود و در نهایت بتوان آدرسهای حافظه موجود در این بلوکها را پس از برگشت از حافظه سخت به راحتی ترجمه کرد. برای مثال یک مگابایت از حافظه اصلی یک کامپیوتر IBM 360/67 میتواند یک فضای آدرس کامل 24 بیتی (16 مگابیت) را پشتیبانی کند.
از این حافظه در معماری این ماشین بهره گرفته شده است و به درستی پیاده سازی شده است بهگونهای که هر یک از ماشینهای مجازی میتوانند بهعنوان مکمل، یک حافظه مجازی مخصوص به خود را داشته باشند. به دنبال این نوآوری که امروزه بر روی آن همچنان کار میشود، امکان به اشتراکگذاری سختافزارهایی که جهت اجرا در یک برنامه واحد یا یک سیستم عامل طراحی نشده بودند فراهم شد بهگونهای که پشتیبانی همزمان از چندین سیستم عامل و پاسخگویی به الزامات شدید حافظهای فراتر از ظرفیت واقعی پیشبینیشده نیز ممکن شد.
مزایای این حافظهها درست مانند ماشینهای مجازی بسیار زیاد است که از جمله آنها میتوان به تفکیک کاربر از برنامه، بهبود امنیت و یکپارچگی و باز هم افزایش بازگشت سرمایه اشاره کرد. برایتان آشنا نیست؟
تنظیم و پیکربندی (Configuration) تمامی تجهیزات اکتیو شبکه، انجام تنظیمات و پیکربندی جهت کنترل و مدیریت یکپارچه سیستمها، اکانتها، فایلها و …
زیرساخت دسکتاپ مجازی (VDI)
پس از ماشینها و حافظه مجازی و دسترسی به قابلیتهای موجود در ریزپردازندهها و رایانههای شخصی ارزان قیمت، پیشرفت بعدی مجازی سازی دسکتاپ و به دنبال آن دسترسی به برنامههای تک کاربره و چند کاربره بود.
مانند گذشته باز هم باید به مدل به اشتراکگذاری زمان برگردیم، اما در این حالت ما دسکتاپ یک رایانه را بر روی یک سرور شبیهسازی میکنیم و اساساً از راه دور عناصر گرافیکی و عناصر مربوط به رابط کاربری را از طریق اتصال شبکه به یک کلاینت نرمافزار و اغلب به یک دستگاه کلاینت ایمن و ارزان و با قابلیت مدیریت آسان متصل میکنیم. تمامی سیستم عاملهای مشهور امروزی بهگونهای از این قابلیت و از محصولات نرمافزاری و سختافزاری افزونهای پشتیبانی میکنند؛ مانند: VDI، سیستم ویندوز X و VNC محبوب و البته ارزان.
ذخیره سازی مجازی (Virtual Storage)
پیشرفت بزرگ بعدی که امروزه نیز به سرعت در حال رشد است، مجازی سازی پردازندهها، انبارهها (Storage) و برنامهها بر بستر فناوری ابری همچنین تهیه قابلیتهای مورد نیاز امروز و در نهایت افزودن و مقیاس بندی آنها با کمترین زحمت از طرف متخصصین حوزه IT است. مصرف فضای فیزیکی، مخارج سرمایهای، نگهداری، زمان خرابی ناشی از قطعی برق هزینه نیروی کار جهت رفع اشکال و مشکلات و قطعیهای برق نامکرر اما جدی و بسیاری از هزینههای اضافی دیگر را میتوان با راهکار ابری کاهش داد. برای مثال، مجازی سازی انباره فرصتهای بسیاری را فراهم میکند. درحالیکه ریسک درایوها را میتوان به صورت دیسکهای رم مجازی کرد، اما درایوهای مجازی به انبارههای مبتنی بر شبکه متصل هستند و حتی میتوان آنها را به صورت سلسله مراتبی از یک انباره واحد یکپارچه کرد بهگونهای که به سیستم نسل 38 IBM برگردانده شود. با توجه به اینکه سرعت کف شبکههای بیسیم و با سیم به 1 گیگابیت بر ثانیه میرسد، ما بر این باور هستیم که نهتنها انبارههای پشتیبان بلکه پیاده سازی ابری انبارههای اصلی نیز رواج بیشتری پیدا خواهد کرد؛ قابلیتی که در حال حاضر در اترنت، 802.11ac Wi-Fi و فناوری نسل پنجم اینترنت شاهد هستیم.
شبکههای مجازی (Virtual Networks)
بله حتی شبکهها نیز به صورت شبکه بهعنوان سرویس (NaaS) (Network as a Service) تا حد زیادی در حال مجازی شدن هستند و در بسیاری از حالتها به یکی از گزینههای حیاتی و حتی مطلوب تبدیل شدهاند. در صورت پذیرش مداوم مجازی سازی عملکردهای شبکه (NFV) این روند تسریع میشود. این امر حداقل برای حاملان و اپراتورها بهویژه در فضای سلولی نفع زیادی خواهد داشت. مجازی سازی شبکه تا حد زیادی این فرصت را برای حاملان ایجاد میکند تا حیطهی سرویسهای خود را گسترش دهند، به ظرفیتها و ارزش خود بیفزایند و وفاداری مشتریان خود را افزایش دهند. همچنین بعید نیست که طی سالهای آینده تعداد زیادی از کاربران نهایی سازمانی بخواهند در شبکههای خود و حتی در شبکههای سازمانی یا حاملان ترکیبی از NFV استفاده کنند (باز هم به عامل وفاداری مشتری توجه کنید). در همین حین، شبکههای خصوصی مجازی (VPN) و VLAN ها (802.1Q) در بسیاری از زمینههای بر مزایای خود میافزایند و از مزایای مجازی سازی امروزی نیز بهرهمند میشوند.
کاهش هزینه مجازی سازی
حتی با وجود طیف گستردهای از فناوریهای مجازی سازی قدرتمند باز هم در نهایت هزینه مجازی سازی است که حرف آخر را میزند. طبیعت رقابتی مدل تجاری سرویسهای ابری که به سرعت در حال رشد هستند به این معنی است که بعید نیست با سپری کردن دورههای تجربی مخصوص توسط ارائهدهندگان سرویس، توسعه اقتصادهای مقیاسی چند کلاینتی و ارائه قیمتهای پایینتر به کاربران نهایی سازمانی و صرفاً به دلیل رقابت موجود در بازار هزینههای عملیاتی نیروی کار سنتی از طرف مشتریهای سازمانی به مرور زمان کاهش یابند.
همچنین با بهکارگیری چندین تأمین کننده سرویسهای ابری به صورت افزونهای و در حالت آمادهباش میتوان بهراحتی برگشتپذیری و اطمینان سیستم را افزایش داد و احتمال شکست نقاط واحد را حذف کرد. در حال حاضر هزینههای سرمایهای بودجههای عرصهی IT به صورت روزافزون در حال تبدیل شدن به هزینههای عملیاتی هستند و به جای اینکه زمان بیشتری صرف تجهیزات، امکانات و کارکنان بیشتر شود این زمان صرف ارائه دهندگان خدمات میشود. باز هم به لطف ریزپردازندههای امروزی، پیشرفتهای صورت گرفته در سیستمها و باز هم به دلیل پیشرفت چشمگیر عملکرد شبکه های WAN و LAN (از جمله شبکه های بی سیم)، امروزه تقریباً هر بخش کوچکی از IT را میتوان مجازی کرد و حتی به صورت آماده باش، مقیاس پذیر و به شکل سرویسهای ابری پیاده سازی کرد.
درحالیکه اغلب این تصور وجود دارد که مجازی سازی به خودی خود یک تغییر الگو محسوب میشود اما اینگونه نیست. کاری که مجازی سازی انجام میدهد به هر شکلی که باشد این است که در طیف وسیعی از نیازمندیها و فرصتها (همانطور که قبلاً نیز بیان کردیم) این امکان را به فعالیتهای فناوری اطلاعات میدهد تا بتوانند منعطفتر، پربازدهتر، راحتتر و با بهرهوری بیشتری انجام شوند. بر اساس راهبرد مجازی سازی بخش بزرگی از فناوری اطلاعات در سرویسهای ابری، مجازی سازی بهعنوان یک مدل عملیاتی جایگزین با مزایای اقتصادی مناسب بهترین گزینه است که میتواند نیاز به پیاده سازیهای سنتی را برطرف کند.
به لطف تبدیل اقتصادی مدل عملیاتی فناوری اطلاعات که به ابتدای دوره رایانش تجاری بر میگردد، افزایش مجازی سازی فناوری اطلاعات سازمانها امری تضمین شده است. در اوایل روزهای رایانش، بیشتر تمرکز ما متوجه عناصر سختافزاری بیش از اندازه و گرانقیمت مانند رایانههای بزرگ بود؛ هزینههای ذاتی این چنینی باعث استقبال ناگهانی به سمت مجازی سازی شد که در بالا نیز اشاره شد. با ارزانتر، قدرتمندتر، مقرون به صرفه و تقریباً استاندارد شدن سختافزار، توجهات به سمت برنامههایی برگشت که اساساً در محیطهای مجازی و استاندارد (از رایانههای شخصی گرفته تا مرورگرها) اجرا میشدند.
نتیجه کلی این تغییر باعث شد به اینجایی برسیم که الآن هستیم. با توجه به اینکه کاربرد رایانهها و رایانش در هسته فناوری اطلاعات نمود پیدا میکند، ما نیز توجه خودمان را به اطلاعات معطوف کردهایم و دسترسی به این اطلاعات را در هر زمان و مکان ممکن کردهایم. این «اطلاعات محوری» آیین و انگیزهای کلی است که از تکامل عصر فناوری دستگاههای همراه و بی سیم ناشی شده است؛ به این صورت که کاربران نهایی بتوانند در هر زمان و مکان اطلاعات مورد نیاز خود را (به معنای واقعی کلمه) در دستان خود ببینند.
بنابراین، چیزی که بهعنوان روشی جهت بهینهتر کردن رایانههای بزرگ گران و کند آغاز شد امروزه به چیزی تبدیل شده است که میتواند آینده فناوری اطلاعات را رقم بزند و به یکی از راهبردهای اصلی در این زمینه تبدیل شود. نبود نوآوری در فناوری اطلاعات نسبت به مجازی سازی اثر بسیار بیشتری داشته است و با توجه به تغییر مسیر به سمت زیرساخت مجازی شده بر بستر فناوری ابری ما تازه اول راه هستیم.
منبع: NetworkWorld.com