خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
آیا دوست دارید سرورهایتان حتی در صورت از بین رفتن سوئیچ Core در سازمان و یا شرکت، به طور یکپارچه در دسترس باشند؟آیا می خواهید سرور ها به چندین VLAN دسترسی داشته باشد بدون اینکه به کارت شبکه یک برند یا Vendor خاص وابسته باشند؟ آیا می خواهید پیکربندی شبکه خود را برای هاست های فیزیکی و مجازی در محیط خود ساده کنید؟ اگر در سرورتان که ویندوز سرور نصب کرده اید و سرور دارای چندین کارت شبکه است، قطعا NIC Teaming مناسب برای شماست. همانطور که از موضوع مطلب هم مشخص است در اینجا در خصوص NIC Teaming در ویندوز سرور صحبت خواهیم کرد.

نرم افزار سامانه مودیان راهکار
NIC Teaming می تواند باعث تحمل خطا(fault tolerance) در ماشین های شما شود و در ادامه می تواند باعث load balancing هم شود و اگر VLAN در شبکه داریم، VLAN ها را به هر Team معرفی کنیم. در این مقاله ، شما یاد خواهید گرفت که اولا NIC teaming چیست و سپس ملاحظات ویژه ای که برای استفاده از NIC Teaming در ماشین های مجازی وجود دارد و نحوه استقرار آن در سازمان را بررسی می کنیم.


برای درک NIC teaming نیاز به دانش فوق العاده ای در حوزه شبکه نیست ولی مواردی مانند IP Address، Mac Address، VLAN ها که در دوره های Network Plus و CCNA در خصوص آنها صحبت شده را باید بدانید. سپس باید ویندوز سرور 2012، 2016 یا 2019 و حتی ورژن های بالاتر هم داشته باشید می توانید مواردی که در ادامه گفته خواهد شد را تست کنید.

Understanding NIC Teaming

در تنظیمات سنتی شبکه ها، برای یک سرور فیزیکی، با اتصال چندین کابل شبکه از سرور به چندین سوئیچ فیزیکی fault tolerance را فراهم کنید. از این رو سرور دارای چندین IP address فعال بوده و load balancing وجود ندارد. با پیاده سازی NIC team روی سرور، می توانید با چندین سوئیچ فیزیکی ارتباط برقرار کرده در عین حال فقط از یک IP Address استفاده کنید و بدین ترتیب Load balancing را هم خواهید داشت. NIC Teaming یک قابلیت در Windows Server است که به شما امکان می دهد NIC ها را در غالب Team گروه بندی کنید. هر تیم متشکل از یک یا تعداد بیشتری NIC است و با ایجاد هر تیم virtual NIC ها بوجود می آیند که در دسترس شما برای استفاده هستند.
اعضای Team، آداپتورها یا همان کارت شبکه ها هستند که Team از آنها برای برقراری ارتباط با سوییچ استفاده می کند. اینترفیس های هر Team ای که شکل می گیرد، virtual network adapter هایی هستند که پس از Team شدن کار شبکه ایجاد می شود. NIC Teaming در همه نسخه های Windows Server از ویندوز سرور 2012 موجود است. این قابلیت بسیار انعطاف پذیر است و راه حل بسیار ساده تری را برای مدیران فراهم می کند که Link Aggregation/Load Balancing, Failover و VLAN وجود دارد. هنگام پیکربندی یک NIC Team باید Teaming mode، Load balancing mode، Standby adapter و Team interface VLAN را مشخص کنید. در ادامه به توضیحات این موارد می پردازیم:

Teaming Mode

هنگامی که یک NIC Team ایجاد می کنید، باید حالت Teaming Mode را هم انتخاب کنید. حالت Teaming نحوه تقسیم ترافیک سرور و سوئیچ بین چندین لینک را تعیین می کند. حالت های Teaming در سه حالت Switch independent، LACP و Static وجود دارد. که توضیح هر سه مورد را در ادامه خواهیم گفت.

Switch Independent

