آشنایی و پیاده‌سازی NIC Teaming در ویندوز سرور 2012

 

NIC Teaming چیست؟

تکنولوژی است که به واسطه آن می توان دو یا چند کارت شبکه فیزیکی را به یک کارت شبکه مجازی تبدیل نمود. به مجموعه کارت شبکه‌ها که در یک گروه قرار گرفتند Bond می‌گویند. از مزایای NIC Teaming دسترس پذیری مستمر، افزایش عملکرد شبکه و کاهش هزینه های عملیاتی می‌توان نام برد.

در ادامه دو دلیل اصلی استفاده از این تکنولوژی را توضیح می‌دهیم:

(Load Balancing and Failover :LBFO)

  • Load Balance

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

متاسفانه یک اشتباه مرسوم در مورد افزایش پهنای باند در NIC Teaming  وجود دارد که آن را با مثال بیان می‌کنیم: چنانچه ما چهار کارت شبکه فیزیکی 1GbE داشته باشیم Load Balance به ما یک ار­تباط فیزیکی 4GbE نمی‌دهد و در نهایت همان چهار تا 1GbE را داریم و Load Balance ترافیک کل را از آن چهار مسیر عبور می‌دهد. در حقیقت، توزیع ترافیک بین چهار مسیر موجب افزایش پهنای باند می‌شود. حال بسته به انتخاب مدل پیاده سازیNIC Teaming،  تعادل بار ترافیکی متفاوت خواهد بود. همانطور که در شکل می‌بینید کارت شبکه های مجازی (vNIC) که به سویچ مجازی متصل شده است هیچ تصوری از ساختار NIC Team پایین ندارند پس هرکدام مسیر خودشان را می‌شناسند.

NIC-Load-Balanc-Newadmin

  • Failover

تجربه نشان داده ثبات شبکه‌های کامپیوتری از حیاتی ترین واحدهای دیتا سنتر است. به همین دلیل Failover شرایطی را برای به حداقل رساندن مسایل غیر منتظره فراهم کرده است. در صورتی که دسترسی یکی از کارت شبکه های فیزیکی قطع شود، سیستم عامل پیغام را به سایر کارت شبکه ها ارسال می‌کند  و کارت شبکه های دیگر بار ترافیکی آن را به دوش می‌کشند. (ایجاد تحمل خطا با تغییر مسیر ترافیک در صورت از کار افتادن هر کدام از کارت شبکه های فیزیکی نشان داده شده است)

 

NIC-Team-Failover-Newadmin

اصطلاحات فنی مرتبط:

برای فهم بهتر و عدم بروز مشکل در پیاده‌سازی این سرویس با برخی مفاهیم در NIC Teaming آشنا می شویم:

 

  • Team Members or Network Adapters:

در واقع همان “کارت شبکه های فیزیکی” در سرور یا Host هستند. یک تیم می‌تواند حداکثر 32 کارت شبکه  داشته باشد. که این اعضا الزاما نباید هم مدل یا از یک برند باشند. جالب است بدانید حتی در برخی از طراحی های حساس و بحرانی، به عمد از کارت شبکه هایی با سازنده های متفاوت (Intel , Braodcom  Dell,و …) استفاده می‌شود، چنانچه درایوری به  مشکل برخورد سایر کارت شبکه ها که از سازنده های متفاوت هستند شبکه را آنلاین نگه دارند.

 

  • Team or NIC team:

مجموعه ی Team Memberها هستند که یک کارت شبکه مجازی را برای ما به ارمغان می آورند.

 

  • Team Interfaces, Team NICs, or tNICs:

همزمان با ایجاد Bond یک  “کارت شبکه مجازی” تشکیل می‌شود و در لیست کارت شبکه ها در کنترل پنل با نام Microsoft Network Adapter Multiplexor Driver ظاهر می‌شود. هر NIC Teaming حداقل یک Team Interface  دارد برای عبور ترافیک موجود در کارت شبکه های فیزیکی است. شایان ذکر است اگر سویچ فیزیکی سازمان به صورت  Trunk با سرور ارتباط برقرار کرده باشد میتوانیم چندین Team Interfaces ایجاد کنیم که هر کدام یک  VLAN  متفاوت می تواند باشد.

 

NIC-Teaming-Trunk-Newadmin

