ارائهدهندگان خدمات ابری (CSP) و شرکتهایی که از شبکه تعریف شده با نرمافزار (SDN) استفاده میکنند، میتوانند از Software Load Balancer یا به اختصار SLB برای ایجاد تعادل بار نرمافزاری بهمنظور توزیع یکنواخت ترافیک شبکه بین همه منابع استفاده کنند. SLB چندین سرور را قادر میسازد تا حجم کاری یکسانی را میزبانی کرده و دسترسیپذیری و مقیاسپذیری بالایی را ارائه دهند. Software Load Balancer میتواند با فناوریهای SDN مانند RAS Gateway، Datacenter Firewall و Route Reflector ایجاد یکپارچگی کند. با استفاده از Software Load Balancer، میتوانید قابلیتهای متعادلکننده بار را با استفاده از ماشینهای مجازی SLB در سرورهای محاسباتی Hyper-V مورد استفاده افزایش دهید. به همین منظور، Software Load Balancer از ایجاد و حذف سریع نقاط پایانی متعادلکننده بار برای عملیات CSP پشتیبانی میکند.
Software Load Balancer شامل چه امکاناتی است؟
Software Load Balancer شامل قابلیتهای زیر است:
- خدمات تعادل بار لایه ۴ برای ترافیک TCP/UDP
- تعادل بار شبکه عمومی و شبکه داخلی
- پشتیبانی از آدرسهای IP پویا (DIP) در شبکههای محلی مجازی (VLAN) و در شبکههای مجازی که با استفاده از مجازیسازی شبکه Hyper-V ایجاد شدهاند
- پشتیبانی از سنجش سلامت
- آمادگی برای مقیاس ابری، از جمله قابلیت افزایش مقیاس برای MUXها و میزبانها
نحوه عملکرد Software Load Balancer
Software Load Balancer با نگاشت آدرسهای IP مجازی (VIP) به DIPهایی که بخشی از مجموعه خدمات ابری در مرکز داده هستند کار میکند. VIPها، آدرسهای IP واحدی هستند که دسترسی عمومی به مجموعهای از VMهای متعادلکننده بار را فراهم میکنند. در واقع، VIPها آدرسهای IP هستند که در اینترنت نمایش داده میشوند تا دسترسی به منابع را سادهتر کنند. VIPها در SLB Multiplexer (MUX) قرار دارند و MUX شامل یک یا چند ماشین مجازی میشود. کنترلکننده شبکه از MUX با استفاده از پروتکل دروازه مرزی (BGP) برای اعلان هر VIP به روترهای شبکه به عنوان یک مسیر استفاده میکند. BGP به روترهای شبکه فیزیکی اجازه میدهد تا:
- بداند که VIP در هر MUX موجود است، حتی اگر MUX در زیرشبکههای مختلف در یک شبکه لایه ۳ قرار داشته باشد
- بار را برای هر VIP در تمام MUXهای موجود با استفاده از مسیریابی Equal Cost Multi-Path (ECMP) پخش کند
- به طور خودکار خرابی یا حذف MUX را تشخیص داده و ارسال ترافیک به آن را متوقف کند
- حذف بار را از MUX خراب و انتقال آن به MUXهای سالم
وقتی منبع ترافیک عمومی اینترنت باشد، SLB MUX ترافیک را بررسی میکند تا حتما شامل VIP به عنوان مقصد باشد، سپس ترافیک را ترسیم و بازنویسی میکند تا به یک DIP فردی برسد. برای ترافیک شبکه ورودی، این فرایند به صورت دو مرحلهای انجام میشود که بین MUX VM و میزبان Hyper-V که DIP مقصد در آن قرار دارد تقسیم میشود:
- تعادل بار: MUX از VIP برای انتخاب DIP استفاده میکند، بسته را در بر میگیرد و ترافیک را به میزبان Hyper-V که DIP در آن قرار دارد، ارسال میکند.
- ترجمه آدرس شبکه (NAT): میزبان Hyper-V کپسولهسازی را از بسته حذف میکند، VIP را به DIP ترجمه میکند، پورتها را مجددا تغییر میدهد و بسته را به DIP VM ارسال میکند.
MUX میداند که چگونه VIPها را به DIPهای صحیح متصل کند، زیرا از خط مشیهای متعادلکننده بار که توسط کنترلکننده شبکه تعیین شده آگاه است. ماشینهای مجازی پاسخ میدهند و ترافیک شبکه خروجی را به اینترنت یا منابع دیگر باز میگردانند؛ زیرا NAT توسط میزبان Hyper-V انجام میشود، ترافیک MUX را دور میزند و مستقیما از میزبان Hyper-V به روتر میرود. این فرایند دور زدن MUX، Direct Server Return (DSR) نامیده میشود. پس از ایجاد جریان اولیه ترافیک شبکه، ترافیک شبکه ورودی به طور کامل SLB MUX را دور میزند. در تصویر زیر، رایانه مشتری یک درخواست DNS برای آدرس IP یک سایت SharePoint شرکت دارد؛ در مورد این شرکت خیالی به نام Contoso، فرآیند ۹ مرحلهای زیر رخ میدهد:
- سرور DNS، IP مجازی ۱۰۵٫۴۷٫۶۰ را به سرویسگیرنده ارجاع میدهد.
- مشتری درخواست HTTP را به VIP ارسال میکند.
- شبکه فیزیکی چندین مسیر برای دسترسی به VIP واقع در هر MUX دارد. هر روتر در طول مسیر از ECMP برای انتخاب مسیر استفاده میکند تا زمانی که درخواست به MUX برسد.
- MUX که درخواست را دریافت میکند، خط مشیهای پیکربندی شده را بررسی میکند و میبیند که دو DIP با مشخصات ۱۰٫۱۰٫۱۰٫۵ و ۱۰٫۱۰٫۲۰٫۵ در دسترس است.
- MUX یکی از بین دو DIP، ۱۰٫۱۰٫۵را انتخاب میکند و بستهها را با استفاده از VXLAN کپسوله میکند تا بتواند آن را با استفاده از آدرس شبکه فیزیکی میزبان، به میزبان حاوی DIP ارسال کند.
- میزبان بسته را دریافت میکند و آن را بررسی میکند. این کار محتویات بسته را حذف کرده و بسته را بازنویسی میکند، به طوری که مقصد اکنون به جای VIP، DIP با آدرس ۱۰٫۱۰٫۵ است.
- درخواست به سایت Contoso SharePoint در سرور ۲ میرسد. سرور با استفاده از آدرس IP خود به عنوان منبع، پاسخ مناسب ایجاد کرده و آن را به مشتری ارسال میکند.
- میزبان بسته خروجی را در سوئیچ مجازی قطع میکند و یادآوری میکند که سرویسگیرنده، اکنون مقصد درخواست اصلی را به VIP ارسال کرده است. میزبان منبع بسته را VIP در نظر میگیرد تا سرویسگیرنده آدرس DIP را نبیند.
- میزبان بسته را مستقیما به Gateway پیشفرض شبکه فیزیکی ارسال میکند که از جدول مسیریابی استاندارد خود برای ارسال بسته به سرویسگیرنده استفاده میکند و در نهایت پاسخ را دریافت میکند.
زیرساخت تعادل بار نرمافزاری
قبل از پیکربندی Software Load Balancer، ابتدا باید کنترلکننده شبکه و یک یا چند ماشین مجازی SLB MUX را مستقر کنید. علاوه بر این، باید میزبانهای Azure Stack HCI را با سوئیچ مجازی Hyper-V مجهز به SDN پیکربندی کرده و از فعال بودن SLB Host Agent اطمینان حاصل کنید. مسیریابهایی که به میزبان سرویس میدهند باید از مسیریابی ECMP و پروتکل Gateway مرزی (BGP) پشتیبانی کنند و باید طوری پیکربندی شوند که درخواستهای همتا BGP را از SLB MUXها بپذیرند.
کنترلکننده شبکه
کنترلکننده شبکه، میزبان SLB Manager است و اقدامات زیر را برای Software Load Balancer انجام میدهد:
- دستورات SLB را که از طریق API Northbound از مرکز مدیریت Windows، System Center، Windows PowerShell یا سایر برنامههای مدیریت شبکه وارد میشوند، پردازش میکند.
- توزیع به میزبانهای Azure Stack HCI و SLB MUXes را سیاستگذاری میکند.
- وضعیت سلامت زیرساخت Software Load Balancer را آماده میکند.
SLB MUX
SLB MUX ترافیک ورودی شبکه را پردازش میکند و پس از تبدیل VIPها را به DIP، ترافیک را به DIP صحیح هدایت میکند. هر MUX همچنین از BGP برای انتشار مسیرهای VIP به روترهای لبه استفاده میکند. BGP Keep Alive هنگامی یک MUX از کار میافتد، MUXهای دیگر را مطلع میکند تا بار را دوباره توزیع کنند که همین کار تعادل بار را ممکن میکند.
SLB Host Agent
هنگام استقرار Software Load Balancer، باید از Windows Admin Center، System Center، Windows PowerShell یا برنامه مدیریتی دیگری برای استقرار SLB Host Agent در هر سرور میزبان استفاده کنید. SLB Host Agent به دنبال بهروزرسانیهای سیاست SLB از طریق کنترلکننده شبکه است. علاوه بر این، برنامههای SLB Host Agent در سوئیچهای مجازی Hyper-V با SDN فعال میشوند که در رایانه محلی پیکربندی شدهاند.
سوئیچ مجازی Hyper-V با قابلیت SDN
برای سازگاری سوئیچ مجازی با SLB، افزونه Virtual Filtering Platform (VFP) باید در سوئیچ مجازی فعال باشد. این کار به طور خودکار توسط اسکریپتهای استقرار SDN PowerShell، ابزار استقرار Windows Admin Center و استقرار System Center Virtual Machine Manager (SCVMM) انجام میشود. سوئیچ مجازی Hyper-V مجهز به SDN اقدامات زیر را برای SLB انجام میدهد:
- مسیر داده SLB را پردازش میکند.
- ترافیک شبکه ورودی را از MUX دریافت میکند.
- MUX را برای ترافیک شبکه خروجی دور میزند و با استفاده از DSR به روتر متصل میشود.
روتر BGP
روتر BGP اقدامات زیر را برای Software Load Balancer انجام میدهد:
- با استفاده از ECMP ترافیک ورودی را به MUX هدایت میکند.
- برای ترافیک شبکه خروجی، از مسیری که میزبان ارائه میدهد استفاده میکند.
- به روزرسانیهای مسیر برای VIPها از SLB MUX دریافت میکند.
- SLB MUXها را در صورت خرابی از چرخش SLB حذف میکند.
جمعبندی: مزایا و ویژگیهای Software Load Balancer
قابلیتهای اصلی
- SLB خدمات تعادل بار لایه ۴ را برای ترافیک TCP/UDP ارائه میدهد.
- از SLB در شبکه مبتنی بر مجازیسازی شبکه Hyper-V استفاده میشود.
- از SLB در شبکه مبتنی بر VLAN برای DIP VMهای متصل به سوئیچ مجازی SDN Enabled Hyper-V استفاده میشود.
- یک SLB میتواند چندین منبع را اداره کند.
- SLB و DIP از یک مسیر بازگشت مقیاسپذیر و کمتاخیر پشتیبانی میکنند.
- SLB هنگامی که از Switch Embedded Teaming (SET) یاSingle Root Input/Output Virtualization (SR-IOV) نیز استفاده میکنید عملکرد درستی دارد.
- SLB از پروتکل اینترنت نسخه ۶ (IPv6) و نسخه ۴ (IPv4) پشتیبانی میکند.
مقیاس و عملکرد
- سازگاری با مقیاس ابری، از جمله قابلیت افزایش مقیاس برای MUXها و Host Agentها.
- یک ماژول SLB Manager Controller Network فعال میتواند از هشت MUX پشتیبانی کند.
دسترسیپذیری بالا
- می توانید SLB را در بیش از دو گره در پیکربندی active/active مستقر کنید.
- MUXها را میتوان بدون آسیب رساندن به سرویس SLB از MUX حذف یا اضافه کرد.
- نمونههای تکی MUX، ۹۹ درصد فعال هستند.
- دادههای نظارت بر سلامت در اختیار نهادهای مدیریتی است.