Switch independent teaming به شما امکان می دهد اعضای تیم را به چندین سوئیچ متصل کنید. Switch independent mode تنها حالت teaming mode که از تغییر پیکربندی سوئیچ هایی که شما بدان متصل شده اید استفاده نمی کند. موقعیت ها و شرایطی که شما می توانید از Switch Independent Teaming Mode استفاده کنید، مثلا، NIC Team در داخل یک VM است یا کارت شبکه هایی که عضو Team کرده اید به سوئیچ های مختلفی متصل هستند.

Static

Static teaming مستلزم این است پورت هایی که در یک NIC Team هستند به صورت دستی در یک Link Aggregation Group یا LAG پیکربندی کنید. سرور و سوئیچ میزان ترافیک را بین تمام لینک های موجود تقسیم می کنند. فقط زمانی باید از حالت Static teaming استفاده کنید که سوییچ شما از LACP پشتیبانی نمی کند.

Link Aggregation Control Protocol (LACP)

LACP teaming هم مشابه Static teaming است اما بررسی می کند که هر لینک در واقع به LAG مورد نظر متصل باشد. LACP از لینک که به LAG مورد نظر متصل نیستند، داده ارسال نمی کند. هنگامی که می خواهید سوئیچ را از NIC team مطلع کنید برای load balance که سوئیچ برای NIC team ارسال می کند ، باید از LACP استفاده کنید.


نکته مهم: حالت Static و LACP Teaming شما را ملزم می کند که فقط هاست را به یک سوئیچ متصل کنید.


Load Balancing Mode

Load balancing mode، مشخص می کند چه اینترفیس یا اینترفیس های برای داده های ورودی و کدام یک از اینترفیس ها برای داه های خروجی یا Output استفاده شوند. گزینه های موجود عبارتند از: Address Hash، Hyper-V Port و Dynamic می باشد.

Address Hash

Address Hash mode سعی در استفاده از IP address و پورتهای مبدا و مقصد برای ایجاد تعادل موثر بین اعضای team را دارد. اگر پورتی در اتصال وجود نداشته باشد از IP address برای تعیین load balance استفاده می کند. برای مواردی هم که load balance ای وجود ندارد یا load balance در اتصال نیست، از Mac Address استفاده می کند.
در زمان ایجاد یک NIC team می توانید team را مجبور به استفاده از IP + Port ، فقط IP یا فقط MAC address کنید. IP + Port پیش فرض است و بهترین بالانس را در بین اعضای تیم مهیا می کند. IP + Port حالت پیش فرض است و بهترین بالانس را در بین اعضای تیم فراهم می کند. برای تغییر این حالت به MAC address یا IP باید از دستورات Powershell کمک بگیرید.
Address Hash load balancing mode در تقسیم ترافیک خروجی بین اعضای تیم به خوبی عمل می کند. اگر این مورد را با Switch Independent teaming mode ترکیب کنید، به یک لینک محدود خواهید شد. از Address Hash زمانی که قصد ایجاد یک Team در VM را دارید باید استفاده کنید.

Hyper-V Port

حالت Hyper-V Port فقط برای استفاده در هاست های ماشین مجازی Hyper-V در نظر گرفته شده است. این حالت به هر VM از هاست ماشین مجازی یک MAC address اختصاص می دهد و سپس به هر یک از MAC address ها یک عضو از تیم اختصاص می دهد. وقتی یک هاست Hyper-V تعداد کمی ماشین مجازی را در خود دارد، احتمالا گزینه Hyper-V Port load balancing mode چندان انتخاب درست و مناسبی نیست. معمولا نیازی به استفاده از Hyper-V Port mode ندارید مگر اینکه مطمئن باشید هر VM از همان لینک همیشه استفاده می کند.

Dynamic

