برای مطالعه بخش چهلم و یکم آموزش رایگان و جامع نتورک پلاس (+Network) اینجا کلیک کنید
مجازیسازی
اگر به یاد داشته باشید در آموزشهای اولیه نتورکپلاس با نحوه ساخت ماشینهای مجازی در قالب یک پروژه کاربردی در محیط ویندوز آشنا شدید. روی یک کامپیوتر ویندوزی شما میتوانید از Hyper-V یا VirtualBox برای ساخت ایستگاه کاری و سرور ماشینهای مجازی و نصب سیستمعاملهای ویندوز و لینوکس روی آنها استفاده کنید. این رویکرد فرصتی در اختیارتان قرار میدهد تا به واکاوی فناوری مجازیسازی بپردازید. اما اجازه دهید در چند شماره آینده به شکل دقیقتری مبحث مجازیسازی را بررسی کنیم. مجازیسازی یک نسخه مجازی یا منطقی از یک ماهیت ملموس یا به عبارت دقیقتر فیزیکی است. بهطور مثال، زمانی که شما یک سرور ماشین مجازی اوبونتو را روی یک کامپیوتر ویندوزی نصب میکنید، ماشین ویندوزی یک کامپیوتری فیزیکی یا میزبان (host ) است و ماشین اوبونتو یک کامپیوتر منطقی یا میهمان است که از سوی یک کامپیوتر فیزیکی میزبانی شده است، اما در عین حال، سیستمعامل اوبونتو خودش به عنوان یک ماشین فیزیکی کار کرده و قابل استفاده است، هر چند که به شکل مجازی نصب شده باشد. اینکار چگونه امکانپذیر است؟ برای این منظور ما به نوع خاصی از نرمافزارها که هایپرویزرو نامیده میشود نیاز داریم. هایپرویزور یک ماشین مجازی را ایجاد و منابع تخصیص داده شده و بهاشتراک قرار گرفته میان یک میزبان و هر نوع ماشین مجازی را مدیریت میکند. همه دستگاههای مجازی روی یک کامپیوتر منابعی همچون پردازنده، هارددیسک، حافظه اصلی و رابطهای فیزیکی شبکه را با یکدیگر به اشتراک قرار میدهند. هر ماشین مجازی میتواند به گونهای پیکربندی شود که سیستمعاملهای مختلفی روی آن نصب شود. ماشینهای مجازی با شبیهسازی پردازنده، درایو ذخیرهسازی یا کارت شبکه کامپیوترها قادر به انجام فعالیتهای خود هستند. اما در عین حال، کاربرانی که از ماشینهای مجازی استفاده میکنند هیچگونه تفاوتی را میان یک کامپیوتر فیزیکی و یک ماشین مجازی متوجه نخواهند شد. شکل زیر برخی از عناصر فناوری مجازیسازی را نشان میدهد.
در اینجا دو نوع هایپرویزور نوع 1 و نوع 2 وجود دارد. تفاوتهای این دو نوع در تصویر زیر نشان داده شده است.
• هایپرویزور نوع 1 (Type 1 hypervisor) – هایپرویزور نوع 1 به دلیل اینکه به شکل مستقیم روی سختافزار یک کامپیوتر و قبل از سیستمعامل نصب میشوند به نام هایپرویزور فلز آشکار/لخت (bare-metal) شهرت دارند. هایپرویزورهای نوع یک قدرت پردازشی سختافزار را میان چند ماشین مجازی که هر یک سیستمعامل مخصوص به خود را دارند تقسیم میکند. از هایپرویزورهای محبوب این گروه میتوان به XenServer ارائه شده از سوی سیتریکس (Citrix)، ESXi ارائه شده از سوی VMware و Hyper-V ارائه شده از سوی مایکروسافت اشاره کرد. این نوع هایپرویزور را گاهی هایپرویزور native مینامند. اولین هایپروزور ساخت شرکت آیبیام در 60 میلادی از نوع native بود شد که تشمل بر نرمافزار آزمایشی SIMMON و سیستمعامل CP/CMS بود.
• هایپرویزور نوع 2 (Type 2 hypervisor) – روی یک سیستمعامل میزبان و به عنوان یک برنامه کاربردی که هایپرویزور میزبانی شده نامیده میشوند نصب میشوند. کلاینت Hyper-V و VirtualBox که در آموزشهای اولیه این سری آموزشی با آنها آشنا شدید هایپرویزورهای نوع 2 هستند. از نمونههای معروف این گروه میتوان به VMware Player و KVM لینوکس اشاره کرد. هایپرویزور نوع دوم به قدرتمندی هایپرویزور نوع اول نیست، زیرا برای انجام محاسبات خود به سیستمعامل میزبان وابسته است. از سویی دیگر، ماشینهای مجازی میزبانی شده توسط هایپرویزورهای نوع 2 همانند نوع اول ایمن نبوده و کندتر هستند. این نوع هایپرویزور در نقش فرآیندی روی سیستمعامل میزبان اجرا میشود. در شرایط عادی به سختی میتوانید تفاوت میان این دو مدل را از هم تشخیص دهید.
ویژگیهای سختافزاری و نرمافزاری یک ماشین مجازی زمانی مشخص میشود که هایپرویزور نصب شده باشد. همانگونه که یاد گرفتید، این ویژگیها میتوانند بهطور کامل برای هر ماشین میزبان متفاوت باشند. به یاد داشته باشید که یک ماشین مجازی یک موجودیت کاملا منطقی است. شما میتوانید ماشین مجازی و سیستمعامل مهمانی که روی آن نصب شده است را به شکل سفارشی درآورده و مقدار حافظه، اندازه هارد دیسک و نوع پردازنده را نیز به شکل سفارشی مشخص کنید. در شکل زیر تنظیمات یک ماشین مجازی مرتبط با VMware را مشاهده میکنید که اجازه میدهد مقدار حافظه در دسترس ماشین مجازی را مشخص کنید.
اگر به تصویر بالا دقت کنید، مشاهده میکنید که شما میتوانید سایر تنظیمات سختافزاری ماشین مجازی همچون پردازنده، درایوهای نوری، آداپتور شبکه و سایر تنظیمات را نیز به شکل سفارشی و منطبق با نیازهای خود تعیین کنید. در حالی که محدودیتهای فیزیکی سختافزاری همچون کمبود حافظه اصلی یا فضای ذخیرهسازی در دسترس همواره وجود دارند، با این وجود هایپرویزور به شما اجازه میدهد تجربه متفاوتی از عملکرد یک ماشین مجازی را روی یک ماشین میزبان تجربه کنید. به مرور زمان که اطلاعات بیشتری در مورد مجازیسازی به دست میآورید، متوجه خواهید شد که چگونه باید ماشینها را پیکربندی کنید که به بهترین شکل از منابع سختافزارس استفاده کنند.
نوع /وضعیت اتصال به شبکه
ماشینهای مجازی میتوانند به روشهای مختلفی به شبکه یا در حالت کلیتر به اینترنت متصل شوند. بهطور مثال شما ممکن است سیستمعاملی را روی VirtualBox نصب کنید و نوع اتصال به شبکه را Bridge برای هر آداپتور شبکه ماشین مجازی مشخص کنید. اما این حرف چه معنایی دارد؟ هر ماشین مجازی دارای آداپتور شبکه مجازی مخصوص به خود یا همان کارت شبکه مجازی vNIC سرنام (Virtual NIC) است که میتواند ماشین مجازی را به سایر دستگاههای مجازی یا فیزیکی متصل کند. درست همانند یک کارت شبکه فیزیکی، نمونه مجازی نیز در لایه پیوند دادهها کار کرده و به ماشین اجازه دسترسی به شبکه را میدهد. هر ماشین مجازی میتواند کارتهای شبکه مجازی مختلفی داشته باشد و اهمیتی ندارد که چند کارت شبکه را روی دستگاه میزبان در اختیار دارد. حداکثر تعداد کارتهای شبکه مجازی در یک ماشین مجازی بستگی به محدودیتهای اعمال شده از سوی هایپرویزور دارد. بهطور مثال، VirtualBox اجازه می دهد تا هشت کارت شبکه مجازی در هر ماشین مجازی در اختیار داشته باشید. پس از ایجاد، هر کارت شبکه مجازی بهطور خودکار یک آدرس مک به کارت تخصیص داده میشود. شکل زیر کادر محاوره مربوط به پنجره تنظیمات VMware را نشان میدهد که اجازه میدهد ویژگیهای کارت شبکه مجازی را برای یک ایستگاه کاری مجازی تنظیم کنید.
یکی از گزینههای جالبی که در این زمینه وجود دارد به نحوه تنظیم سرعت انتقال دادههای وارد و خارج شونده به ماشین مجازی برای یک کارت شبکه مجازی مرتبط است. بهطور مثال، شما میتوانید سرعت انتقال را کم یا زیاد انتخاب کنید. در شمارههای آتی اطلاعات بیشتری در این ارتباط به دست خواهید آورد.
به محض این که کارت شبکه مجازی انتخاب شد، هایپرویزور یک اتصال میان ماشین مجازی و میزبان ایجاد میکند. بسته به هایپرویزور، این اتصال ممکن است پل یا سوئیچ نامیده شود. این سوئیچ مجازی (vSwitch) یا پل یک دستگاه منطقی است که در لایه پیوند دادهها عمل میکند تا فریمها را بین گرهها منتقل کند. بنابراین، ماشینهای مجازی میتوانند به برقراری ارتباط با یکدیگر و با گرهها در یک شبکه فیزیکی یا WAN بپردازند. یک میزبان میتواند از چندین سوییچ مجازی پشتیبانی کند که توسط هایپرویزور کنترل میشوند. شکل زیر دستگاه میزبان با دو کارت شبکه فیزیکی را نشان میدهد که از چندین ماشین مجازی و کارت شبکه مجازی استفاده میکنند. سوییچ مجازی کارتهای شبکه مجازی را به شبکه متصل میکند.
ماشینهای مجازی میتوانند از یک سوییچ مجازی روی کامپیوتر میزبان برای رسیدن به شبکه فیزیکی استفاده کنند و میتوانند با روترهای فیزیکی یا مجازی، سایر دستگاههای شبکه و سایر میزبانها در شبکه محلی یا سایر شبکهها ارتباط برقرار کنند. بهطور مثال، در شکل زیر یک ماشین مجازی در میزبان A میتواند با ماشین مجازی در میزبان B ارتباط برقرار کند. رویکردی که کارت شبکه مجازی بر مبنای آن پیکربندی شده مشخص میکند که آیا ماشین مجازی به یک شبکه مجازی وصل شده یا در تلاش برای پیوستن به شبکه محلی فیزیکی است که ماشین میزبان به آن متصل شده است.
این پیکربندیهای مختلف حالتهای شبکه نامیده میشود. از متداولترین نوع این حالتها میتوان به حالت پل (bridge)، NAT و تنها میزبان اشاره کرد، این توصیفها مربوط به نوع هایپرویزور نوع دوم هستند که شما در پروژههای خود از آنها استفاده خواهید کرد. با این حال هایپرویزورهای نوع 1 نیز یک چنین تنظیمات و پیکربندیهای مربوط به شبکهها را ارائه میکنند.
حالت پل (Bridged)
در حالت پل، یک کارت شبکه مجازی به یک شبکه فیزیکی از طریق کارت شبکه میزبان دسترسی پیدا میکند، همانطور که در شکل زیر نشان داده شده است. به عبارت دیگر، رابط مجازی و رابط فیزیکی پل ارتباطی دارند. اگر دستگاه میزبان شما شامل چند آداپتور فیزیکی است - بهطور مثال یک کارت شبکه بی سیم و یک کارت شبکه سیمی - شما میتوانید آداپتور فیزیکی را هنگامی که آداپتور مجازی را پیکربندی میکنید انتخاب کنید.
اگرچه یک ارتباط مبتنی بر پل کارت شبکه مجازی از طریق آداپتور میزبان انجام میشود، اما کارت شبکه مجازی آدرس آیپی خود، گیتوی پیشفرض و زیر شبکه را از سرور DHCP در شبکه فیزیکی دریافت میکند. بهطور مثال، فرض کنید سرور DHCP شما پیکربندی شده است تا آدرسها را در محدوده 92.168.1.120 از طریق 192.168.1.254 به گرههای شبکه اختصاص دهد. کارت شبکه فیزیکی دستگاه میزبان ممکن است خود یک آدرس IP 92.168.1.131 در اختیارتان قرار دهد. مهمان روی میزبان شما ممکن است یک آدرس IP 192.168.1.132 را به دست آورد. یک مهمان دوم روی همان میزبان ممکن است آدرس IP 192.168.1.133 را به دست آورد و.... هنگامی که برای برقراری اتصال از حالت پل استفاده میکنید، یک ماشین مجازی شبیه به سایر گرهها و به عنوان یک کلاینت یا سروری روی یک شبکه ظاهر میشود. سایر گرهها به شکل مستقیم و بدون آنکه از مجازی بودن اطلاعی داشته باشند با کامپیوتر ارتباط برقرار میکنند.
ماشینهای مجازی که باید بر مبنای یک آدرس آیپی خاص در دسترس باشند، مانند میلسرورها یا وبسرورها، باید از حالت پل برای برقراری ارتباط استفاده کنند. با این حال، سایر گرههایی که نیازی ندارند به شکل مستقیم به ماشین مجازی متصل شوند این توانایی را دارند تا از حالت NAT برای برقراری استفاده کنند.
حالت NAT
در حالت NAT کارت شبکه مجازی به دستگاه میزبان به عنوان یک دستگاه NAT نگاه میکند. به عبارت دیگر، ماشین مجازی اطلاعات آیپی را به جای آنکه از یک سرور یا روتری روی یک شبکه فیزیکی دریافت کند از میزبان دریافت میکند. برای انجام این کار، هایپرویزور به عنوان یک سرور DHCP عمل میکند. یک کارت شبکه مجازی که در وضعیت NAT عمل میکند قادر است با سایر گرهها در شبکه و بالعکس ارتباط برقرار کند. با این حال، گرههای دیگر با آدرس آی پیمیزبان ارتباط برقرار میکنند تا به ماشین مجازی دسترسی داشته باشند. ماشین مجازی خودش برای گرهها در یک شبکه فیزیکی نامرئی است. شکل زیر یک ماشین مجازی را در حالت NAT نشان میدهد.
هنگامی که نوع پیکربندی NAT را انتخاب کردهاید، در ادامه میتوانید مجموعه آدرسهای آیپی موجود در ماشین مجازی را روی میزبان پیکربندی کنید. بهطور مثال، فرض کنید، دستگاه میزبان شما یک آدرس آیپی به صورت 192.168.1.131 دارد. شما ممکن است سرویس DHCP میزبان خود را برای تخصیص آدرسهای آیپی در محدوده 10.1.1.120 از طریق 10.1.1.254 به ماشینهای مجازی که روی میزبان ایجاد کردهاید پیکربندی کنید. از آنجایی که این آدرسها هرگز فراتر از میزبان قابل مشاهده نیستند، شما در انتخاب دامنه آیپی آدرسها انعطافپذیری خوبی دارید. مدل ارتباطی NAT برای ماشینهای مجازی مناسب است که سایر گرههای شبکه برای دسترسی به آنها به آدرس شناخته شدهای نیازی ندارند. بهطور مثال، ایستگاههای کاری مجازی که عمدتا برای اجرای برنامههای مستقل استفاده میشوند یا به عنوان تستر برای آزمایش برنامهها یا نصب سیستمعاملها عمل میکنند، بهتر است از مدل اتصال NAT استفاده میکنند.
حالت فقط میزبان
در حالت فقط میزبان، ماشینهای مجازی روی یک میزبان میتوانند دادهها را با یکدیگر و با میزبان خود مبادله کنند، اما نمیتوانند با هیچ گرهی فراتر از میزبان ارتباط برقرار کنند. به عبارت دیگر، کارت شبکه مجازی هرگز اطلاعات را از طریق کارت شبکه فیزیکی میزبان دریافت و یا انتقال نمیدهد. در حالت فقط میزبان، مانند حالت NAT، ماشینهای مجازی از سرویس DHCP موجود نرمافزار مجازیساز میزبان برای به دست آوردن آدرس آیپی استفاده میکنند. شکل زیر نشان میدهد چگونه گزینه فقط میزبان یک شبکه مجازی ایزوله را ایجاد میکند.
حالت Host-only برای آزمایش شبکههای تست یا زمانی که قصد دارید فقط باید یک سیستمعامل متفاوت را روی ایستگاه کاری خود نصب کنید و ایستگاه قرار است از برنامهای استفاده کند که با سیستمعامل میزبان سازگاری ندارند مناسب است. بهطور مثال، فرض کنید پروژهای در اختیار دارید که در آن مجبور هستید دیاگرامهایی را در نرمافزار Microsoft Visio طراحی کنید و ایستگاه کاری شما از سیستمعامل لینوکسی ردهت استفاده میکند. در این حالت میتوانید روی ماشین مجازی ویندوز 10 را با هدف نصب و اجرای Visio در اختیار داشته باشید.
بدیهی است به دلیل اینکه حالت فقط میزبان، مانع از آن میشود که ماشینهای مجازی به تبادل دادهها با یک شبکه فیزیکی بپردازند، پیکربندی فوق نمیتواند برای سرورهای مجازی که کلاینتها در یک شبکه محلی نیاز دارند به آن دسترسی داشته باشند مناسب باشد. این حالت همچنین برای ایستگاههای کاری که نیاز به دسترسی به شبکه محلی یا سرویسهای WAN همچون صفحات وب یا ایمیل دارند نیز مناسب نیست. شبکههای فقط میزبان در مقایسه با شبکههای NAT و bridged کمتر متداول هستند.
نرمافزار مجازیسازی به شما اجازه میدهد انواع مختلفی از شبکهها را روی یک میزبان ایجاد کنید. بهطور مثال، در یک میزبان شما میتوانید یک شبکه فقط میزبان برای آزمایش چندین نسخه از لینوکس ایجاد کنید. روی همین میزبان، شما میتوانید یک گروه از ماشینهای مجهز به ویندوز سرور 2016 ایجاد کنید که به شبکه فیزیکی محلی شما متصل شوند و از ارتباط مبتنی بر پل استفاده کنند. همچنین میتوانید به جای مشخص کردن یکی از چهار نوع اتصال شبکهای که در گذشته به آنها اشاره شد، یک ماشین مجازی ایجاد کنید که شامل یک کارت شبکه مجازی باشد اما به هیچ شبکه مجازی و فیزیکی متصل نشود. جلوگیری از برقراری ارتباط ماشین مجازی با دیگر گرهها آن را کاملا ایزوله میکند. این رویکرد ممکن است هنگام آزمایش نرمافزارهایی که غیر قابل پیشبینی هستند یا فایلهای ایمیج دریافت شده از منابع غیرمعتبر مفید باشد.
در شماره آینده آموزش نتورکپلاس مبحث مجازیسازی و محاسبات ابری را ادامه خواهیم داد.
استان تهران (تهران): آموزشگاه عصر شبکه
برگزار كننده دورهها بصورت حضوری و مجازی همزمان
تلفن: 02188735845 کانال: Asrehshabakeh@
---------------------------------------
استان گیلان (رشت): آموزشگاه هیوا شبکه
تلفن: 01333241269 کانال: HivaShabake@
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