سوئیچ های مجازی در VMware vSphere

هر ارتباط داخلی و خارجی به یک سرور میزبان از درون یک سوئیچ مجازی می‌گذرد. سوئیچ مجازی، یک سوئیچ نرم‌افزاری لایه 2 است که با اتصال به هسته مجازی‌سازی امکان استفاده از کارت های شبکه فیزیکی میزبان را فراهم کرده و اتصال خود را به کابل های متصل به سوئیچ های شبکه فیزیکی و سپس به شبکه هایی بزرگتر برقرار می کند. امکان اتصال چندین کارت شبکه فیزیکی به شبکه یک سوئیچ مجازی برای استفاده از قابلیت تقسیم بار (load-balancing) وجود دارد. همچنین امکان جایگزینی کارت شبکه جدید در زمان بروز قطعی شبکه امکان پذیر است. vSphere ESX/ESXi استاندارد 802.3ad را کاملا پشتیبانی می کند.

 
 
 

معرفی سوئیچ های مجازی 

 
 سوئیچ مجازی (vSwitch)

یک سوئیچ مجازی، نرم‌افزاری است که توسط میزبان ESX و ESXi برای برقراری ارتباط شبکه ماشین های مجازی استفاده می شود. این دستگاه های نرم‌افزاری با استفاده از کارت های شبکه فیزیکی و یا uplinkها به سوئیچ های فیزیکی متصل می شوند. مدیریت این سوئیچ ها به دو صورت امکان پذیر است:

1- استفاده از نرم‌افزار vCenter Server 

2- برقراری ارتباط مستقیم با نرم‌افزار vSphere Client

 

سوئیچ توزیع شده مجازی (Distributed vSwitch)
نحوه عملکرد این سوئیچ همانند سوئیچ های مجازی است اما با این تفاوت که گستره پوشش این سوئیچ ها به ببش از یک میزبان ESX/ESXi  می رسد. سوئیچ های توزیع شده قابلیت های پیشرفته تری را ارائه می دهند و مدیریت آنها تنها با استفاده از نرم‌افزار vCenter Server امکان پذیر است.

 

سوییچ های مجازی وانواع Port Group

انواع Port Group

یک جز منطقی در سوئیچ مجازی است که امکان ارتباط شبکه و یا جداسازی ترافیک از سوئیچ‌های مجازی را امکان پذیر می‌کند. سه نوع پورت گروهی وجود دارد: VMkernel، Service Console (تنها در سرور ESX) و Virtual Machine.

پورت Service Console (ESX Only) 
یک پورت مدیریتی است که با تنظیم یک آدرس IP امکان دسترسی به سرور ESX را فراهم می‌کند. واژه vswif interface اصطلاحی است که برای رابط مدیریتی شبکه سرور ESX استفاده می‌شود. این رابط به صورت معمول در زمان نصب تنظیم می‌شود و اولین رابط ساخته شده vswif0 نام دارد. در صورتی که رابط‌های دیگری برای کنسول خدمات ساخته شود این شماره افزایش می‌یابد برای مثال vswif1، vswif2 و به همین ترتیب.

پورت VMkernel
پورتی خاص که با تنظیم یک آدرس IP امکان انجام عملیات های مرتبط با VMotion و ارتباط iSCSI و NFS را فراهم می‌کند. در صورت استفاده از نرم‌افزار ESXi این پورت گروهی عملیات مدیریتی سیستم را همانند آنچه در سرورهای ESX و با استفاده از Service Console صورت میگیرد را برعهده می‌گیرد.

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

 

VLAN
قابلیت VLAN به شما امکان می‌دهد تا با استفاده از یک VLAN ID ترافیک شبکه را به صورت منطقی تفکیک کنید.

پورت Trunk
پورتی خاص بر روی سوئیچ که با تنظیم آن امکان عبور ترافیک به بیش از یک VLAN امکان‌پذیر است.

