مجازی سازی

ماشین مجازی و مجازی سازی


مجازی سازی سیستم عامل و انواع آن

در ادامه مقالات مرتبط با مجازی سازی و پس از ارائه تعریفی از اینکه مجازی سازی چیست به سراغ معرفی روش های پیاده سازی مجازی سازی در سطح سیستم عامل یا به عبارت دیگر روش های ایجاد ماشین مجازی ، می رویم.

همانطور که با در مقاله مجازی سازی چیست اشاره کردیم، در دنیای کامپیوتر و شبکه مفهوم مجازی سازی در ساختار های متفاوتی ممکن است به کار رفته باشد از زیر ساخت شبکه و مفهوم VLAN تا مجازی سازی در سطح سیستم عامل. هدف تمامی این اقدامات جداسازی بخش های مختلف یک ساختار واحد به گونه ای است که کمترین میزان منابع سخت افزار مورد استفاده قرار بگیرد.

خب سوال این است که علت نیاز به جداسازی سیستم عامل ها از یکدیگر چیست که به خاطر آن به سراغ ساختار های مجازی سازی برویم؟

برای پاسخ به این سوال باید با مفهوم اینکه شبکه چیست آشنا باشیم ، خب کامپیوتر ها توسط مسئول شبکه یا مدیر سیستم به یکدیگر متصل میشوند و شبکه ای بین اونها تشکیل میشه تا بشه منابع سخت افزار و اطلاعات رو بین اونها به اشتراک گذاشت. وقتی این شبکه ایجاد میشه، اگر تعداد اعضا شبکه زیاد بشه دیگه نیازمندی های خاصی احساس میشند که با رفع اونها ساختار شبکه ای که داره بزرگ و بزرگ تر میشه حفظ بشه و ارتباط بین اعضا شبکه برقرار بمونه تا هدف اصلی که به اشتراک گذاری منابع هست (منابع سخت افزاری و اطلاعات) تامین بشه، با داشتن سرور میشه زیر ساخت مورد نیاز برای گسترش شبکه را تامین کرد.

هرچه شبکه بزرگتر بشود و هرچه دنیای فناوری اطلاعات پیشرفت میکنه ساختار های بیشتری ارائه می شوند، شما برای پیاده سازی این ساختار ها نیاز به سیستم عامل دارید، سیستم عامل مورد نظر شما می تواند روی سخت افزار سرور که تامین کردید نصب بشود ولی یکسری مشکلات وجود دارند:

اگر سرویس هایی که اضافه می کنید به یک سرور در کنار یکدیگر قابل نصب نباشند و یا خوب کارنکنند چه می شود؟
اگر دسترسی یک سرویس به سرویس های دیگر محدود باشد چه می شود ؟
اگر یکی از سرویس ها با مشکل مواجه شده و نیاز به نصب مجدد باشد و یا نیاز به تغییر سیستم عامل احساس بشود چه می شود؟
اگر سرویس هایی که می خواهید برروی یک سرور و در کنار همدیگر نصب کنید ، نیاز به سیستم عامل های مختلفی داشته باشند چه می شود؟!

خب پس باید سرویس ها را از همدیگر جدا کرد، که یعنی باید سیستم عامل ها از یکدیگر جدا باشند!

در اینجا هست که احساس نیاز به جداسازی سرور ها یه به عبارت دقیق تر جدا سازی سرویس ها از همدیگه معنی پیدا میکند، جدا سازی سرویس ها هم به این صورت هستش که هر سرویس نیاز به یک سیستم عامل داره پس باید سیستم عامل یک سرویس از سرویس دیگه جدا بشوند، راه حل اول این بود که برای هر سرویس یک سرور جداگانه تهیه بشود، برروی اون سرور سخت افزار مورد نیاز برای تامین منابع سخت افزاری سرویس مورد نظر تامین بشه و سیستم عامل مورد نظر برای مدیریت اون سخت افزار و منابع سخت افزار برروی سرور نصب بشه و در نهایت سرویس مورد نظر برروی این سیستم عامل نصب و وارد مدار بشه. با این روش خیلی واضح هستش که به ازای هر سرویس یک سخت افزار سرور مجزا نیاز هستش که این یعنی هزینه زیاد برای خرید تجهیزات سرور جدید، تامین فضای استاندارد برای نگهداری این سرور ها و صرف هزینه زیاد برای برق و هزینه های سربار دیگه برای پشتیبانی و نگهداری و تعمیر سرور که تعدادشون ممکنه مدام بیشتر و بیشتر بشه.

