جازی سازی یکی از مباحث جدید و کارآمدی است که در بحث مدیریت منابع سرور و یا منابع شبکه مطرح میشود. در واقع مجازی سازی یعنی یک نسخه مجازی از یک شی واقعی ساخته شود. شما میتوانید از هر بخش یک سرور چه سختافزار و چه نرمافزار یک نسخه مجازی تهیه کرده و همچنین می توانید یک شبکه اینترنتی را مجازی سازی کنید.
در واقع تکنولوژی مجازی سازی به این دلیل ساخته و ایجاد شد که بتوان مدیریت آسانتر و بهتری بر روی منابع داشت. در این مقاله از هاست سرور ایران قرار است بررسی مفصلی روی خدمات مجازی سازی و انواع آن داشته باشیم، همچنین بهترین نرم افزارهای مجازی ساز را نیز معرفی خواهیم کرد.
بررسی مفهوم مجازی سازی یا Virtualization
تمامی کامپیوترها و سرورهای موجود از بخشهای مختلفی مانند سیستم عامل، نرم افزار، سختافزار دادههای اطلاعاتی و … تشکیل شدهاند و همچنین بین این موارد گفته شده یک ارتباط دو سویه وجود دارد. به طور مثال؛ زمانی که مشکلی برای سختافزار کامپیوتر به وجود آید قطعاً سیستم عامل نیز بالا نخواهد آمد و عملاً کامپیوتر و سرور غیرقابل استفاده خواهد شد.
یا به طور مثال اگر رم سرور دچار مشکل شود تمامی نرم افزارها و دادههای اطلاعاتی موجود در سرور غیر قابل استفاده خواهد شد چرا که سیستم عامل آن به هیچ عنوان بدون رم بالا نخواهد آمد. تکنولوژی مجازی سازی دقیقا برای همین موضوع ایجاد شده است.
نقش مجازی سازی در مدیریت منابع در دسترس
هر سرور یک سری منابع مشخص برای استفاده دارد که این منابع شامل:
- میزان رم
- نوع CPU
- ظرفیت هارد سرور
- نوع سیستم عامل
و… میباشد. در حالت کلی بدون استفاده از مجازی سازی، صاحبان این سرورها مجبور هستند فقط یک نوع سیستم عامل را برای آن نصب کنند و تمامی منابع این سرور مختص این سیستم عامل باشد.
با استفاده از مجازی سازی این امکان به وجود میآید که مدیریت بهتری بر روی منابع سرور انجام شود به طوری که بتوان منابع را به چند بخش تقسیم کرد و برای هر قسمت یک سیستمعامل جدا نصب کرد.
به طور مثال؛ اگر میزان رم یک سرور ۶۴ گیگابایت باشد با استفاده از تکنولوژی مجازی سازی میتوان این میزان رم را به طور مثال به ۱۶ بخش تقسیم کرد که هر بخش دارای ۴ گیگابایت رم باشند. سپس امکان نصب هرگونه سیستم عامل مختلف برروی این ۱۶ قسمت مجازی فراهم است. در واقع شما با استفاده از مجازی سازی توانستید از یک سرور، ۱۶ حالت مختلف از منابع و سیستم عاملهای مختلف را دریافت کنید.
تقسیم بندی انواع مجازی سازی
به طور کلی انواع مختلفی از مجازی سازی وجود دارد. شما با استفاده از تکنولوژی مجازی سازی میتوانید منابع یک سرور، شبکه، دسکتاپ و یا فضای ذخیرهسازی را به صورت مجازی استفاده کنید. در ادامه به بررسی هر کدام خواهیم پرداخت.
۱. مجازی سازی سرور Server Virtualization
تمامی دیتاسنترهای به روز و پیشرفته در دنیا از تکنولوژی مجازی سازی یا Virtualization استفاده میکنند. به دلیل اینکه با استفاده از مجازی سازی میتوان هزینههای تمام شده یک سرور را کاهش داد. در نتیجه شرکتها و سازمانها سعی میکنند با استفاده از تکنولوژی مجازی سازی سرور، مدیریت بهتری بر روی منابع دیتاسنتر خود داشته باشند.
با استفاده از مجازی سازی سرور این امکان به وجود میآید که یک سرور فیزیکی با منابع مشخص بتواند تعداد زیادی سیستم عامل نصب شده بر روی خود داشته باشد که هر کدام بخشی از منابع آن را اشغال میکند و این سیستم عاملها هیچگونه تداخلی با هم ندارند و هر کدام به صورت جداگانه و موازی در کنار یکدیگر در حال کار هستند. در واقع با استفاده از مجازی سازی سرور و نصب سیستم عاملهای مختلف با منابع مورد نیاز جلوی هدر رفت هر چه تمامتر منابع سرور گرفته میشود.
تصور کنید یک سرور فیزیکی وجود دارد که ۱۲۸ گیگابایت رم را دارا میباشد اگر تمامی منابع این سرور را فقط مختص یک سیستم عامل قرار دهید این سیستمعامل نمیتواند از تمام ظرفیتهای منابع سرور خود به طور کامل استفاده کند و در نتیجه بخش اعظمی از منابع این سرور بدون استفاده باقی میماند. در واقع شما هزینههای زیادی را فقط بابت استفاده از ۲۰ درصد منابع یک سرور میپردازید.
استفاده از تکنولوژی مجازی سازی کمک میکند که سیستم عاملهای مختلفی در کنار یکدیگر به صورت موازی ساخته شوند که هر کدام بسته به نیازی که دارند از منابع سرور استفاده کنند. در نتیجه بیشترین صرفه جویی و استفاده درست از تمامی ظرفیتهای منابع سرور انجام میشود.
فواید مجازی سازی سرور
اینکه یک سرور و منابع آن با استفاده از تکنولوژی مجازی سازی به بخشهای متعدد تقسیم شود فواید بسیار زیادی دارد که در ادامه به بررسی برخی از آنها میپردازیم.
- برای اینکه سیستم عاملهای مختلف با منابع متفاوت ساخته شود دیگر نیاز به صرف هزینه برای خرید سرور مجزا و جدید نیست و این امکان وجود دارد که یک سرور به بخشهای مختلف با سیستمعاملهای متفاوت و با منابع مورد نیاز آنها تقسیم شود.
- میزان هدر رفت منابع سرور در حد زیادی کاهش پیدا میکند و استفاده حداکثری از تمامی ظرفیتهای یک سرور با استفاده از تکنولوژی مجازی سازی صورت خواهد گرفت. فرآیند تعمیر و نگهداری یک سرور که با استفاده از تکنولوژی مجازی سازی به بخشهای مختلف تقسیم شده بسیار آسانتر است. در نتیجه به راحتی میتوان به تعمیر و بررسی هر بخش از سرور پرداخت بدون اینکه عملکرد بقیه قسمتها و سیستم عاملهای مجازی سازی شده دچار اختلال شود.
۲. مجازی سازی شبکه Network Virtualization
در مبحث شبکه نیز تکنولوژی مجازی سازی قابل استفاده است و میتواند برای مدیریت و نگهداری یک شبکه بسیار کارآمد باشد. هنگامی که یک شبکه، مجازی سازی میشود در واقع منابعی که در این شبکه وجود دارند این امکان را به وجود میآورند که بتوان چندین شبکه به صورت مجازی را ایجاد کرد و همچنین امکان این وجود داشته باشد که با استفاده از زیرساختهای نرمافزاری با یکدیگر در ارتباط بوده و بتوانند دادههای مورد نیاز خود را جابجا کنند.
شبکه مجازی سازی شده خود دارای یک سری منابع مختص به خود و مستقل از دیگر شبکه ها میباشد. در واقع زمانی که تعداد کاربران یک شبکه افزایش پیدا کند به جای این که نیاز باشد به ازای هر کاربر در این شبکه یکسری سختافزار جدید به شبکه اضافه شود میتوان همین منابع موجود در شبکه را به بخشهای بیشتری تقسیم کرد و هر شبکه مجازی جدید را در اختیار کاربران جدید قرار داد. به این شکل با افزایش تعداد کاربران یک شبکه نیاز به صرف هزینه زیاد برای خرید و اضافه کردن سختافزار جدید وجود ندارد.
تفاوت مجازی سازی و ظرف سازی (containerization) چیست؟
در فناوری مجازی سازی شما میتوانید سختافزار (مانند هستههای پردازنده، رم، هارد و …) را شبیهسازی کنید و آنها را به عنوان دستگاه جداگانه نشان دهید. بنابراین مجازیسازی در سطح سختافزاری است. رایجترین نرمافزارهای مجازیسازی، VMware و VirtualBox هستند.
اما کانتینر سازی، مجازیسازی در سطح نرمافزار است. در این فناوری شما کل ماشین فیزیکی را شبیهسازی نمیکنید و فقط سیستم عامل دستگاه شبیهسازی میشود. بنابراین چندین برنامه میتوانند هسته سیستم عامل مشابهی داشته باشند. کانتینر نقش مشابه ماشین مجازی دارد اما بدون مجازی سازی سختافزار. متداولترین نرمافزار کانتینر، داکر است
با مزایا و معایب مجازی سازی آشنا شوید
هیچچیزی کامل نیست؛ یعنی هرچیزی، هرچقدر هم بینقص باشد، باز هم ایراداتی دارد و مجازیسازی هم از این قاعده مستثنی نیست. در این قسمت راجع به مزایا و معایب این رویکرد که این روزها، به استانداردی در دنیای IT تبدیل شده است، صحبت خواهیم کرد.
مزایای مجازی سازی
اول از همه خیالتان را راحت کنم که مزایای مجازیسازی از معایب آن بیشتر است. پس اول به ۶ تا از نقاط قوت آن میپردازیم.
۱) کاهش هزینهها
مهمترین مزیت مجازیسازی، همانطور که چند بار هم در متن اشاره کردیم، کاهش هزینهها است. حتی نیازی به گفتن هم نیست! هرچقدر تعداد سرورها یا تجهیزات سختافزاری کمتر شود، هزینه خرید و نگهداری از آنها هم کاهش پیدا میکند.
۲) ریکاوری راحتتر اطلاعات
بازیابی اطلاعات در یک محیط مجازی بسیار ساده است؛ به خصوص اگر از نوع Disaster Recovery باشد. وقتی از تکنولوژی مجازی سازی استفاده میکنید، حتی اگر وضعیت از کنترل خارج شود و فاجعه به بار بیاید، میتوانید ماشین مجازی (VM) را در عرض چند دقیقخه به یک مکان جدید منتقل کنید.
۳) تست راحتتر عملیات
اگر توسعه دهنده هستید، حتماً میدانید که تست کردن برنامه یا عملیات در محیط مجازی، چقدر سادهتر است!
حتی اگر مشکلی در برنامه وجود داشته باشد، نیازی نیست که عملیات را متوقف و از اول شروع کنید؛ شما میتوانید به حالت قبلی برگردید (snapshot قبلی منظورمان است) و از همانجا کار را دوباره شروع کنید.
۴) بکاپگیری سادهتر
از سرورهای مجازی و VM ها میشود خیلی سریع بکاپ تهیه کرد. حتی در طول هر روز، اسنپشاتهایی بهطور دقیق و منظم گرفته میشوند تا خیالتان از بهروز بودن اطلاعات راحت باشد.
۵) آلودگی کمتر محیط زیست
دیتاسنترها و شرکتهای بزرگی که تجهیزات عظیم سختافزاری دارند، ردپای کربن زیادی در طبیعت به جا میگذارند.
اگر بخواهیم مسئولانه به این قضیه کنیم، آنها میتوانند با استفاده از تکنولوژی Virtualization نیازشان به سختافزارهای بزرگ و همچنین مصرف انرژی را کاهش دهند.
۶) امکان تامین سریعتر منابع مورد نیاز
تهیه کردن، نصب و تنظیم سختافزارهای جداگانه برای اجرای هر اپلیکیشن، مسلماً کاری بسیار زمانبر است؛ اما اگر با چندین VM طرف باشیم که همگی از یک سری سختافزار تغذیه میشوند، کار راحتتر و سریعتر انجام خواهد شد.
معایب مجازی سازی
ما ۳ مورد از معایب مجازیسازی را اینجا آوردهایم؛ اگر شما هم مورد خاصی به نظرتان میرسد، در بخش نظرات مطرح کنید تا اطلاعتمان را افزایش دهیم.
۱) هزینه زیاد شروع
اگرچه با مجازیسازی در بلندمدت، بهشدت در هزینهها صرفهجویی خواهد شد، اما این موضوع را هم در نظر بگیرید که نصب و راهاندازی اولیه نرمافزارها و سختافزارهای مورد نیاز برای مجازیسازی خیلی ارزان نخواهد بود!
بهتر است به این موضوع به چشم یک سرمایهگذاری بلندمدت نگاه کنید.
۲) در خطر بودن امنیت دادهها
البته مجازیسازی به خودی خود ایمنی بیشتری را بههمراه میآورد؛ اما گاهی اوقات با سهلانگاری برخی مشترکین، ممکن است امنیت همه به خطر بیفتد.
مثلاً هاست اشتراکی یکی از محصولات مجازیسازی است؛ در صورت ناامن بودن ارائهدهنده سرویس یا وجود اتصالات آسیبپذیر، دادهها در خطر قرار میگیرند.
۳) سازگار نبودن با برخی برنامهها
هنوز هم که هنوز است، برخی از برنامههای مهم (از جمله برخی از دیتابیسها) برای مجازی شدن آماده نیستند. حتی گاهی ممکن است اپلیکیشنها یا سیستم عاملها، با مشکلاتی روبرو شوند و بدون اینکه هیچ سرنخی نشان دهند، در محیط مجازی متفاوت عمل کنند.
و بالاخره … میرسیم به آخر مقاله.
حرف آخر
اولین بار ۶۰ سال پیش بود که موضوع مجازیسازی مطرح شد. حالا در سال ۲۰۲۱ میلادی، این رویکرد به یکی از ضروریات دنیای IT بدل شده است. همیشه هم هدف از انجام این کار، بهره بردن از تمام منابع موجود و صرفهجویی در زمان و هزینه بوده و هست. البته؛ ما هنوز نمیدانیم که انسانها تا کجا میتوانند در مجازی سازی پیش بروند. شاید یک روزی چشمانمان به دنیایی مثل ماتریکس باز شود!