مجازی سازی (Virtualization) یک فناوری نرمافزاری است که امکان اجرای چندین سیستمعامل یا محیط کاری مجزا را بهصورت همزمان بر روی یک سختافزار فیزیکی فراهم میکند. بهکمک نرمافزاری بهنام هایپروایزر (Hypervisor)، منابع فیزیکی مانند پردازنده، حافظه، فضای ذخیرهسازی و کارت شبکه میان ماشینهای مجازی (VMها) تقسیم میشود و هر ماشین مجازی طوری عمل میکند که گویی یک سیستم مستقل و کامل است. این فناوری در مراکز داده، سرورها، کامپیوترهای شخصی و حتی محیطهای توسعه نرمافزار کاربرد فراوانی دارد.
نیاز ما به مجازی سازی ناشی از ضرورت بهینهسازی منابع، کاهش هزینهها و افزایش انعطافپذیری در مدیریت سیستمهاست. بهجای خرید و نگهداری چندین سرور فیزیکی، میتوان چندین ماشین مجازی را روی یک سرور اجرا کرد، که موجب صرفهجویی در مصرف انرژی، فضا و هزینه سختافزار میشود. همچنین، مجازی سازی امکان راهاندازی سریع، پشتیبانگیری آسان، و انتقال سیستمها بین سرورها را فراهم میکند؛ این موارد در مقیاسهای بزرگ، نقش کلیدی در بهرهوری و پایداری زیرساختهای IT دارند.
در این بخش قصد داریم که به یک سوال مهم جواب دهیم که مجازی سازی چیست و چرا ما به آن نیاز داریم؟ چرا همه دنیا به سمت مجازی سازی و انتزاعی شدن پیش میرود؟!!
همانطور که در عکس بالا مشاهده میکنید، در دهههای اخیر، ما مجبور بودیم ابتدا سیستم عامل خود را که شامل سیستم عاملهای ویندوز، لینوکس و یا هر سیستم عامل دیگری میباشد را نصب کنیم، سپس نرم افزارها و سرویسهای خود را با توجه به نیاز سازمان نصب و راه اندازی نماییم تا کاربران بتوانند از آن سرویس بگیرند.
در این روش (روش سنتی یا Traditional) ما با مشکلاتی مواجه بودیم که شامل موارد زیر میباشد:
جابجایی سخت و دشوار
فرض کنید بنا به دلایلی مجبور شوید کل سرویس خود را از سرور اول به سرور دوم انتقال دهید؛ مثلاً سرور اول دارای مشکل سخت افزاری است و دیگر امکان استفاده از آن وجود ندارد، شما برای حل این سناریو بایستی سرویسی مانند سرویس موجود در سرور اول را در سرور دوم پیاده سازی نمایید و این کار بسیار دشواری است، چون ممکن است از قبل در سرور اول تنظیماتی بر روی نرم افزارها انجام گرفته باشد تا سرویس به درستی کار کند اما زمانی که در سرور جدید پیاده سازی میشود، عمل نکند. به طور مثال فرض کنید نرم افزار سازمان دارای یک سری فایلهای رجیستری شده است که در سرور قبلی پیاده سازی شده بود، در این صورت شما دیگر به آنها دسترسی ندارید و برای پیاده سازی آنها بایستی از سازنده نرم افزار یا پشتیبانی نرم افزار کمک بگیرید تا این جابجایی به درستی انجام شود. این جابجایی پروسه بلند و طولانی مدتی دارد که باعث میشود سرویس شما Down time زیادی داشته باشد و این برای سازمانهای بزرگ میتواند مشکلاتی به بار آورد.
وابستگی سرویسها و نرم افزارها به سخت افزار
سیستم عامل، سرویسها و نرم افزارهای سازمان شما به سخت افزار وابسته هستند و تمامی این موارد با یکدیگر یک Bundle را تشکیل دادهاند و در حالت Traditional این امکان وجود ندارد که کل سرویسها و سخت افزار را جدا از هم در نظر بگیرید.
معمولا عمر کوتاهی دارند.عدم استفاده بهینه از سخت افزار
اکثر اوقات زمانی که از Task manager سیستم عامل سازمان استفاده میکنیم، به طور مثال در سیستم عامل لینوکس با دستور top، وضعیت سرویسها و نرم افزارها را بررسی میکنیم متوجه میشویم که مقدار زیادی از RAM یا CPU بلا استفاده باقی مانده است ولی با این حال امکان نصب سرویس دیگری در کنار سرویس مورد نظر وجود ندارد، البته اگر این امکان نیز وجود داشته باشد نباید تمامی سرویسها را در یک سیستم عامل داشته باشیم؛ ضرب المثل «تخممرغ هایت را در یک سبد نگذار» گویای این مطلب است. پس ما در حالت Traditional منابع اتلاف شده زیادی داریم.
مجازی سازی (Virtualization) چیست؟
مجازی سازی یعنی اینکه بتوانیم از طریق یک نرم افزار یا سیستم عاملی همانند Hypervisor امکانی را به وجود آوریم تا بتوانیم از سخت افزار به صورت اشتراکی استفاده نماییم یا به عبارت دیگر سرویسهای خود را به سمت انتزاعی شدن یا Abstraction سوق دهیم و سیستم عامل و نرم افزارهای خود را به یک فایل نرم افزاری تبدیل کنیم.
همانطور که در عکس بالا مشاهده میکنید، لایه اول سخت افزار میباشد و بر روی آن یک نرم افزار یا یک سیستم عامل به نام Hypervisor قرار میگیرد. ( ESXI محصول شرکت VMware و Hyper-V محصول شرکت Microsoft از نمونههای Hypervisor میباشند). Hypervisor در ابتدا سخت افزار را شناسایی میکند سپس آن را در لایههای بالاتر (VM ها) به اشتراک میگذارد. در داخل VM، در لایه اول OS قرار دارد و در لایه بعدی سرویسها و نرم افزارها قرار میگیرند. تفاوتی که در این قسمت وجود دارد این است که در این سرور ۲ عدد Virtual Machine (VM) داریم، که هرکدام یک سیستم عامل مستقل دارند اما هر دو آنها به وسیله Hypervisor میتوانند از یک سخت افزار مشترک استفاده نمایند.
نکته: تمام VMها از یکدیگر Isolate (مجزا) هستند، مگر اینکه از طریق شبکه با یکدیگر ارتباط داشته باشند.
مزایای مجازی سازی
مهمترین دلیل حرکت به سوی مجازی سازی یا Virtualization استفاده بهینه از سخت افزار میباشد. در دهههای اخیر، ما مجبور بودیم برای سرویسهای مختلف، سرورهای مختلف فیزیکی را خریداری نماییم، درحالیکه پتانسیل سرورهای فیزیکی فراتر از چیزی بود که استفاده میکردیم؛ مثلا یک سرویس اتوماسیون یا حسابداری را روی یک سرور با ۳۲ گیگ رم نصب و راهاندازی میکردیم، در طول مدتی که از حافظه استفاده میشد با بررسی وضعیت سرور متوجه میشدیم که در بدترین شرایط فقط ۱۶ گیگ رم استفاده شده و ۱۶ گیگ دیگر بلا استفاده باقی مانده است، درحالیکه میتوانستیم همزمان نرم افزار اتوماسیون و حسابداری را در یک سرور فیزیکی نصب کنیم ولی برای هرکدام از آنها یک سرور فیزیکی جدا در نظر میگرفتیم تا سرویسها با یکدیگر تداخل نداشته باشند.
حال در دنیای مجازی سازی این امکان برای ما فراهم شده است. با استفاده از Hypervisor منابع سخت افزاری را شناسایی سپس با VM ها به اشتراک میگذاریم؛ به زبان سادهتر سرویسهای ما در دنیای مجازی سازی تبدیل به یک فایل نرم افزاری شدهاند. در مرحله اول VM ها با مشخصات موردنیاز ساخته میشوند؛ مثلا چند گیگ RAM موردنیاز است؟ CPU چند هستهای باشد؟ و تمام موارد موردنیازی که برای سیستم عامل و سرویس مهم است. پس از نصب OS، سرویسهای موردنیاز بر روی OS، داخل VM نصب و راهاندازی میشوند.
حال اگر در VM سرویس Web نصب باشد، میتوانیم در همان سرور یک VM دیگر با سیستم عامل و Database مستقل نصب و راهاندازی نماییم.
با تبدیل سرویسها به فایلهای نرم افزاری (یا همان VM)، میتوان به راحتی آنها را جابجا کرد و انتقال داد.VM ها به صورت پیش فرض هیچ نوع وابستگی به سخت افزار ندارند؛ چرا از کلمه پیش فرض استفاده میکنیم؟ زیرا سناریوهای خاصی وجود دارد، برای مثال ممکن است یک سخت افزار خاصی مانند کارت گرافیکی را به صورت اختصاصی (Dedicated) در اختیار Virtual Machine قرار دهید و این باعث میشود VM به آن سرور و سخت افزار وابسته شود.در فضای مجازی سازی به راحتی و بدون هیچ Downtime ای میتوانید سخت افزار سرور خود را ارتقاء دهید.امکان ارتقاء VM ها، در صورتی که روشن هستند، وجود دارد. مثلا میتوانیم تعداد هسته CPU را تغییر دهیم یا مقدار RAM را افزایش دهیم، درحالیکه قبلا این امکان به راحتی انجام نمیشد.یکی دیگر از مشکلات در دنیای IT، بحث Update کردن سرویسها و انجام برخی تنظیمات بر روی سرویسهای حساس میباشد؛ زیرا ممکن است بروزرسانی و انجام برخی تنظیمات باعث شود سرویس به درستی کار نکند یا کلا از کار بیفتد. به همین دلیل نمیتوانیم بخاطر بروزرسانی یا انجام تنظیمات سرویس خود را به خطر بیندازیم، اما از طرفی ممکن است با بروزرسانی یا انجام تنظیمات بتوانیم برخی از مشکلات امنیتی در سیستم را حل کنیم تا سیستم امنتر شده و بهتر کار کند، پس نمیتوان هر Update یا هر تنظیمی را نادیده گرفت. شاید به این راهحل فکر کنید که میتوانیم از شرایط فعلی Backup بگیریم و سپس تنظیمات و بروزرسانی را انجام دهیم تا اگر مشکلی به وجود آمد بتوانیم به شرایط قبلی Recovery کنیم؛
این کار امکانپذیر است اما اگر سرویسی که از آن استفاده میکنید سنگین باشد و دادههای زیادی داشته باشد، زمان Backup و Recovery طولانی خواهد بود. اما در دنیای مجازی سازی میتوانید از قابلیتهای Snapshot (در VMware) و Checkpoint ( در Hyper-V) استفاده نمایید. با این قابلیتها قادر خواهید بود از شرایط فعلی سرویس حتی محتویات داخل RAM آن سرویس یک Snapshot تهیه نمایید، سپس بروزرسانی و تنظیمات را انجام دهید، در صورتی که مشکلی به وجود آمد می توانید در کسری از ثانیه به حالت قبلی برگردید.
نکته: در Snapshot با توجه به سرویس ممکن است بعضی اوقات پروسه Snapshot گرفتن یا Revert Snapshot کمی طولانی باشد که در ادامه آموزشها درباره این موارد صحبت خواهیم کرد.
نکته: به هیچ عنوان بحث Snapshot را با Backup مقایسه نخواهیم کرد.
بهترین دوره های مجازی سازی در کافه آموزش | مرجع تخصصی آموزش شبکه
دوره مجازی سازی سرور VMware VCP-ICM
دوره مجازی سازی سرور یا VCP یکی از معتبرترین و جامعترین دورههای رسمی VMware برای یادگیری مدیریت زیرساخت مجازی مبتنی بر vSphere است. در این دوره با مفاهیم اصلی نصب، پیکربندی و مدیریت ماشینهای مجازی، شبکههای مجازی، هاستها و کلاسترها آشنا میشوید. این آموزش برای افرادی طراحی شده که قصد دارند به عنوان کارشناس شبکه و یا کارشناس مجازی سازی در سازمان ها استخدام شوند و در حوزه مجازیسازی دیتاسنتر بهصورت حرفهای فعالیت کنند.
دوره مجازی سازی دسکتاپ یا VMware Horizon View v8
اگر به دنبال مجازی سازی دسکتاپ و محیط کاری هستید، دوره VMware Horizon یکی از بهترین گزینههاست. این دوره به شما آموزش میدهد چگونه دسکتاپها و اپلیکیشنها را بهصورت مجازی در اختیار کاربران قرار دهید و محیطهای کاری ایمن، منعطف و در دسترس ایجاد کنید. مباحثی مانند نصب و پیکربندی Horizon Connection Server، تنظیمات پروفایل کاربر، مدیریت استخرهای دسکتاپ و امنیت سیستمها از جمله بخشهای مهم این دوره هستند.
مگاکورس مجازی سازی VCP-ICM
دوره مگاکورس مجازی سازی VCP-ICM یکی از کاملترین پکیجهای آموزشی فارسیزبان در حوزه مجازیسازی VMware است که در آن تمامی مباحث مورد نیاز برای تسلط بر vSphere و اخذ مدرک VCP به صورت پروژهمحور و کاملاً عملی آموزش داده میشود. مزیت این دوره جامع بودن محتوا، پشتیبانی مدرس، و ترکیب آموزش و تمرین است که آن را برای افراد مبتدی تا متوسط مناسب میسازد.
کافه آموزش مرجع تخصصی آموزش شبکه
کافه آموزش یکی از مراجع تخصصی و معتبر در حوزه آموزش شبکه، مجازیسازی، امنیت و فناوری اطلاعات در ایران است که با هدف ارتقاء دانش فنی و مهارتهای عملی متخصصان IT راهاندازی شده است. این وبسایت با ارائه دورههای جامع، بهروز و کاربردی در زمینههایی مانند مجازی سازی، میکروتیک، سیسکو، مایکروسافت و لینوکس، بستری مناسب برای یادگیری عمیق و اصولی مفاهیم پیچیده شبکه فراهم کرده است. تمامی دورهها به زبان فارسی، با بیانی روان و همراه با پروژههای عملی تدریس میشوند که برای علاقهمندان مبتدی و حرفهای بسیار مفید هستند.
از ویژگیهای برجسته کافه آموزش میتوان به حضور اساتید باتجربه، پشتیبانی فنی قوی، ارائه گواهینامه پایان دوره و محتوای بهروز مطابق با استانداردهای جهانی اشاره کرد. همچنین محیط کاربری ساده و دسترسی سریع به منابع آموزشی باعث شده تا کاربران تجربه یادگیری حرفهای و بدون دغدغهای داشته باشند. این مجموعه بهعنوان یک منبع معتبر و تخصصی، نقش مهمی در توسعه دانش فنی و تربیت نیروی متخصص برای بازار کار IT کشور ایفا میکند.