در اینجا هستش که تکنولوژی مجازی سازی وارد بازار میشه و در جهت رفع این مشکلات راهکاری ارائه میده. خب همچنان سوال این هستش که مجازی سازی چیست؟ برای حل جداسازی سرویس ها از یکدیگه یا به عبارتی جداسازی سیستم عامل ها از یکدیگه نیاز هست میشه یک سرور قوی داشته و سیستم عامل های مختلف برروی اون یکجا داشت ولی همه اونها از هم جدا باشند، اما راه حل این نیست که روی یک سرور چند سیستم عامل مختلف نصب کرد، بلکه در گام اول اول یک سیستم عامل نصب میشه که کنترل سخت افزار به دست بگیره ، بعد از طریق اون سیستم عامل اقدام به دسته بندی منابع سخت افزاری موجود به صورت ایزوله و جدا از هم می کنیم، این دسته بندی فقط در سطح اون سیستم عامل هست ، یعنی به صورت فیزیکی تغییری روی سرور به وجود نخواهد اومد و فقط کنترل دسترسی به اون مقدار مشخص از منابع سخت افزاری که داخل یک گروه خاص  قرار گرفته از سایر گروه ها محفوظ باقی می مونه ، بعد برروی هر دسته از منابع سخت افزار که ایجاد کردیم یک سیستم عامل مشخص نصب می کنیم.

به هر کدام از این دسته از سخت افزار یک ماشین مجازی گفته میشه، به این معنی که مانند یک ماشین فیزیکی (سرور)، دارای منابع سخت افزار هست ، دارای مقدار مشخصی RAM هست که قابلیت آدرس دهی داره، میزان مشخص CPU با تعداد هسته معین در اختیار داره و همچنین یک میزان مشخص از هارد دیسک که غیر قابل دسترس سایز دسته ها هست در اختیار داره ، منتها این مرز بندی ها برای این ماشین توسط سیستم عامل اول ایجاد شده و چون این مرز بندی ها و تخصیص منابع در سطح اون سیستم عامل هست به این ماشین ایجاد شده ، ماشین مجازی گفته میشه.

بعد از ایجاد ماشین مجازی ، می توان به راحتی برروی هر ماشین مجازی اقدام به نصب سیستم عامل کرد و این سیستم عامل های ثانویه درکی نصب به اینکه سخت افزاری که در اختیار شون قرار گرفته بخشی از منابع سخت افزار یک سرور فیزیکی هستش ندارند و همونطور که اشاره شد ، سیستم عامل ثانویه به طور مجزا منابع سخت افزار که در اختیار ش هست رو مدیریت می کنه و فایل سیستم خودش رو برروی میزان هارد دیسک که براش تعیین شده نصب میکنه، دسترسی به شبکه به صورت مجزا می گیره و به همین ترتیب به صورت کامل از سایر ماشین های مجازی جدا و ایزوله تعریف میشه.

با این روش دیگه نیازی به خرید یک سخت افزار مجزا برای نصب سیستم عامل مجزا و پیاده سازی و نصب سرویس مربوطه برروی آن سرور نیست، کافی هستش یک سرور قوی که بتونه نیازمندی همه سرویس ها مورد نیاز سازمان و مجموعه ما رو در خودش داره ، تامین بشه و برروی اون یک سیستم عامل که قابلیت ایجاد ماشین مجازی داره، نصب بشه و تعداد مورد نیاز ماشین مجازی(به ازای هر سرویس یک ماشین مجازی مجزا) برروی اون تعریف و گام به گام پیاده سازی سرویس ها برروی هر ماشین مجازی انجام بشه.

