ماشین مجازی (Virtual Machine) چیست؟ با کمک ماشین مجازی میتوانیم چهکاری را انجام دهیم؟ قابلیت مجازی سازی(virtualization) در سیستم به درد ما میخورد یا خیر؟ بچهها من سالها قبل زمانی که از ویندوز xp استفاده میکردم بعد از اون با ویندوز 7 آشنا شدم که بعد از مدتی به صورت مجزا هم ویندوز xp رو هم ویندوز 7 رو روی کامپیوتر داشتم. البته با این تفاوت که من از ماشین مجازی و مجازی سازی سیستم چیزی بلد نبودم و زمانی که کامپیوتر من ریاستارت میشد یا روی ویندوز 7 سوئیچ میکردم یا ویندوز xp. من رضا مظفری هستم و بهتره بگم این قابلیت اون زمان وجود کافی نداشت و واقعا همه جوره اذیت میشدیم. اما الان ..؟
ماشین مجازی (Virtual Machine) چیست؟ آشنایی با مجازی سازی سیستم
در ویدیو بالا به صورت خلاصه به مبحث مجازی سازی سیستم و ماشین مجازی پرداختیم. این صحبت تئوری برای ادامه مسیر لازمه. میخوای بدونی سیستمی که داری از این قابلیت پشتیبانی میکنه یا نه؟ کافیه ویدیو آموزش آیا سیستم ما از مجازی سازی (Virtualziation) و ماشین مجازی (Virtual machine) پشتیبانی میکند؟ رو مشاهده بکنید. اما برگردیم به توضیحاتی که لازمه بدونید.
ماشین مجازی (Virtual Machine) چیست؟
بهصورت خلاصه ماشین مجازی (به زبان انگلیسی: Virtual machine) بر روی یک سیستم (کامپیوتر یا لپ تاپ) نصب، پیادهسازی و اجرا میشود. این روند بهگونهای است که شما به عنوان یک کاربر تصور میکنید که یک کامپیوتر واقعی، بدون تداخل در حال اجرای برنامههای شماست.
با یک توضیح بسیار ساده به شما یاد میدهم که ماشین مجازی چه قابلیتی را برای ما فراهم میکند؟ لپتاپ یا کامپیوتر شخصی من یا شما یک سیستم عامل مرکزی به اسم ویندوز یا لینوکس یا سایر سیستم عاملها بر روی آن اجرا و نصب شده است. سیستم عامل واسطی بین کاربر نهایی و سختافزار است. اگر درک کلی نسبت به کار با کامپیوتر را ندارید پیشنهاد میکنم همین الان دوره آموزشی icdl (آموزش کامپیوتر) را ببینید و در آن شرکت کنید. هزینه شرکت به صورت رایگان است و نیاز به پرداخت هیچ هزینه ایی ندارید.
احتمالاً تا الان به این موضوع فکر کردهاید که چگونه می توانم در کنار سیستم عامل فعلی خودم، یا بهتر است بگوییم در کنار سیستم فعلی خودمان یک سیستم عامل دیگر را اجرا کنیم؟ البته آن هم بدون هیچگونه تداخلی. مگر میشود؟ بله! قابلیت ماشین مجازی یا Virtual Machine به ما کمک میکند تا در کنار سیستم عامل فعلی خودمان، یک سیستم عامل یا چند سیستم عامل دیگر را بدون مشکل اجرا کنیم. برای مثال من در ویندوز 11 خودم در حال حاضر با ویژگی مجازی سازی (virtualization) سیستم میتوانم یک سیستم عامل دیگر که ساختار متفاوتی دارد و متن باز (Open source) است و اسم آن هم لینوکس است را داشته باشم.
اجزای ماشین مجازی
- سیستم عامل (میتونه ویندوز یا لینوکس یا .. باشه)
- ابزارهای VMware (ورژنهای متفاوتی دارد که در ویدیوهای بعدی به شما توضیح خواهم داد.)
- Compatibility Setting (به صورت خیلی خلاصه تنظیم میکند که ماشین مجازی روی کدام نسخه هاست ESXi میتواند اجرا شود)
- دستگاه های سختافزاری (cpu, ram و غیره)
ماشین مجازی (Virtual Machine) یا روش قدیمی؟
با این تفاوت و با قیمت دلار 50 هزارتومان! آیا شما برای داشتن یک سیستم عامل دیگر به خرید یک کامپیوتر یا لپتاپ جدید میروید؟ آیا توان پرداخت هزینه را دارید؟ اگر بله که هیچ مشکلی نیست و میتوانید هر چندتا سیستم را که خواستید خریداری کنید. (فشار خون نویسنده رفته بالا یکی زنگ بزنه آمبولانس بیاد). روش قدیمی؟ یادتان هست در زمان قبل از فیلترینگ های گسترده(منظورم همین 10 سال پیشه .. هرچند که .. اهم بگذریم.) سیستم را ریاستارت میکردیم و سپس اگر دو سیستم عامل مجزا را داشتیم آنوقت میتوانستیم از ویندوزXP استفاده کنیم؟ یا از ورژنهای دیگر؟ تازه .. حتا دو ویندوز XP کنار هم… اه حالم از نبود امکانات در اون زمان بهم خورد :/ یه وقت نبینم کسی از این روشهای قدیمی استفاده کنههااااا .. اگر شما توان پرداخت هزینههای زیاد برای تهیه سیستم جدید را ندارید و میخواهید در هزینههایتان صرفهجویی کنید کافی است از ویژگی و قابلیت ماشین مجازی(Virtual Machine) در سیستم فعلی خودتان استفاده کنید.
آشنایی با کاربرد و مزیت ماشین مجازی (Virtual Machine)
تا اینجا یکی از اصلیترین مزیتهایی که داشت چی بود؟ واقعا چیزی فهمیدی؟ همون مزیت تا آخر عمرت داخل ایران دلیل خوبیه براش که از این ویژگی استفاده کنی! اما از نظر علمی بخوایم بررسی کنیم باید چی بگیم؟ چی برای گفتن داریم؟ یکی از اصلیترین دلیلی که من برای آموزشها و کارهای مربوط به امنیت یا شبکه با این ماشین مجازی انجام میدم این هست که به راحتی میتونم سوئیچ کنم رو چیزی که میخام. برای مثال من از ویندوز 11 وارد ویندوز 10 میشم و یک بدافزار رو تست میکنم و برمیگردم میرم داخل لینوکس و و ابزاری که دارم رو توسعه میدم. تازه این بخش کوچکی از ماجراست.
در بعضی مواقع ممکن است بخواهیم از یک برنامه با یک ورژن قدیمی در یک سیستم عامل دیگر استفاده کنیم. با کمک این مزیت دیگر نیاز به نصب سیستم عامل جدا بر روی سیستم رومیزی خودمان نیست. تا اینجا به صورت خیلی خلاصه در صحبتهایم در کنار شما ذکر کردم که این مزیتها را دارد و بشدت پیشنهاد خوبی است. آیا واقعا این روند مشکل داره؟ اگر آره؟ یکم توضیح بده. به روی چشم.
استفاده بهینه از سختافزارهای موجود در سرورها
اگر ویدیو بالا را با دقت کامل تماشا کرده باشید با یک مثال سرور همراه بود. به عنوان یک کاربر معمولی ما با این موارد سروکاری نداریم و نیاز به دانستن این دانش هم نداریم. اما سازمانها برای استفاده بهینهتر از سختافزار موجود و مدیریت بهتر میتوانند با کمک مجازی سازی این سلسه مراتب را به راحتی مدیریت کنند. از کاهش هزینه تا مدیریت منابع سختافزاری.
پارتیشن بندی
با وجود این قابلیتها ما میتوانیم منابع سیستم شخصی را بین ماشینهای مجازی تقسیم کنیم و درکنار یک سختافزار چندین سیستم عامل راه اندازی کنیم.
ایجاد محیط ایزوله و ایمن در مجازی سازی
یک ویندوز 11 در کنار ویندوز 10 در یک ویندوز از سرویسی مثل سرویس فلان استفاده میکنیم و در یک ویندوز دیگر از یک نرمافزار اداری مثل شیرپوینت. آیا تداخل ایجاد میشود؟ خیر. آیا ویندوز 11 موجود در آن سطح سختافزاری هک شده باشد به ویندوز 10 آسیبی میرساند؟ خیر اما بستگی به روند کار دارد. با راه اندازی یک سیستم ایمن تا حد زیادی در امنیت مطلق به سر خواهیم برد.
اگر بخواهیم راجعبه ویژگیهای ماشین مجازی صحبت کنیم تا آخر این مقاله باید به این موضوع بپردازیم. تنها موردی که به عنوان یک کاربر معلومی با آن سروکار خواهیم داشت این خواهد بود که با کمک این مزیت ما میتوانیم یک سیستم عامل دیگر را داشته باشیم و کارهای خودمان را در آن محیط به خوبی مدیریت و سپس انجام دهیم.
معایبهای چندگانه ماشین های مجازی (Virtual Machine)
نکته: ما فقط جهت اجرا کردن یک سیستم عامل دیگه در کنار سیستم اصلی به این روند مجازی سازی نیاز داریم. پس جای نگرانی نیست.
ظبیعتاً برای تنطیم کردن چندین vm در سرور به منابع سختافزاری بیشتری نیاز داریم. در این زمان ما باید بر اساس برنامهریزی درست و اصولی این روند سیستم سازی را انجام دهیم تا با کاهش منابع روبهرو نشویم. البته این کار با ابزارهای مانیتورینگ صورت میگیرد و در این صورت خطاهای انسانی کمتری رخ خواهد داد. البته یکسری معایب دیگر هم خواهد داشت که در ویدیوهای بعدی به صورت عملی به شما نشان خواهم داد.
آشنایی با مجازی سازی (virtualization)
مجازی سازی (virtualization) چیست؟
در حقیقت مجازی سازی (virtualization) بهمعنای این است که یک ورژن مجازی از یک شئ واقعی ساخته شود. برای نمونه شما میتوانید از هر بخش از یک سرور فیزیکی یک ورژن مجازی تهیه کنید. حتا میتوانید یک شبکه لوکال اینترنتی راه اندازی کنید. اصلی ترین کاربرد مجازی سازی مدیریت آسان منابع میباشد. همانطور که در ویدیو توضیح داده شد، اکثر سرورها منابع محدودی دارند. برای مثال 4 گیگ رم، 2 کور سیپییو یا سایر مشخصات. با توجه به طرفیت فضای دیسک و نوع سیستم عامل مورد نظر این مجازی سازی صورت میگیرد.
لپ کلام! با کمک مجازی سازی میتوانیم مدیریت بهتری را تجربه کنیم. برای مثال یک سرور را به بخش های مختلف تقسیم کنیم و بر روی هر بخش یک سیستم عامل نصب و راه اندازی کنیم. wooow عجب قابلیتی نه؟ نه؟ شوخیت گرفته؟ بیخیال بالا بیا ادامه مطلب رو بخون یکم کیف کنیم.
انواع مجازی سازی
- مجازی سازی سرور
- مجازی سازی شبکه
- مجازی سازی ذخیرهسازی (Storage Virtualization)
- مجازیسازی برنامه (Application Virtualization)
- مجازی سازی دسکتاپ (VDI)
- مجازی سازی داده
- مجازی سازی سیستمعامل
با توجه به انواع مجازی سازی مختلفی که وجود دارد ما فقط نیاز به شرح آنها داریم. در این مقاله وارد حاشیه نخواهیم شد و از این بحث جدا میشویم. کافیه؟ یا خسته شدی پهلوان؟ بیا ادامه بدیم باشه؟ آفرین.
تفاوت سرور با سیستمهای رومیزی (لپتاپ یا کامپیوتر)
اصلیترین تفاوت بین موتور با ماشین چیه؟ ظاهری؟ موتوری؟ آفرین چیزای دیگه هم هست که بهش کاری نداریم باشه؟ خب بازم آفرین. اصلیترین تفاوت بین سرور با یک کامپیوتر شخصی بین منابع سختافزاری آنها میباشد. برای مثال شما یک سیستم با مشخصات فلان، فلان و فلان دارید و در آن طرف یک سرور با یک مشخصات که 10 برابر از مشخصات سیستم شما بزرگتر است، قابل خریداری میباشد. سرور چه ویژگیهایی دارد که سیستم شخصی ما ندارد؟
عملکرد 24 ساعته
ساختار سرورهای امروزی بهطوری طراحی شدهاند که بتوانند در 24 ساعت یک روز با همان عملکرد اولیه پاسخگو نیاز ما باشند. واضح تر؟ بجای 1 عدد cpu میتوانید چندین cpu در آن قرار دهید. به صورت خلاصه، سرور منابع بیشتری را دارد اما سیستم شخصی ما خیر.
تفاوت اصلی ماشین مجازی (Virtual Machine) با کانتینر (Container)
جمعبندی
در این مقاله با ویدیو آموزشی شروع کردیم و با مفاهیم ماشین مجازی و مجازی سازی سیستم آشنا شدیم. ویژگی های اصلی ماشین مجازی به همراه سختافزارهای مورد نیاز و اجزای آنها. با معایب آنها آشنا شدیم. با ساختار کیس و سرور آشنا شدیم که بشدت تفاوت داشتند. با تفاوت بین ماشین و کانینرها آشنا شدیم و به صورت خلاصه بر روی تاریخچه فوکس کردیم. با انواع مجازی سازی آشنا شدیم و در آخر تمرکز ما به عنوان یک کاربر معلومی بر روی نصب سیستم عامل خواهد بود و با موارد گفته شده کاری نخواهیم داشت.