حالت Dynamic mode از بهترین ویژگی های حالت Address Hash و Hyper-V port برای ایجاد بالبانس در ترافیک خروجی و ورودی شبکه استفاده می کند. مانند حالت Hyper-V ، با اختصاص اعضای تیم به MAC address های مختلف، ترافیک ورودی نیز تقسیم می شود و مانند حالت Address Hash، ترافیک خروجی نیز توسط هش ترکیبی مشتق شده از IP / Port تقسیم می شود. این میکس، بالانس بهتری را در مقایسه با هر یک از روش های فوق فراهم می کند.
Dynamic balancing mode به یک پیشرفت مهم به نام نظارت داینامیک یا پویا بر ترافیک همراه است. وقتی الگوریتم dynamic mode مشخص کند که برخی از اعضای تیم بیش از حد مورد استفاده قرار گرفته اند، در صورت لزوم میزان بالانس موجود در ترافیک خروجی را برای سایر اعضای تیم ایجاد می کند. در واقع سعی بر استفاده مساوی و عادلانه از اعضای تیم ها را دارد که به طور مساوی در کار نقش داشته باشند.
پس از ایجاد تیم، می توانید team های دیگری را در VLAN های مختلف ایجاد کنید.
هشدار: مایکروسافت توصیه می کند که هرگز VLAN را برای رابط داخل VM تنظیم نکنید. در عوض ، از گزینه Hyper-V switch advanced با نام VLAN ID برای تعریف VLAN ها برای یک ماشین مجازی استفاده کنید.

NIC Teaming in Virtual Machines

امروزه ، شما می توانید یک NIC team را با هاست یک VM با یک آداپتور شبکه در هر ماشین مجازی مستقر کنید. پس با پوزت فیزیکی NIC هایی که در یک Team قرار دارند شما می توانید fault tolerance کاملی داشته باشید. تمام ماشین های مجازی می توانند ترافیکی بالانس شده بین اعضای تیم داشته باشند تا از این طریق Performance کلی بهتر و کار با ازدحام بیشتری داشته باشند. پیکربندی شما می تواند به این شکل باشد:

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
NIC teaming در یک VM بعضا به منظور فعال کردن SR-IOV برای کاهش CPU overhead استفاده می شود. البته در این خصوص این پشتیبانی اولا باید روی بایوس فعال شود و ضمنا NIC ها از SR-IOV پشتیبانی کنند.
برای راه اندازی NIC teaming در یک VM باید VM تان چندین کارت شبکه داشته باشد. باید آداپتورها به دو virtual switch که از نوع external هستند متصل شوند. ضمنا اگر به آنها را قرار است به سوئیچ فیزیکی متصل کنید، subnet ها باید یکسان باشد.
حالت NIC Team mode باید Switch Independent و load balancing mode هم باید Address Hash تنظیم شود.
شما همچنین می بایست NIC Teaming برای هر VM را در تنظیمات Advanced Features هر کارت شبکه enable کنید.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
در حالی که NIC Teaming دارای performance خوب و قابل قبولی است، ولی حالات مختلفی وجود دارد که شاید لازم باشد شما به منظور بهبود Performance روی آنها تمرکز کنید. البته این حالات از حوضله این مطلب خارج شد و در آینده در دوره های ویندوز سرور بدان ها می پردازیم ولی اگر خودتان مایل به مطالعه در مورد آنها هستیدف موارد زیر را می توانید جستجو کنید:


Remote Direct Memory Access (RDMA)

Switch Embedded Teaming (SET)

Receive Side Scaling (RSS)

Single-Root I/O Virtualization (SR-IOV)


Deploying NIC Teaming via GUI

خب، با بدست آوردن اطلاعات در خصوص NIC teaming در ویندوز سرور، اکنون باید برای ایجاد یک NIC Team دست به کار شویم.
برای شروع کار، کنسول Server Manager را در سیستمی که می خواهید در آن NIC Team راه اندازی کنید متصل شوید. سپس از پنل سمت چپ گزینه All servers را انتخاب کرده و در قسمت مقابل روی نام سرور مورد نظرتان کلیک راست کرده و سپس Configure NIC Teaming را کلیک کنید.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
از Adapters and Interfaces با فشردن کلید Ctrl کارت شبکه هایی که می خواهید آنها را با هم Team کنید را انتخاب کنید. سپس روی آنهایی که انتخاب کردید کلیک راست کرده و گزینه Add to New Team را کلیک کنید.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
توجه داشته باشید که NIC Teaming را با هر ترکیبی از یک یا چند کارت شبکه داشته باشید(نهایتا تا 32 کارت شبکه را با هم می توانید Team کنید).
در فیلد Team name یک نام برای این تم وارد کنید و سپس طبق توضیحات فوق(با کلیک گزینه Additional Properties) گزینه های مورد نظرتان را انتخاب کرده و در آخر OK کنید.
در مثال ما NIC team در یک VM در حال راه اندازی است. در نتیجه نمی توان از حالت Teaming mode و Load balancing mode استفاده کرد. اگر سرور فیزیکی بود، اگر از یک LAG روی سوییچ استفاده می کنید ، احتمالاً از Switch Independent یا LACP استفاده می کنید.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
پس از گذشت لحظاتی اکنون باید NIC Team در ویندوز سرورتان ایجاد شده باشد.