اما نکته ای که در این مقاله به طور خاص می خواهیم به اون اشاره کنیم ، انواع روش های پیاده سازی مجازی سازی هستش.

همانطور که اشاره شد برای مجازی سازی باید ماشین مجازی تعریف بشه و برای ایجاد ماشین مجازی هم نیاز به یک سیستم عامل هست تا بتونه سخت افزار اصلی و فیزیکی ما رو مدیریت بکنه. پس انواع مختلف مجازی سازی با نوعی که سیستم عامل اولیه در اون قرار میگیره از هم تفکیک میشوند.

تا به اینجا مشخص شد که ماشین مجازی به خودی خود دسترسی به سخت افزار فیزیکی سرور اصلی ندارد و ارتباط ماشین مجازی و سخت افزار فیزیکی توسط یک لایه واسط برقرار می شود. به لایه ای که در آن بشود دسته بندی های سخت افزار ایجاد کرد و به عبارتی ماشین مجازی را پیاده سازی کرد Hypervisor گفته میشود و به طور کلی دو روش برای ارائه Hypervisor روی سرور فیزیکی وجود دارد.

مدل اول مجازی سازی: نصب یک سیستم عامل برروی سرور فیزیکی و راه اندازی لایه Hypervisor برروی آن سیستم عامل

مدل دوم مجازی سازی: نصب Hypervisor به صورت مستقیم روی سرور فیزیکی 

مدل اول: نصب یک سیستم عامل برروی سرور فیزیکی و پیاده سازی Hypervisor برروی آن

مجازی سازی

همان طور که در توضیح لایه تشکیل دهنده و مدیریت کننده ماشین مجازی یا همان Hypervisor ذکر شد که ماشین مجازی به خودی خود قادر به ارتباط گرفتن با سخت افزار فیزیکی نیست ، و Hypervisor این ارتباط را برقرار می کند و از آنجا که خود Hypervisor نیز برای اجرا شدن مانند هر نرم افزار دیگری نیاز به وجود یک سیستم عامل دارد بنابراین نحوه عملکرد این روش پیاده سازی مشخص می باشد و در اینجا به ذکر مثال هایی از این مدل پیاده سازی می پردازیم.

در محیط شبکه و برای یک سازمان یا شرکت برای پیاده سازی این روش، سازی مجازی سازی را می توان برروی انواع سیستم عامل های خانواده ویندوز سرور از ویندوز سرور 2008 به بالا ایجاد کرد که تحت عنوان سرویس Hyper-V در دنیای ویندوز سرور شناخته می شود.

همچنین برای محیط تست و یا به عبارتی راه اندازی مجازی سازی در محیط خانگی می توان برروی نسخه های ویندوز کامیپوتر های خانگی مانند ویندوز 11 ، ویندوز 10 و … با نصب نرم افزار های واسط این قابلیت را پیاده سازی کرد از معروف ترین این نرم افزار ها VMware Workstation محصول شرکت VMware و Virtual Box محصول شرکت اوراکل را می توان معرفی کرد. البته باید به این نکته توجه داشته باشید که برای استفاده از این نرم افزار برروی ویندوز خانگی باید برروی سیستم از پردازنده CPU استفاده کنید که هسته مجازی ارائه کند و قابلیت مجازی سازی توسط آن پشتیبانی بشود.

همچنین در سیستم عامل های خانواده لینوکس نیز می توان از نرم افزار هایی مانند

