microsoft

آشنایی و پیاده‌سازی کامل NIC Teaming در ویندوز سرور ۲۰۱۲

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره غیر فعالستاره غیر فعال
 

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

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

(Load Balancing and Failover :LBFO)

Load Balance

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

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

 

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

 

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

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

Team Members or Network Adapters:
در واقع همان “کارت شبکه های فیزیکی” در سرور یا Host هستند. یک تیم می‌تواند حداکثر ۳۲ کارت شبکه داشته باشد. که این اعضا الزاما نباید هم مدل یا از یک برند باشند. جالب است بدانید حتی در برخی از طراحی های حساس و بحرانی، به عمد ازخدمات شبکه هایی با سازنده های متفاوت (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 Mode:

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

Switch independent mode

 

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

Active – Active

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

Active – Passive

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

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

Switch dependent mode

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

Static Teaming

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

LACP

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

Load Balancing Mode:

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

Address Hash
در این روش ترافیک خروجی از تمام کارت شبکه های فعال ارسال می‌شود اما ترافیک ورودی فقط از یک کارت شبکه دریافت می‌شود. Address Hash به کارت شبکه مجازی وابستگی ندارد و مجموع کارت شبکه های فیزیکی باتوجه به جزییات فرستنده و گیرنده پکت (IP, MAC, Port Number) تعیین میکند بسته از کدام Team Interface ارسال شود.

همانطور که در شکل پایین مشاهده میکنید VM01 قصد ارسال ۲ بسته به آدرس های A و B را دارند. NIC Team با الگوریتم Address Hash آگاه می‌شود که مقصدها متفاوت است بنابراین پکت ها را از دو کارت خدمات شبکه فیزیکی متفاوت ارسال می‌کند. پس اگر مقصد یکی باشد از یک Team Interface پکت ها ارسال می‌شوند.

 

یک تعبیر اشتباه در این الگوریتم هست که تصور می‌شود پکت۱ از مسیر۱ و پکت۲ از مسیر۲ عبور خواهد کرد. سعی میکنیم با مثال Live Migrate این مورد را توضیح می‌دهیم:

سرور۱ قصد دارد به سرور۲ با یک IP مشخص دیتا انتقال دهد. Live Migrate پکت ها را که IP، MAC و شماره پورت یکسان دارند به تیم می‌فرستد. در این مرحله اطلاعات Hash شده و با توجه به یکسان بودن مقصد فقط یک کارت راه اندازی شبکهفیزیکی برای ارسال انتخاب می‌شود. با توجه به شرایط بالا فقط از پهنای باند یک کارت شبکه استفاده می‌شود.

 

درموقعیت بالا اگر سرورسومی وجود داشته باشد و اطلاعات به دو مقصد (IP, MAC و شماره پورت) متفاوت منتقل شوند الگوریتم دو مسیر انتخاب خواهد کرد. و در اینصورت از پهنای باند بالاتری بهره خواهد برد.

پس توصیه می‌کنیم اگر ۲نود در کلاسترینگ دارید تا جای ممکن ازین الگوریتم استفاده نکنید چراکه تنها از ۵۰% پهنای باند بهره می ببرید. به تعبیری از LBFO فقط FO برقرار است.

Hyper-V Port
این حالت تنها برای سرورهای Hyper-V استفاده می شود که با یک External Switch به LAN متصل شده اند. Virtual Switch ها ترافیک کارت شبکه های مجازی را به سمت کارت شبکه های فیزیکی که Bond شده مسیریابی میکنند. همانطور که در شکل می‌بینید مسیر ترافیک مشخص است و کارت شبکه مجازی۱ پکت ها را از کارت شبکه فیزیکی۱ ارسال میکند. این ارتباط به ماشین مجازی وابسته نیست بلکه به کارت شبکه مجازی وابسته است مثلا اگر کارت شبکه دومی به VM1 اضافه شود برای ارتباط کارت پشتیبانی شبکه مجازی دوم با کارت شبکه فیزیکی می‌توان یک مسیر مجزا ایجاد کرد.

 

Dynamic
گزینه‌ی داینامیک انتخاب پیش فرض است و در اصل خود سیستم بهترین حالت را برای ارسال در ساختار تیمینگ استفاده می‌کند. توصیه می‌شود تا جای ممکن با این مدل پیاده‌سازی کنیم مخصوصــــا زمانی که مدل سویچ پورت Independed است چراکه سویچ های متصل به کارت پشتیبانی شبکه ها درکی از Load Balance ندارند.

پیاده‌سازی NIC Teaming

تا کنون مدل های ارتباط با سویچ و انواع الگوریتم‌های توزیع بار بررسی کردیم. حال نوبت به مراحل پیاده‌سازی رسیده است.

۱- در کنسول سرور منیجر سرورهای مورد نظر را اضافه می‌کنیم. سپس گزینه تنظیم NIC Teaming را انتخاب کرده.

۲- در صفحه باز شده گزینه Task و New Team را انتخاب می‌کنیم.

 

۳-در ویزارد باز شده ، نام دلخواه وارد کرده و کارت پشتیبانی شبکه هایی که قرار است در این تیم قرار بگیرند را انتخاب می‌کنیم . ضمنا در گزینه Additional Properties می توانید تنظیمات بیشتری داشته باشیم .

۴- همانطور که در مقاله قبل توضیح دادیم Teaming Mode دو مدل Independed Switch و LACP , Static Teaming :Depended Switch دارد.

۵- منوی Load balancing Mode شامل الگوریتم های توزیع ترافیک Address Hash ، Hyper-v Mode و Dynamic است در که بالا توضیح دادیم.

۶- منو آخر Standby Adapter است که اگر ساختار ما Switch Independent باشد می توان یکی از کارت شبکه ها را روی حالت Standby قرار داد تا در صورت از کار افتادن یکی از کارت شبکه های فعال در Team ، کارت شبکه مذکور فعال و اکتیو شود.

۷- Primary Team Interface برای تنظیم قابلیت بسیار کاربردی که در LACP توضیح دادیم است، در واقع اجازه می‌دهد Team ساخته شده در آن VLAN فعالیت کند. اما اگر LACP تنظیم نکرده باشم همان Default باشد.

 

۸- در پایان پس از انتخاب گزینه های مناسب NIC Teaming پیاده‌سازی شده است. البته در ابتدای تیم شدن ممکن است با خطای Faulted Connection Pending روبرو شوید، اما جای نگرانی ندارد و پس از چند ثانیه Active می‌شوند.

۹- نهایتا در سرورهای گرافیکی از Control Panel در قسمت لیست کارت شبکه ها و در Hypervisor با دستور Get-NetAdpter می توان صحت ایجاد آنرا چک کرد.

 

پیکربندی Switch:

در ادامه پیکربندی LACP در سویچ را نیز توضیح میدهیم:

در گام اول باید پورت Channel را بر روی اینترفیس های مورد نظر ایجاد می کنیم. در این مثال فرض کرده ایم که پورت های شماره ۱ و ۲ از سوئیچ مورد نظر مورد استفاده قرار گرفته است. به دوستان عزیز توصیه میشود قیل از اجرای دستورات تمامی تنظیمات اینترفیس های مورد نظر را با استفاده از دستورات ذکر شده به حالت پیش فرض قرار دهند.

پیکربندی به حالت Trunk جهت ارتباط ساختار مجازی با Vlan های متفاوت در شبکه

SW1#configure Terminal

SW1(config)#default interface range fastethernet ۰/۱-۲

SW1(config)#interface range fastethernet ۰/۱-۲

SW1(config-if)#switchport trunk encapsulation qot1q (در صورت جود سوئیچ لایه ۳)

SW1(config-if)#switchport mode trunk

SW1(config-if)# spanning-tree portfast trunk

SW1(config-if)# channel-group 200 mode active

SW1(config-if)# exit

پیکربندی به حالت Access جهت ارتباط ساختار مجازی با یک Vlan مشخص در شبکه

SW1#configure Terminal

SW1(config)#default interface range fastethernet ۰/۱-۲

SW1(config)#interface range fastethernet ۰/۱-۲

SW1(config-if)#switchport mode Access

SW1(config-if)# spanning-tree portfast

SW1(config-if)# channel-group 200 mode active

SW1(config-if)# exit

 

پس از کانفیگ حتما EtherChannel را با استفاده از دستور زیر کنترل و صحت کارکرد آن را بررسی کنید.
SW1# show etherchannel Summery

ذخیره کردن فراموش نشود…..

SW1# wr me


آموزش منع کردن پالیسی بر روی یوزر و یا گروه
معرفی مجموعه مدیریتی Microsoft System Center 2012 R2
ویژگی های جدید سرور ۲۰۱۶ مایکروسافت (بخش اول)
ویژگی های جدید سرور ۲۰۱۶ مایکروسافت (بخش دوم)
آموزش حذف کردن فایل های غیرقابل‌ حذف ویندوز
یافتن Synonym واژه ها در لغتنامه Word

 

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد