در این مقاله شرح کلی Network Interface Card Teaming یا NIC Teaming در ویندوز سرور 2016 بیان میشود. NIC Teaming به کاربر این توانایی را میدهد که بین یک تا 32 آداپتور شبکهی اترنت فیزیکی را در یک یا چند آداپتور شبکهی مجازی مبتنی بر نرمافزار گروهبندی کند. این آداپتورهای شبکهی مجازی عملکرد سریع و تحمل خطا را در صورت وقوع خرابی آداپتور شبکه فراهم میکنند.
وقتی که آداپتورهای شبکه در یک تیم NIC تنظیم میشوند، به هستهی مشترک راهکار NIC Teaming متصل میشوند که پس از آن یک یا چند آداپتور مجازی که NICهای تیم یا tNICها یا رابطهای کاربری تیم نیز نامیده میشوند را به سیستم عامل ارائه میکند.
ازآنجاییکه ویندوز سرور 2016 به ازای هر تیم از حداکثر 32 رابط کاربری تیم پشتیبانی میکند، انواع مختلفی از الگوریتمها وجود دارند که ترافیک یا بار خروجی را بین NICها توزیع مینمایند. شکل زیر یک NIC Team را با چندین tNIC نمایش میدهد.
همچنین میتوان NICهای تیمشده را به سوئیچ یکسان یا سوئیچهای متفاوتی متصل کرد. اگر NICها به سوئیچهای متفاوتی متصل گردند، هر دو سوئیچ باید روی Subnet یکسانی باشند.
دسترسپذیری
NIC Teaming در تمام نسخههای ویندوز سرور 2016 قابلدسترسی بوده ومیتوان برای مدیریت NIC Teaming از رایانههایی که یک سیستم عامل Client را اجرا میکنند، از ابزار مختلفی استفاده کرد، مثل:
- Cmdletهای Windows PowerShell
- Remote Desktop
- ابزار مدیریت سرور Remote
برای مشاوره رایگان و یا پیاده سازی راهکارهای پشتیبان گیری و ذخیره سازی با کارشناسان شرکت APK تماس بگیرید. |
NICهای تحت پشتیبانی و بدون پشتیبانی
میتوان از هر NIC اترنتی که Windows Hardware Qualification و تست Logo (تستهای WHQL) را در یک NIC Team در ویندوز سرور 2016 گذرانده است، استفاده نمود.
نمیتوان NICهای زیر را در یک تیم NIC قرار داد:
- آداپتورهای شبکهی مجازی Hyper-V که پورتهای Hyper-V Virtual Switch هستند و بهعنوان NIC در پارتیشن Hyper-V در معرض دید قرار میگیرند.
- آداپتور شبکهی Kernel Debug یا KDNIC
- NICهای مورد استفاده برای Boot شبکه
- NICهایی که از تکنولوژیهایی به غیر از اترنت مانند WWAN ،WLAN/Wi-Fi ،Bluetooth و Infiniband شامل NICهای Internet Protocol over Infiniband یا IPoIB استفاده میکنند.
تطبیقپذیری
NIC Teaming با تمام تکنولوژیهای شبکه در ویندوز سرور 2016 تطبیقپذیر است، البته با استثناهای زیر:
- مجازیسازی I/O بهصورت Single-Root یا SR-IOV برای SR-IOV، دادهها بهصورت مستقیم به NIC تحویل داده میشود، بدون اینکه از Stack شبکه عبور کند، درنتیجه ممکن نیست که NIC Team دادهها را بررسی کرده یا آنها را به مسیر دیگری در تیم هدایت کند.
- Quality of Service یا QoS بهصورت Native Host وقتی Policyهای QoS روی یک سیستم Native یا Host نصب میشوند و آن پالیسی ها به حداقل محدودیت پهنای باند استناد میکنند، توان عملیاتی کلی برای یک NIC Team کمتر از چیزی است که بدون پالیسی های پهنای باند می توانست باشد.
- TCP Chimney TCP Chimney با NIC Teaming تحت پشتیبانی نیست، زیرا TCP Chimney کل Stack شبکه را مستقیماً روی NIC، Offload میکند.
- احراز هویت 802.1X نباید با NIC Teaming از 802.1X استفاده کرد زیرا برخی از سوئیچها اجازهی پیکربندی احراز هویت 802.1X و NIC Teaming را روی پورت یکسان نمیدهند.
Queueهای ماشین مجازی یا VMQها
VMQها یکی از ویژگیهای NIC هستند که برای هر VM یک Queue را تخصیص میدهند. هر زمانی که Hyper-V فعال است، باید VMQ نیز فعال باشد. VMQها در ویندوز سرور 2016، از NIC Switch vPortها با یک Queue واحد که به vPort اختصاص دارد استفاده میکنند تا قابلیت یکسانی را فراهم کنند.
بسته به حالت تنظیم سوئیچ و الگوریتم توزیع بار، NIC Teaming یا کمترین تعداد Queueهای تحت پشتیبانی توسط هر آداپتوری در تیم را ارائه میکند که Min-Queues Mode نام دارد و یا کل تعداد Queueهایی که در برای تمامی اعضای تیم در دسترس هستند را ارائه مینماید که Sum-of-Queues Mode نام دارد.
اگر تیم در حالت Switch-Independent یا مستقل از سوئیچ باشد و توزیع بار روی حالت Hyper-V Port یا Dynamic تنظیم شود، تعداد Queueهای گزارش شده مساوی مجموعهی تمام Queueهای قابلدسترسی از اعضای تیم میباشد، در غیر این صورت، تعداد Queueهای گزارش شده کمترین تعداد Queueهای تحت پشتیبانی هر عضوی از تیم است، دلیل آن به شرح زیر می باشد:
- وقتی که تیم Switch-Independent در Hyper-V Port Mode یا Dynamic Mode باشد، ترافیک ورودی برای یک Hyper-V Switch Port (VM) همیشه به عضو تیم یکسانی میرسد. Host میتواند پیش بینی و کنترل کند که کدام عضو ترافیک را برای یک VM بهخصوص دریافت میکند، در نتیجه NIC Teaming میتواند در مورد اینکه کدام Queueهای VMQ را به عضو بهخصوصی از تیم تخصیص دهد، تفکر بیشتری انجام دهد. NIC Teaming همراه با سوئیچ Hyper-V ،VMQ برای یک VM را روی یکی از اعضای تیم تنظیم میکند و میداند که ترافیک ورودی به آن Queue میرسد.
- وقتی که تیم در هر حالت وابسته به سوئیچ یا Switch Dependent Mode باشد Static Teaming یا LACP Teaming، سوئیچی که تیم به آن متصل است توزیع ترافیک ورودی را کنترل مینماید. نرمافزار NIC Teaming متعلق به Host نمیتواند پیش بینی کند که کدام عضو تیم ترافیک ورودی را برای یک VM دریافت میکند و ممکن است که سوئیچ ترافیک برای یک VM را روی تمام اعضای تیم توزیع کند. در نتیجهی کار نرمافزار NIC Teaming با سوئیچ Hyper-V، یک Queue برای VM روی هر عضو تیم و نه فقط یکی از اعضا برنامهریزی میشود.
- وقتی که تیم در Switch-Independent Mode قرار گیرد باید از تعدیل بار Address Hash استفاده کند، ترافیک ورودی همیشه روی یک NIC وارد میشود که عضو اصلی تیم است و همهی آن روی یکی از اعضای تیم قرار میگیرد. ازآنجاییکه دیگر اعضای تیم با ترافیک ورودی سروکار ندارند، با Queueهای یکسانی نسبت به عضو اصلی برنامهریزی میشوند تا اگر عضو اصلی دچار خرابی شود، بتوان از هر عضو دیگری از تیم برای برداشت ترافیک ورودی استفاده کرد و Queueها آماده باشند.
- اکثر NICها یا برای Receive Side Scaling یا RSS یا VMQ از Queueها استفاده میکنند اما نه بهصورت همزمان. به نظر میرسد برخی از تنظیمات VMQ تنظیماتی برای Queueهای RSS باشند، اما تنظیماتی روی Queueهای عمومی هستند که هم RSS و هم VMQ، بسته به اینکه کدام ویژگی در حال استفاده است، از آنها استفاده میکنند. هر NIC در مشخصات پیشرفتهی خود دارای مقادیری برای RssBaseProcNumber و MaxRssProcessors است. در ادامه برخی از تنظیمات VMQ مطرح میگردد که عملکرد سیستم را بهبود میبخشد.
- در حالت ایدهآل، هر NIC بایدRssBaseProcNumber را روی یک عدد زوج بیشتر یا مساوی با دو تنظیم کند. اولین پردازندهی فیزیکی، Core 0 با پردازندههای منطقی 0 و 1، معمولاً اکثر پردازش سیستم را انجام میدهد، پس پردازش شبکه باید از این پردازندهی فیزیکی فاصله بگیرد. برخی از معماریهای ماشین برای هر پردازندهی فیزیکی دارای دو پردازندهی منطقی نیستند، پس برای چنین ماشینهایی، پردازندهی اصلی باید بالاتر یا مساوی 1 باشد. اگر کاربر در این مورد شک داشته باشد، باید فرض کند که Host او برای هر معماری فیزیکی پردازنده از 2 پردازندهی منطقی استفاده میکند.
- اگر تیم در حالت Sum-of-Queues باشد، پردازندههای اعضای تیم نباید همپوشانی داشته باشند. برای مثال در یک Host با چهار هسته یا هشت هسته با یک تیم متشکل از دو NIC با 10Gbpc، میتوان اولین NIC را طوری تنظیم کرد که از پردازنده اصلی 2 و 4 هسته استفاده کند؛ دومین NIC باید طوری تنظیم شود که از پردازندهی اصلی 6 و 2 هسته استفاده نماید.
- اگر تیم در حالت Min-Queues باشد، مجموعه پردازندههای مورد استفادهی اعضای تیم باید با هم یکسان باشند.