Access port
این پورت به یک سیستم عامل مهمان متصل است و تنها می‌تواند ترافیک یک شناسه VLAN را عبور دهد.

 

انواع رابط های مجازی

کارت شبکه مجازی (vNIC): بیش از شش نوع کارت شبکه مجازی برای سیستمعاملهای مهمان بر روی سرور میزبان ESX موجود و قابل دسترس است.

رابط Vlance: رابط کارت شبکه شبیه سازی شده AMD79c970 PCnet32 است. سرعت تبادل اطلاعات آن 10 مگابیت در ثانیه است و امکان استفاده از آنها توسط بسیاری از سیستم‌عامل‌های 32 بیتی (به جز ویندوز ویستا و ویندوزهای پس از آن) وجود دارد. این رابط به ماشین‌های مجازی امکان می‌دهد تا به صورت لحظه‌ای به شبکه دسترسی داشته باشند.

رابط VMXNET: رابط کارت شبکه مجازی مستقر بر روی ماشین‌های مجازی است و قادر به برقراری ارتباط شبکه با سرعت یک گیگابیت در ثانیه است. دستگاهی خاص است و تنها در صورت نصب بسته نرم‌افزاری VMware Tools (ابزار مجازی‌سازی) بر روی ماشین مجازی قابل دسترس است.

رابط Flexible: این رابط می‌تواند از نوع Vlance یا VMXNET باشد. نوع این رابط به درایورهای سیستم‌عامل وابسته است. در صورتی که بسته نرم‌افزاری VMware Tools نصب شده باشد نوع این رابط VMXNET خواهد بود.

رابط E1000: رابط مجازیی است که از روی دستگاه Intel 82545EM Gigabit NIC با سرعت یک گیگا بیت در ثانیه شبیه سازی شده است. عموماً در سیستم عامل ویندوز XP و نسخه‌های بعدی ویندوز و هسته سیستم عامل لینوکس از نسخه 2.4.12 به بعد مورد استفاده قرار می‌گیرد.

رابط VMXNET2 (Enhanced) : این رابط بر پایه رابط VMXNET است اما در طراحی آن تغییراتی برای بالا بردن عملکرد دستگاه و پشتیبانی از Jumbo frames و hardware offloads داده شده است. این رابط توسط سیستم‌عامل‌های زیر پشتیبانی می‌شود:

- ویندوز سرور 2003 نگارش Enterprise و Datacenter
- ویندوز XP Professional
- لینوکس Red Hat Enterprise ویرایش 5
- لینوکس SUSE سرور Enterprise ویرایش 10
- لینوکس Red Hat 64 بیتی نگارش Enterprise ویرایش 4
- لینوکس Ubuntu 64 بیتی

رابط VMXNET3: این رابط نیز امکانات رابط مجازی VMXNET2 را ارائه میدهد به همراه امکاناتی همانند Receive Side Scaling، IPv6 و پشتیبانی از MSI/MSI-X. این رابط تنها در سیستم‌عامل‌های 32 و 64 بیتی جاری پشتیبانی می شود:

- ویندوز XP، 2003 و 2008
- لینوکس Red Hat Enetrprise ویرایش 5 و بعدی
- لینوکس SUSE Enterprise ویرایش 10 و بعدی
- لینوکس Asianux ویرایش 3 و بعدی
- لینوکس Debian ویرایش 4 و بعدی
- لینوکس Ubuntu ویرایش 7.04 و بعدی
- Sun Solaris ویرایش 10 U4 و بعدی