مزایای این روش:

  • پیاده سازی ساده تر نسبت به روش دوم مجازی سازی (که در ادامه به توضیح آن خواهیم پرداخت)
  • مدیریت راحت تر ماشین های مجازی نسبت به روش دوم
  • امکان ایجاد ماشین مجازی و مدیریت ماشین مجازی از داخل سیستم عامل اصلی بدون نیاز به نصب و راه اندازی نرم افزار واسط
  • محدودیت میزان هارد دیسک و RAM قابل پشتیبانی در نسخه سیستم عامل اصلی و در نتیجه محدودیت میزان سخت افزار قابل استفاده.

معایب این روش:

  • هدر رفت منابع سخت افزاری سرور اصلی به واسطه نصب یک سیستم عامل حجیم مانند ویندوز که به خودی خود نیاز به منابع سخت افزاری فراوان دارد.
  • امکان بروز مشکل برای سیستم عامل اصلی و تغییر ساختار Hypervisor و در نتیجه به مشکل خوردن ماشین های مجازی
  • امکان ویروسی شدن و بروز مشکلات امنیتی برای سیستم عامل اصلی و از دسترس خارج شدن ماشین مجازی
  • سرباز زمان برای وارد مدار شدن سیستم عامل اصلی و بعد از آن وارد مدار شدن سرویس Hypervisor

مدل دوم: نصب Hypervisor به صورت مستقیم برروی سرور فیزیکی و ایجاد ماشین مجازی برروی آن

مجازی سازی چیست

ایده مجازی سازی در سال های اولیه خلق دنیای فناوری اطلاعات و ظهور سیستم عامل وجود داشته بود و به طور جدی و عملی از حدود سال 2000 و توسط شرکت VMware گام های عملی این ایده به سرعت طی و به عنوان یک تکنولوژی وارد بازار فناوری اطلاعات شد. شرکت VMware مجازی سازی را با ارائه یک سیستم عامل سبک که عملا فقط یک Hypervisor است و سرویس هایی که ارائه می دهد همگی در جهت ایجاد ماشین مجازی و مدیریت این ماشین های مجازی می باشد، به عنوان تکنولوژی خود معرفی کرد.

سیستم عامل این شرکت تحت عنوان ESXi در نسخه های مختلف وارد بازار شد و زمان نگارش این مقاله همچنان نسخه های جدید این سیستم عامل در حال تولید و عرضه می باشند. سیستم عامل VMware ESXi بسیار سبک و به راحتی برروی سخت افزار مورد نظر شما نصب میشود و به خودی خود نیاز زیادی به منابع سخت افزاری خاصی ندارد. بعد از نصب نیز به راحتی می توان به سیستم عامل متصل شده و ماشین مجازی را ایجاد ، مدیریت و عملکرد آن را تحت نظارت قرار داد.

با توجه به اینکه این سیستم عامل فقط و فقط برای ایجاد مجازی سازی تولید شده است می توان گفت که عملا یک Hypervisor می باشدکه برروی سخت افزار نصب می شود.

علاوه بر ESXi می توان به KVM محصول شرکت REDHAT نیز اشاره کرد که می تواند به همین روش مجازی سازی را ارائه نماید.

به طور کلی در این روش همان طور که اشاره شد با توجه به نیاز کم سیستم عامل اصلی به منابع سخت افزاری، می توان از حداکثر منابع برای استفاده برروی ماشین های مجازی استفاده کرد. ضمن اینکه اگر محل نصب سیستم عامل اصلی از فضای قرار گیری ماشین های مجازی مجزا باشد وابستگی ماشین مجازی به سیستم عامل اصلی کاهش یافته و در صورت تغییر نسخه سیستم عامل می توان به راحتی ماشین مجازی را به ورژن جدید سیستم عامل اصلی منتقل کرد.

در کنار این مزایا باید اشاره کرد که سیستم عامل اصلی در این روش برپایه یونیکس و لینوکس می باشد بنابراین امن تر از سیستم عاملی از خانواده ویندوز می باشد و به خاطر امنیت بالاتر لینوکس نسبت به ویندوز ، سلامت و امنیت ساختار مجازی سازی بیش از پیش تامین می شود.

امکان ارسال دیدگاه وجود ندارد!