در این مقاله شرح کلی ویژگی Network Load Balancing یا NLB در ویندوز سرور 2016 بیان میشود. میتوان از NLB برای مدیریت دو یا چند سرور بهعنوان یک کلاستر مجازی واحد استفاده کرد. NLB دسترسپذیری و مقیاسپذیری برنامههای کاربردی سرور اینترنت ازجمله مواردی که روی وب، ftp، فایروال، پروکسی، شبکهی خصوصی مجازی یا همان VPN و دیگر سرورهای مهم عملیاتی قرار دارند را بهبود میبخشد.
ویژگی NBL با استفاده از پروتکل شبکهی TCP/IP ترافیک را روی چندین سرور توزیع میکند. NBL با ترکیب دو یا چند رایانه که برنامههای کاربردی را در یک کلاستر مجازی واحد اجرا میکند، قابلیت اطمینان و عملکرد را برای سرورهای وب و دیگر سرورهای مهم عملیاتی فراهم میکند.
سرورهایی که در یک کلاستر NLB قرار دارند، Host نام دارند و هر Host یک کپی مجزا از برنامههای کاربردی سرور را اجرا میکند. NLB درخواستهای ورودی Client را روی Hostهای درون کلاستر توزیع میکند. میتوان میزانی باری را که هر Host باید به آن رسیدگی کند تنظیم کرد. همچنین میتوان Hostها را بهصورت Dynamic اضافه کرد تا به بار افزایشیافته رسیدگی کنند NLB همچنین میتواند تمام ترافیک را به یک Host واحد اختصاصی هدایت کند که Default Host نام دارد.
NLB این توانایی را ایجاد میکند که یک مجموعه از آدرسهای IP به تمام رایانههای درون کلاستر رسیدگی کنند و مجموعهای از آدرسهای IP منحصربهفرد و اختصاصی را برای هر Host حفظ مینماید. برای برنامههای کاربردی که Load-Balance شده باشند، وقتی یک Host دچار خرابی میشود یا آفلاین میگردد، بار بهطور خودکار بین رایانههایی که هنوز در حال فعالیت هستند مجدداً توزیع میگردد. وقتی رایانهی آفلاین آماده شد، میتواند به کلاستر ملحق شود و سهم خود از Workload را بازیابی کند که این امر به رایانههای دیگر در کلاستر توانایی رسیدگی به ترافیک کمتری را میدهد.
موارد کاربرد NLB
NLB برای اطمینان حاصل کردن از اینکه برنامههای کاربردی Stateless مثل سرورهای وب که Internet Information Services یا ISS را با حداقل Downtime قابلدسترسی و همچنین مقیاسپذیر باشند اجرا کرده و مفید میباشد، برای این کار با افزایش بار، سرورهایی را اضافه میکند. در بخش زیر نحوهی پشتیبانی NLB از دسترسپذیری بالا، مقیاسپذیری و مدیریتپذیری سرورهای کلاسترشده که روی این برنامههای کاربردی اجرا میشوند شرح داده میشود.
دسترسپذیری بالا: یک سیستم با دسترسپذیری بالا بهطور قابلاطمینانی سطح قابلقبولی از سرویس را با حداقل Downtime فراهم میکند. NLB برای فراهم کردن دسترسپذیری بالا شامل ویژگیهای Built-In است که میتوانند بهصورت خودکار عملیات زیر را انجام دهد:
- یک Host کلاستر را که دچار خرابی میگردد یا آفلاین میشود شناسایی کرده و سپس آن را بازیابی کنند.
- وقتی Hostها اضافه یا حذف میشوند، بار شبکه را تعدیل نماید.
- Workload را در عرض ده ثانیه بازیابی و توزیع مجدد نماید.
برای مشاوره رایگان و یا طراحی و اجرای زیرساخت شبکه و SDWAN با کارشناسان شرکت APK تماس بگیرید. |
مقیاسپذیری: مقیاسپذیری نشان میدهد که یک رایانه، سرویس یا برنامه کاربردی چگونه میتواند رشد کند تا با افزایش تقاضاهای بتواند پاسخگو باشد. برای کلاسترهای NLB، مقیاسپذیری قابلیت افزایش تدریجی یک یا چند سیستم به یک کلاستر موجود بوده، زمانی که بار کلاستر از قابلیتهای آن فراتر میرود. برای پشتیبانی از مقیاسپذیری، میتوان عملیات زیر را با NLB انجام داد:
- درخواستهای Balance load روی کلاستر NLB برای سرویسهای TCP/IP.
- پشتیبانی از 32 رایانه در یک کلاستر واحد.
- درخواست چندین Balance Server Load از یک Client یکسان یا از چندین Client روی چندین Host در کلاستر.
- اضافه کردن Hostها به کلاستر NLB وقتیکه بار افزایش پیدا میکند، بدون اینکه موجب خرابی کلاستر گردد.
- حذف Hostها از کلاستر وقتی که بار کاهش پیدا میکند.
- فعالسازی ارتقا عملکرد و سربار پایین از طریق پیادهسازی کاملاً Pipeline شده. Pipelining به درخواستها این توانایی را میدهد که بدون اینکه منتظر پاسخی به یک سرور قبلی باشند، به کلاستر NLB ارسال شوند.
قابلیت مدیریت: برای پشتیبانی از قابلیت مدیریت، میتوان کارهای زیر را با NLB انجام داد:
- مدیریت و تنظیم چندین کلاستر و Hostهای کلاستر NLB از یک رایانهی واحد با استفاده از NLB Manager یا Cmdletهای NLB در Windows Powershell.
- مشخص کردن رفتار Load Balancing برای یک پورت یا گروه پورتهای IP واحد با استفاده از قواعد مدیریت پورت.
- تعریف قواعد پورت مختلف برای هر وبسایت. اگر از سرورهای تعدیل بارشدهی یکسانی برای چندین برنامه کاربردی یا وبسایت استفاده شود، قواعد پورت مبتنی هر آدرس IP مجازی، با استفاده از کلاسترهای مجازی مقصد هستند.
- هدایت تمام درخواستهای Client به یک Host واحد با استفاده از قواعد عملیاتی و Single-Host. NLB درخواستهای Client را به یک Host بهخصوص هدایت میکند که برنامههای کاربردی بهخصوصی را اجرا مینماید.
- بلاک کردن دسترسی نامطلوب به شبکه برای پورتهای IP بهخصوص.
- فعالسازی پشتیبانی از Internet Group Management Protocol یا IGMP روی Hostهای کلاستر برای کنترل Flooding پورت سوئیچ، در هنگام عملیات در حالت Multicast وقتیکه Packetهای ورودی شبکه به تمام پورتهای روی سوئیچ ارسال میگردند.
- شروع، توقف و کنترل اقدامات NLB از راه دور با استفاده از دستورات یا اسکریپتهای Windows PowerShell.
- مشاهدهی Windows Event Log برای چک کردن رخدادهای NLB. NLB تمام اقدامات و تغییرات کلاسترها را در Log رخداد ثبت میکند.
بیشتر بخوانید: GLBP یا Gateway Load Balancing Protocol – قسمت اول
عملکرد مهم NLB
NLB بهعنوان یک جزء استاندارد از درایور شبکهی Windows Server نصب میگردد. عملیات آن برای Stack شبکهی TCP/IP شفاف هستند. شکل زیر رابطهی بین NLB و دیگر اجزای نرمافزار را در یک تنظیم متداول نشان میدهد.
ویژگیهای اصلی NLB
- برای اجرا شدن آن نیازمند هیچ سختافزاری نیست.
- ابزارLoad Balancing شبکه را فراهم میکند تا چندین کلاستر و تمام Hostها از یک رایانهی Local یا Remote، تنظیم و مدیریت شوند.
- به Clientها این توانایی را میدهد که با استفاده از یک نام اینترنت منطقیِ واحد و IP مجازی که تحت عنوان IP کلاستر شناخته میشود به کلاستر دسترسی پیدا کنند و نامهای مجزا را برای هر رایانه حفظ میکند. NLBاین امکان را فراهم میکند که چندین IP مجازی برای سرورهای Multihomed موجود باشد.
- NLB این توانایی را دارد به چندین آداپتور شبکه متصل باشد، که موجب میشود کاربر بتواند چندین کلاستر مستقل را روی هر Host تنظیم نماید. پشتیبانی از چندین آداپتور شبکه با کلاسترهای مجازی متفاوت است، زیرا کلاسترهای مجازی به کاربر توانایی تنظیم چندین کلاستر را روی یک آداپتور شبکهی واحد میدهد.
- اجرا شدن برنامهی کاربردی سرور در یک کلاستر NLB، نیاز به هیچ تغییری در برنامههای کاربردی ندارد.
- میتوان آن را درصورتیکه Host کلاستر دچار خرابی شود تنظیم کرد و پس از آن دوباره آنلاین گردد و بهصورت خودکار یک Host را به کلاستر اضافه کند. Hostاضافه شده میتواند به رسیدگی به درخواستهای سرور جدید از Clientها بپردازد.
- به کاربر این توانایی را میدهد که بدون ایجاد اختلال در عملیات کلاستر روی Hostهای دیگر، برای نگهداری یا Maintenance رایانهها را آفلاین کنند.
الزامات سختافزاری و نرم افزاری اجرای یک کلاستر NLB
الزامات سخت افزاری
- تمام Hostها در کلاستر باید در Subnet یکسانی قرار داشته باشند.
- هیچ محدودیتی در مورد تعداد آداپتورهای شبکه روی هر Host وجود ندارد و Hostهای متفاوت میتوانند تعداد متفاوتی آداپتور داشته باشند.
- در هر کلاستر، تمام آداپتورهای شبکه باید یا Multicast یا Unicast باشند. NLB از محیط ترکیبیِ Multicast و Unicast در یک کلاستر واحد پشتیبانی نمیکند.
- برای افرادی که از شیوهی Unicast استفاده میکنند، آداپتور شبکه که برای رسیدگی به ترافیک Client به کلاستر استفاده میشود، باید از تغییر آدرس MAC پشتیبانی کند.
الزامات نرمافزاری
- فقط TCP/IP را میتوان روی آداپتوری که NLB برای آن روی هر Host فعال است مورد استفاده قرار داد. نباید هیچ پروتکل دیگری، مثل IPX روی این آداپتور اضافه شود.
- آدرسهای IP متعلق به سرورها در کلاستر باید استاتیک باشند.