NIC Teaming Mode:

در زمان پیاده سازی یک Team در کارت های شبکه مدل فعالیت آنها را به صورت های متنوعی می توان تنظیم کرد. در ادامه به حالات پیاده سازی موجود اشاره می کنیم :

 

  • Switch independent mode

Independed-NIC-Newadmin

در این مدل کارت شبکه ها مستقل از سوئیچ کار میکنند و نیاز به پیکربندی در سویچ‌های متصل به آنها نیست.  این مدل 2 حالت دارد:

Active – Active

تمامی کارت شبکه‌ها همزمان کار می‌کنند که افزایش پهنای باند و Load Balance  را ایجاد می‌کنند.  با توجه به اینکه هر دو کارت شبکه فعال هستند سرعت انتقال بالا می‌رود. اگر یکی از کارت شبکه‌‌ها از مدار خارج شود افت پهنای باند خواهیم داشت اما تحمل خطا ( Fault Tolerance )  همچنان برقرار است. این مدل در صورت عدم خرابی پهنای باند بهتری میدهد .

Active – Passive

در  Independed حالت پیش فرض Active – Passive است که  یک کارت شبکه Stand by است و اگر یکی از کارت شبکه ها قطع شود از حالت Passive  به Active می‌رود.  این فرایند باعث کاهش پهنای باند نخواهد شد اما ممکن است سرعت انتقال در ابتدای Active شدن کارت شبکه جایگزین، کمی افت کند.  شاید این سوال پیش بیاید که چه مواقعی ازین مدل استفاده می‌شود؟

به عنوان مثال ما دو کارت شبکه داریم، سرعت یکی از آنها 10GbE و دیگری 1GbE است؛ آیا می توانیم آن ها را تیم کرد؟ بله. اما به دلیل تفاوت سرعت ممکن است خروجی ایده آل نداشته باشد… پس در این وضعیت به سراغ Active-Passive میرویم و  اگر یکی از آنها قطع شد Team Member دیگری فعال شود تا شبکه را آنلاین نگه دارد.این مدل در صورت خرابی Performance یکسانی با شرایط قبل میدهد.

 

 

  • Switch dependent mode

depended-NIC-Newadmin

برخلاف مدل قبلی، در Depended تمام کارت شبکه‌ها به یک سویچ وصل می‌شوند و در این مدل دو الگوریتم برای تیم کردن وجود دارد:

Static Teaming

این الگوریتم یک مدل عمومی برای Load Balance است که افزایش پهنای باند و تحمل خطلا را ساده‌تر انجام می دهد. به عنوان مثال برای داشتن  پهنای باند 40GbE کافیست 4 کارت شبکه  10GbE به سویچ وصل شوند و در سرور تنظیمات NIC Teaming انجام شود.

LACP

الگوریتم (LACP(Link Aggregation Control Protocol بسیار کارآمد تر از حالت قبلی است و بار ترافیکی را بر روی تمام کارت شبکه های فیزیکی به مانند قبل توزیع  می‌کند.  در این مدل سویچ متصل به سرور حتما باید پیکربندی شود و پورت های سوئیچ اصطلاحا در داخل یک Ether Channel قرار داده می شود. در این روش سرور و سوئیچ با مذاکراتی که انجام می دهند مشخص میکنند آیا یک پورت در داخل Team قرار می گیرد یا خیر . به این ترتیب اگر در یکی از پورت های طرف مقابل مشکلی ایجاد شود پورت همسان در طرف مقابل این موضوع را متوجه شده و به صورت اتوماتیک از تیم خارج می شود تا از بروز مشکل در ارتباط موجود جلو گیری کند.

دوستان عزیز تا اینجا به شرح قسمتی از مفاهیم NIC Teaming پرداختیم . در قسمت بعدی مقاله ادامه توضیحات و پیاده سازی قدم به قدم  را خواهیم داشت.

 

درباره نویسنده

بهاره جهان یار

۳ دیدگاه

  1. بازدیدکننده Reply

    با سلام .
    اگر کانفیگ سمت سوییچ را شرح بدین ممنون میشم

  2. ali Reply

    با تشکر فراوان از توضیحات کاملی که دادید. اگر در مورد پیده سازی آن هم توضیحاتی بدید ممنون میشم

پاسخ دهید