Adding More NICs or Interfaces to the NIC Team

اگر نیاز باشد می توانید دوباره به NIC Team ای که ایجاد کرده بودید، NIC های جدید اضافه کنید. کافیست مطابق شکل زیر روی NIC مورد نظرتان کلیک راست کرده و گزینه Add to Team را کلیک کنید.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
شما همچنین برای اضافه کردن اینترفیس های جدید کافیست که از تب Team Interfaces به TASKS رفته و گزینه Add Interface را مطابق تصویر زیر کلیک کنید.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم

Deploying NIC Teaming via Windows PowerShell

حالا که به نحوه ایجاد NIC team با کمک ابزارهای گرافیکی ویندوز سرور بردید، همان کار را با کمک دستورات Powershell انجام می دهیم. در ویندوز سرور Core شما فقط متکی به دستورات هستید و هیچ ابزار گرافیکی برای کمک به شما وجود ندارد. البته ابزارهای گرافیکی مثل admin Center یا افزودن ویندوز سرور Core به Server manager سیستم دیگر وجود دارد ولی در حالت عادی آنچه که دارید محیط خشک خط فرمان است. ابتدا باید تصمیم بگیرید کدام NIC ها را به تیم اضافه می کنید پس باید نام NIC ها را بدانید.

برای یافتن نام کارت شبکه ها، از دستور زیر در پاورشل استفاده کنید(PowerShell را حتما به صورت Run as administrator اجرا کنید تا در اجرای دستورات با مشکلات عدم دسترسی مواجه نشوید).

 Get-NetAdapter

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
حالا که اسامی ها را داریم اقدام به ایجاد team می کنیم. برای این منظور ما از Ethernet 3 و 4 استفاده خواهیم کرد.
در این مثال TeamingMode روی حالت SwitchIndependent تنظیم شده است. اگر پورت های سوئیچ را به یک LAG پیکربندی می کنید، از مقدار LACP استفاده کنید. اگر از یک LAG روی سوییچ استفاده نمی کنید، از SwitchIndependent را انتخاب کنید.
به LoadBalancingAlgorithm مقدار Dynamic تخصیص داده شده است. زیرا این حالت بالاترین میزان load balancing را در بین اعضای تیم فراهم می کند.

New-NetLbfoTeam -TeamMembers "ethernet4" , "ethernet3" -Name "Demo" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm TransportPorts

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم
حالا اگر دستور Get-NetAdapter را در پاورشل اجرا کنید، تمامی کارت های شبکه به انضمام همین VNIC که با دستور فوق ایجاد کردید، لیست می شود.

NIC Team چیست و چگونه آن را در ویندوز سرور راه اندازی کنیم

NIC Team در یک VM:

شما باید از حالت SwitchIndependent در TeamingModeاستفاده کنید.
برای LoadBalancingAlgorithm (TransportPorts باید از یکی از انواع Address Hash استفاده کنید.
- از Dynamic load balancing به جای TransportPorts در یک سرور فیزیکی استفاده شود.


Adding More NICs or Interfaces to the NIC Team

همانطور که در روش GUI می تواستید NIC جدید به NIC team ای که ایجاد کرده بودید اضافه کنید، در پاورشل هم این امکان برای شما فراهم است.

Add-NetLbfoTeamMember -Name NIC1 -Team Team1

در دستور فوق به جای NIC1 باید نام کارت شبکه و به جای Team1 باید نام NIC Team تان را جایگزین کنید.
حالا با دستور زیر، تگ یک VLAN خاصی را به NIC team مورد نظرمان تخصیص می دهیم:

Add-NetLbfoTeamNIC -Team Team1 -VlanID 42


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز