Network Load Balancing: مزایا توزیع بار در ویندوز سرور ۲۰۲۲ + آموزش راهاندازی
در دنیای امروز که استفاده از سرویسهای تحت وب و برنامههای کاربردی بهسرعت در حال افزایش است، مسئله توزیع بار بر روی سرورها اهمیت بسیاری پیدا کرده است. با افزایش تعداد کاربران و درخواستها، یک سرور بهتنهایی قادر به پاسخگویی به تمامی درخواستها بهصورت همزمان نخواهد بود. اینجاست که مفهوم توزیع بار یا همان Load Balancing وارد صحنه میشود.
در این مقاله به بررسی مفهوم توزیع بار شبکه (Network Load Balancing) در ویندوز سرور ۲۰۲۲ میپردازم و مزایا و کاربرهای آن را توضیح میدهم. همچنین یک آموزش گامبهگام برای راهاندازی Network Load Balancing ارائه خواهم داد.
فهرست مطالب
Network Load Balancing چیست؟
Network Load Balancing یا به اختصار NLB یک قابلیت قدرتمند در ویندوز سرور است که به مدیران شبکه امکان توزیع درخواستهای شبکهای میان چندین سرور را میدهد. این قابلیت باعث افزایش کارایی، پایداری و در دسترس بودن سرویسها میشود. زمانی که چندین سرور با استفاده از NLB در یک cluster قرار گیرند، هر درخواست بهطور هوشمندانه به یکی از سرورها ارسال میشود تا بار بر روی سیستمها توزیع شود.
در واقع همه این سرورها از دید کاربر به عنوان یک سرور دیده می شوند. به عنوان مثال اگر ما 10 سرور با 10 آدرس IP متفاوت داشته باشیم، تمامی این سرورها با استفاده از سرویس Network Load Balancing تبدیل به یک گروه یا cluster میشوند و بهازای تمام این 10 سرور، کاربر فقط یک آدرس IP میبیند. NBL با استفاده از پروتکلTCP/IP، ترافیک را روی چندین سرور توزیع می کند و میتواند در مواقعی که بار روی یک سرور زیاد میشود، بهطور خودکار درخواستها را به سایر سرورهای موجود در یک cluster ارسال کند تا ترافیک بهصورت متوازن بین سرورها پخش شود.
مزایای استفاده از NLB در ویندوز سرور ۲۰۲۲
استفاده از NLB مزایای بسیاری دارد که در ادامه به چند مورد مهم آن اشاره خواهم کرد:
افزایش دسترسیپذیری (High Availability): در صورتی که یکی از سرورها دچار مشکل شود، سایر سرورها بهصورت خودکار جایگزین آن خواهند شد و سرویسدهی ادامه خواهد داشت.
افزایش مقیاسپذیری (Scalability): با وجود این قابلیت، بهراحتی میتوان با اضافه کردن سرورهای جدید به cluster، ظرفیت سرویسدهی شبکه خود را افزایش داد.
توزیع هوشمند بار: NLB بهطور خودکار بار درخواستها را بر اساس الگوریتمهای مختلف بین سرورها تقسیم میکند.
کاهش Downtime: با استفاده از NLB، زمان خرابی سرویسها به حداقل میرسد و در مواقعی که نیاز به بهروزرسانی یا تعمیرات وجود دارد، میتوان بدون نگرانی از قطع سرویسدهی، به کار خود ادامه داد.
پشتیبانی از انواع سرویسها: NLB میتواند برای سرویسهای مختلف از جمله وب سرورها (IIS)، فایل سرورها و دیتابیسها استفاده شود.
پیشنیازهای راهاندازی NLB
ویندوز سرور اول
- سیستم عامل Windows Server 2022 (Desktop Experience)
- آدرس IP: آدرس 10.0.0.10
ویندوز سرور دوم
- سیستم عامل Windows Server 2022 (Desktop Experience)
- آدرس IP: آدرس 10.0.0.20
نکته: همچنین باید بر روی تمامی سرورها، سرویس IIS نصب و راه اندازی شده باشد. برای مطالعه بیشتر می توانید بر روی لینک نصب و پیکربندی سرویس IIS در ویندوز سرور 2022 کلیک کنید.
نصب IIS در ویندوز سرور 2022 + مزایا راهاندازی
در این مقاله قصد داریم راه اندازی و نصب IIS در ویندوز سرور 2022 را آموزش دهیم. Internet Information Services (IIS) یک وب سرور انعطاف پذیر و همه منظوره از مایکروسافت است که روی سیستم های ویندوز اجرا می شود تا صفحات یا فایل های HTML درخواستی را ارائه دهد. در ادامه یک
سناریو: توزیع بار بین دو سرور وب
در این سناریو دو سرور وب (IIS) به یک کلاستر NLB متصل میشوند تا درخواستهای HTTP بهطور مساوی بین این دو سرور تقسیم شوند. این دو سرور قرار است فقط با یک آدرس IP یکپارچه در شبکه دیده شوند بهطوری که گویا فقط یک سرور در شبکه وجود دارد. مراحلی که باید بر روی دو سرور انجام شود:
- نصب قابلیت NLB بر روی دو سرور
- ایجاد یک New Cluster در سرور اول
- اضافه کردن سرور دوم به NLB Cluster
مراحل راهاندازی Network Load Balancing در ویندوز سرور 2022
افزودن نقش NLB
برای راهاندازی Network Load Balancing، ابتدا باید این قابلیت بر روی هر دو سرور نصب شود. برای این کار به کنسول Server Manager رفته و بروی Add Role and Feature کلیک کنید.
در مرحله انتخاب Featureها گزینه Network Load Balancing را تیک بزنید و مراحل نصب را ادامه دهید.
در تمامی مراحل بعد، گزینه Next را بزنید تا نصب تمام شود. (دقت داشته باشید همانطور که قبلا اشاره شد، این قابلیت باید بر روی تمام سرورها راه اندازی شود)
نصب IIS
در صورتی که هنوز IIS را نصب نکردهاید، میتوانید در همین مرحله با انتخاب Web Server (IIS)، وب سرور خود را نیز نصب کنید.
نکته بسیار مهم: بعد از نصب NLB به تنظیمات کارت شبکه رفته و تیک قسمت Network Load Balancing را بزنید. در غیر اینصورت کارت شبکههای شما در Wizard ایجاد کردن کلاستر نمایش داده نمیشود.
پیکربندی NLB
پس از نصب NLB، نوبت به پیکربندی آن میرسد. از منوی Tools وارد کنسول مدیریتی Network Load Balancing Manager شوید.
بر روی Network Load Balancing Cluster راست کلیک و گزینه New Cluster را انتخاب کنید.
صفحه اولی که نمایش داده می شود صفحه Connect است، در این مرحله باید سرورهایی که بر روی آنها قابلیت Network Load Balancing نصب شده است، معرفی شوند. بعد از وارد کردن اسم یا آدرس سرور مورد نظر برای برقراری ارتباط بر روی دکمه Connect کلیک کنید تا به سرور مورد نظر وصل شوید.
بعد از وصل شدن به سرور نام برده، لیست NIC یا کارت شبکههای قرار گرفته در آن که قابلیت Network Load Balancing فعال نیز دارند، نمایش داده میشود.
در این صفحه تنظیمات پیش فرض را تایید کرده و با کلیک بر روی گزینه Next اولویت اول را برای همین Host اختصاص دهید (به علت Cluster Manager بودن این سرور). در صورتی که load یا بار موجود روی سرورها، هم وزن باشد، این مورد، تعیین کننده دسترسی به سرور می شود.
Cluster IP یک IP یکتا است که باید با دو کارت شبکه اختصاص داده شده به NLB در دو سرور هم رنج باشد. در واقع این IP یک IP مجازیست که درخواستهای ارسال شده به این IP روی Hostهای موجود در کلاستر بالانس یا توزیع میشود. این امر به این معنی است که کاربر درخواست خود را به این IP ارسال میکند و از عملیاتهای صورت گرفته پشت این IP که NLB میباشد، اطلاعی ندارد.
در این قسمت با توجه توضیحات ارائه شده یک IP برای این Cluster انتخاب و بر روی Next کلیک کنید.
در صفحه Cluster Parameters میتوانید به Cluster خود یک اسم اختصاص دهید که من در اینجا NLB را در نظر گرفتهام. همچنین در بخش Cluster Operation Mode نوع فعالیت Cluster را نیز میتوان مشخص کرد:
Unicast: گزینه Unicast که حالت پیشفرض است، به NLB Cluster این اجازه را میدهد تا بهصورت کامل آدرس MACهای Hostهایی که عضو Cluster شدهاند را تغییر داده و MAC Addressهایی که بهصورت مجازی در این صفحه تعریف میشوند را جایگزین آنها کند. این نوع پیکربندی از نظر کارآمدی بسیار خوب است اما نمیتوان همیشه آن را پیادهسازی کرد زیرا برخی از کارت شبکه ها و یا محیطهای مجازی، امکان پشتیبانی از چنین حالتی را نمیدهند.
Multicast: در این پیکربندی هر کدام از Hostهای موجود در مجموعه NLB Cluster ضمن اینکه MAC Addressهای NICهای خود را حفظ میکنند بلکه MAC Addressهایی که توسط Cluster ایجاد شده است نیز به عنوان Multicast MAC Address به آنها معرفی میشود. در چنین شرایطی در واقع MAC Addressای که کلاستر ایجاد کرده است به MAC Addressای که Host دارد ترجمه میشود.
IGMP Multicast: این نوع پیکربندی تنظیمات Multicasting را در سطح آدرس IP انجام میدهد. مزیت استفاده از این روش این است که با استفاده از محدود کردن NLB Traffic به داخل NLB Portها از اشباع شدن سوییچ شبکه جلوگیری میکند.
Port Ruleها مهمترین قسمت تنظیمات مربوط به NLB Cluster هستند. Port Ruleها تعیین میکنند ترافیک در داخل NLB چگونه Load Balance شود. همچنین نوع ترافیکی که قرار است Load Balance شود را نیز تعریف میکنند. هر Port Ruleای که تعریف میشود، برای خود یک نوع ترافیک ورودی دارد که میخواهد به یک مقصد برسد و نوع ترافیک از نظر TCP یا UDP بودن و همچنین آدرس IP مقصد نیز در آن تعریف میشود.
این نکته بسیار مهم را باید بدانید که نمیتوان دو rule یکسان در این قسمت تعریف کرد، به همین دلیل است که هیچوقت تداخلی در Ruleها به وجود نمیآید و هر Rule برای خود دارای یک اولویت و یک ترتیب است.
فقط یک Rule را میتوان به یک Incoming Packet اعمال کرد، و طبق تصویر زیر نیز، بهصورت پیشفرض فقط یک Rule وجود دارد که تمامی ترافیکهای موجود را از همه پورتهای موجود برای آدرسهای تعریف شده ارسال میکند. پیشنهاد میشود که این Rule ها تغییر نکنند اما میتوانید این کار را انجام دهید.
مولفه Affinity مشخص می کند درخواست کاربر به کدام سرور ارسال شود. سه نوع affinity وجود دارد:
None: پرکاربردترین نوع affinity که در آن، پاسخ به درخواست کاربر هیچ نظمی ندارد و در واقع همیشه خلوت ترین سرور به درخواست کاربر پاسخ میدهد. نقطه ضعف این نوع در مورد sessionهای ایجاد شده از طرف کاربر است. مثلا اگر کاربر برای استفاده از محتوای یک صفحه نیاز به Login داشته باشد، ممکن است در هر بار refresh کردن و یا تغییر صفحه، session کاربر به علت تغییر سرور expire یا منقضی شده و کاربر نیاز به Login مجدد داشته باشد.
Single: همیشه یک سرور در صورت دسترس بودن پاسخ کاربر را میدهد. به این صورت که اولین request کاربر به سمت خلوتترین سرور فرستاده میشود و بعد از آن فقط همان سرور پاسخ کاربر را میدهد، مگر اینکه از دسترس خارج شود.
Network: از این نوع در windows 2008 R2 با نام Class C یاد میشود. در این نوع پیوستگی، requestهای داخل شبکه به صورت single و requestهای خارج از شبکه (اینترنت) به صورت none پاسخ داده میشود.
Timeout: با استفاده از این گزینه میتوان زمان timeout شدن درخواست کاربر و در نتیجه بازیابی توسط cluster manager و توزیع مجدد به یک host دیگر را تعیین کرد. این زمان به صورت پیشفرض بر روی ۱۰ ثانیه تنظیم شده است.
Single Host: برای ارسال requestها به یک هاست استفاده میشود، حتی در صورت timed out شدن این هاست load balancing اعمال نمیشود.
Disable This Port Range: برای غیر فعال کردن NLB روی یک port range خاص استفاده میشود.
در این سناریو، تنظیمات را بر روی پیش فرض قرار داده و بدون اعمال تغییرات بر روی Finish کلیک کنید.
پس از کلیک روی دکمه finish اولین Host اضافه شده و فرایند cluster manager به پایان میرسد. البته کمی زمان میبرد تا رنگ آن سبز شود.
افزودن سرور دوم
سرور یا هاست دوم را نیز مانند هاست اول اضافه کنید. توجه داشته باشید مراحل کاملا شبیه اضافه کردن هاست اول میباشد با این تفاوت که در بخش priority اولویت دوم برای سرور دوم انتخاب میشود.
تست و بررسی صحت عملکرد NLB
بعد از انجام این مراحل، شما NLB Cluster خود را ایجاد کردهاید و برای اطمینان از عملکرد صحیح NLB، میتوانید بهراحتی با وارد کردن آدرس مجازی 10.0.0.30، هر دو سرور موجود در NLB Cluster را Ping کنید.
خدمات ما در مجموعه هیواشبکه شامل :
شرکت فنی و مهندسی هیوانوآوران داده گستر : مجری طراحی ، پیاده سازی ، پشتیبانی پروژه های شبکه و امنیت در استان گیلان – رشت و شهرها و استانهای همجوار
آموزشگاه تخصصی هیواشبکه : برگزار کننده دوره های تخصصی شبکه و امنیت ، پیکربندی سرور HP ، مجازی سازی ، MCSA 2016 ، نتورک و … به صورت حضوری با مجوز از سازمان فنی و حرفه ای و آموزش کارکنان دولت در رشت ، استان گیلان و به صورت مجازی در سراسر کشور
هیچ دیدگاهی نوشته نشده است.