x
تبلیغات

 

در Hyper-V ارائه شده در Windows Server 2012 امکان ایجاد NIC Teaming بر روی کارت های شبکه موجود در یک ماشین مجازی، معرفی گردید. ممکن است این سوال برای شما پیش آید که با وجود فعال بودن NIC Teaming بر روی سرور میزبان، چه نیازی به فعال نمودن NIC Teaming در درون یک ماشین مجازی وجود دارد؟

 

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

 

فرض کنید که قابلیت SR-IOV را بر روی کارت شبکه مجازی یک ماشین مجازی فعال نموده اید. همانطور که می دانید، با فعال نمودن این قابلیت، تمامی ارتباطات برقرار شده از سوی کارت شبکه ماشین مجازی، بسیاری از عملکردهای سیستم عامل مدیریتی (منظور از سیستم عامل مدیریتی و یا همان Management OS، سیستم عاملی است که نقش Hyper-V را بر روی آن فعال نموده اید) را پشت سر گذاشته و از آنها استفاده نمی نماید. از جمله این عمکلردها، فعال بودن قابلیت NIC Teaming بر روی سرور میزبان می باشد. بدین ترتیب، هنگامی که قابلیت SR-IOV مورد استفاده قرار می گیرد، تحمل خطا (Fault Tolerance) برای از دست رفتن یک کارت شبکه فیزیکی، تاثیر مستقیم بر عملکرد ماشین مجازی مرتبط با آن، می گذارد. از این رو، همانطور که حدس می زنید، می توان با استفاده از قابلیت NIC Teaming در درون یک ماشین مجازی، بر این محدودیت فائق آمد. به شکل زیر نگاه کنید:

 

1

 

نکته: از آنجایی که قابلیت NIC Teaming برای اولین بار در Windows Server 2012 معرفی شده است، لذا می توان نتیجه گرفت که استفاده از این قابلیت در درون یک ماشین مجازی، نیازمند سیستم عامل Windows Server 2012 و بالاتر می باشد.

 

توجه داشته باشید که فعال کردن قابلیت NIC Teaming در درون یک ماشین مجازی، دقیقا همانند فعال کردن آن بر روی یک سرور فیزیکی می باشد؛ با این تفاوت که می بایست قبل از انجام این کار، توانایی برای استفاده از این قابلیت را برای ماشین مجازی مورد نظر، در درون Hyper-V فعال نمایید. به مثال زیر توجه کنید:

 

فرض کنید که می خواهیم عملیات نمایش داده شده در شکل فوق را به اجرا بگذاریم. بدین ترتیب، ابتدا اقدام به ایجاد دو Virtual Switch در Hyper-V می نماییم. به تصاویر زیر نگاه کنید:

 

2

 

3

 

حال، کارت های شبکه اختصاص داده شده به ماشین مجازی مورد نظر را به هر کدام از Virtual Switchهای ایجاد شده، اختصاص می دهیم. به شکل زیر نگاه کنید:

 

4

 

حال در ماشین مجازی مورد نظر، اقدام به پیکربندی قابلیت NIC Teaming می نماییم. بدین منظور کافیست طبق تصاویر زیر عمل کنید:

 

5

 

6

 

7

 

بعد از گذشت اندک زمانی، رخداد زیر بوقوع می پیوندد که نمایانگر درستی عملیات پیکربندی NIC Teaming می باشد:

 

8

 

حال می خواهیم صحت عملیات پیکربندی صورت گرفته را آزمایش کنیم. بدین منظور، آدرس 8.8.8.8 را ping می نماییم. به شکل زیر نگاه کنید:

 

9

 

همانطور که در شکل فوق مشاهده می نمایید، موفقیت در انجام این عملیات، صحت پیکربندی قابلیت NIC Teaming را به اثبات می رساند. حال یکی از کارت های شبکه موجود بر روی ماشین مجازی را جهت تست قابلیت Failover موجود در NIC Teaming، غیر فعال خواهیم نمود. این در حالیست که قبل از انجام این کار، آدرس 8.8.8.8 را ping می نماییم. به تصاویر زیر نگاه کنید:

 

10

 

11

 

همانطور که در تصاویر فوق مشاهده می نمایید، غیر فعال نمودن یک کارت شبکه متعلق به یک Team، کل ساختار NIC Teaming پیکربندی شده را دچار مشکل نموده است! براستی مشکل از کجا نشات می گیرد؟

 

همانطور که در اوایل این مقاله بدان اشاره شد، علاوه بر پیکربندی NIC Teaming در درون ماشین مجازی مورد نظر، تنظیمات ماشین مورد بحث نیز می بایست از منظر Hyper-V، مورد تغییر قرار گیرد. بدین منظور کافیست طبق تصاویر زیر عمل کنید:

 

12

 

13

 

بعد از انجام عملیات فوق و ساخت مجدد Team مورد نظر (در آزمایش های بعمل آمده توسط اینجانب، می بایست Team موجود، حذف و مجددا ساخته شود)، رخداد زیر با شرایط غیر فعال نمودن یک کارت شبکه، بوقوع خواهد پیوست:

 

14

 

15

 

همانطور که در تصاویر فوق مشاهده می نمایید، این بار شاهد عدم حتی یک Packet Loss هستیم.

 

نکته: در آزمون های بین المللی ارائه شده از سوی شرکت مایکروسافت، از آزمون دهنده انتظار می رود که توانایی انجام عملیات پیکربندی Hyper-V را جهت پشتیبانی از سناریوی مورد بحث، بر اساس Windows PowerShell داشته باشد. لذا در ادامه به انجام عملیات فوق بر اساس PowerShell پرداخته شده است:

 

16

 

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