کارت شبکه فیزیکی (pNIC) نصب شده بر روی سرورهای میزبان ESX/ESXi امکان برقراری ارتباط میان شبکه مجازی و دنیای واقعی را فراهم میکند. کارت‌های شبکه‌ مجازی (vNIC) امکان ارتباط میان سیستم‌عامل‌های مهمان و سوئیچ مجازی را برقرار می‌کنند.
زمانی که از وقوع قطعی ارتباط شبکه مطلع می‌شوید با vmnic نیز آشنا می شوید. Vmnic یک نرم‌افزار مجازی است که به کارت شبکه فیزیکی سرور متصل و ارتباط میان سوئیچ مجازی و سوئیچ فیزیکی را از طریق کارت شبکه فیزیکی برقرار می‌کند. این جز نرم‌افزاری را می‌توان با پورت ترانک موجود بر روی سوئیچ‌های فیزیکی مشابهت داد.

 

شباهت‌ها و تفاوتهای سوئیچ های مجازی vSphere با مدل های واقعی

سوئیچ‌های مجازی همانند مدل مشابه خود سوئیچ‌های فیزیکی دستگاهی لایه 2 است و مانند یک سویئچ فیزیکی دارای جدولی از مک آدرس های تمامی دستگاه های متصل می باشد. همچنین از قابلیت VLAN و Trunking موجود در استاندارد 802.1q پشتیبانی می کند.
گرچه تفاوت هایی میان سوئیچ های مجازی و فیزیکی وجود دارد اما آنچه بایستی به یاد داشته باشید عدم امکان استفاده از پروتکل Spanning Tree در سوئیچ های مجازی است. این مسئله از آنجا ناشی می شود که امکان اتصال مستقیم سوئیچ های مجازی به سایر سوئیچ های مجازی وجود ندارد.

شکل زیر نشان دهنده روابط شبکه درونی و خارجی یک سوئیچ مجازی در یک محیط مجازی است. در این شکل کارت شبکه فیزیکی سرور میزبان به صورت سنتی به سوئیچ فیزیکی متصل شده است. این کارت های شبکه به صورت منطقی به vmnic های موجود در سرور میزبان متصل شده اند و با استفاده از آنها به سوئیچ های مجازی داخلی وصل شده‌اند و ارتباط میان سیستم‌عامل های مهمان اجرا شده بر روی میزبان و دنیای خارجی را امکان پذیر می نمایند.

در پوشش درونی سوئیچ های مجازی پورت های گروهی قرار دارند. همانطور که قبلا اشاره شد سه نوع پورت گروهی در سرور ESX وجود دارد: کنسول خدمات، هسته مجازی‌سازی، ماشین مجازی و در سرور ESXi تنها دارای دو نوع پورت گروهی است زیرا از کنسول خدمات سنتی برای مدیریت سیستم استفاده نمی کند.
محیط مجازی در سرور ESX/ESXi قابلیت های شبکه مشابه دنیای واقعی را ارائه می دهد. که این قابلیت ها شامل کارت های شبکه مجازی، سوئیچ های استاندارد مجازی، سوئیچ های توزیع شده مجازی و پورت‌گروهی است. 

همانند یک ماشین واقعی، ماشین های مجازی میزبانی شده در سرور نیاز به یک یا چند کارت شبکه (که در ماشین های مجازی با نام vNIC شناخته می شوند) دارند. سیستم عامل های مهمان و نرم‌افزارها، با نصب درایور با کارت های شبکه مجازی ارتباط برقرار می کنند. این درایورها می توانند یک درایور واقعی (مانند e1000) یا یک درایور ساخت شرکت وی‌ام‌ور باشد مانند VMXNET که برای محیط مجازی بهینه شده است.

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

با استفاده از این مکانیزم یک agent خارج از شبکه نمی تواند تشخیص دهد که با یک ماشین مجازی ارتباط برقرار کرده است یا خیر. تنها راه تشخیص یک سیستم عامل مهمان از طریق شناسایی مک آدرس آن است. این آدرس ها توسط شرکت وی‌ام‌ور تعیین می شوند. (شرکت وی‌ام‌ور سه شناسه شرکتی مک آدرس را ثبت نموده است که رایج ترین آن با آدرس 00:50:56 آغاز می شود)