نصب و راه اندازی Network Load Balancing یا NLB در ویندوز سرور ۲۰۱۹
نصب و راه اندازی Network Load Balancing یا NLB در ویندوز سرور ۲۰۱۹
درباره NLB
NBL با استفاده از پروتکل شبکه ی TCP/IP ،ترافیک را روی چندین سرور توزیع می کند و پایداری و دسترسی پذیری application های اینترنتی مانند Web ،FTP ، Firewall وغیره را با مدیریت دو یا چند سرور مختلف در یک گروه افزایش می دهد.
NBL با ترکیب دو یا چند رایانه که برنامه های کاربردی را در یک کلاستر مجازی واحد اجرا می کند، قابلیت اطمینان و عملکرد را برای سرورهای وب و دیگر سرورهای مهم عملیاتی فراهم می کند.
سرورهایی که در یک کلاستر NLB قرار دارند، Host نام دارند و هر Host یک کپی مجزا از برنامه های کاربردی سرور را اجرا می کند. البته NLB درخواست های ورودی Client را روی Host های درون کلاستر توزیع می کند. می توان میزان باری را که هر Host باید به آن رسیدگی کند تنظیم کرد.
همچنین می توان Host ها را به صورت Dynamic اضافه کرد تا به بار افزایش یافته رسیدگی کنند.
همچنین NLB می تواند تمام ترافیک را به یک Host واحد اختصاصی هدایت کند که Default Host نام دارد.
استفاده کردن از سرویس NLB محدود به وب سایت ها و وب سرویس ها نمی شود و شما می توانید Remote Desktop Farm یا VPN Server Farm و یا حتی Proxy Server Farm را هم با استفاده از NLB ایجاد کنید.
شما می توانید از یک سرویس NLB بصورت همزمان برای راه اندازی چندین فایروال TMG و ترکیب کردن آن با چندین سرور IIS یک NLB ترکیبی ایجاد کنید.
اولین گامی که NLB برای بالا بردن دسترسی پذیری سرویس به ما ارائه می دهد این است که با استفاده از شناسایی سرورهای مشکل دار دیگر درخواستی را به سمت این سرورها ارسال نمی کند و درخواست های جدید برای سرورهای فعال مجموعه ارسال می شوند ، بدین ترتیب هیچ کلاینتی متوجه بروز مشکل در یکی از سرورها نمی شود و سرویس همچنان ادامه پیدا می کند.
در واقع NLB قابلیت شناسایی و سپس از مدار خارج کردن سرورهای غیر فعال مجموعه را دارد.
ویژگی های NLB
- از حد اکثر ۳۲ host در یک cluster پشتیبانی می کند.
- در کسری از ثانیه لود توزیع شده به یک host غیر قابل دسترسی را بازیابی و مجدد توزیع می کند.
- در زمان بالا رفتن بار ترافیکی به صورت خودکار یک host تعریف شده را به چرخه لود اضافه می کند.
- زمانی که بار ترافیکی کاهش یافت، host اضافه شده را از چرخه خارج می کند.
- اگر یک host به cluster اضافه و یا از آن کم بشود بار ترافیکی را به صورت خودکار در cluster متعادل می کند.
- از دسترس خارج شدن یک میزبان (host) در یک گروه تعریف شده (cluster) را به سرعت شناسایی می کند.
نصب و راه اندازی Network Load Balancing
برای راه اندازی NLB حد اقل نیاز به دو سرور داریم که در آنها سرویس IIS و سرویس NLB نصب شده باشد. یکی از این سرور ها می تواند همان سرور مدیریت کننده NLB باشد. هر کدام از این سرور ها می بایست دارای حداقل دو کارت شبکه باشند که از یکی از آنها صرفا برای NLB استفاده می شود.
NLB به صورت یک feature به ویندوز اضافه می شود.
جهت راه اندازی NLB وارد منوی start شده و روی server manager کلیک کنید. با انتخاب گزینه add roles and features وارد بخش نصب افزونه های ویندوز سرور شوید.
در پنجره زیر روی Next کلیک میکنیم.
درمرحله بعد گزینه ی Role-based or feature-based installation را علامت میزنیم و Next را کلیک میکنیم.
گزینه Remote Desktop Services installation برای کانفیگ کردن سروری دیگه از طریق ریموت دستاپ هستش.
در این مرحله انتخاب میکنیم که Role مورد نظر بر روی کدام ویندوز سرور نصب شود.
از ویندوز ۲۰۱۲ به بعد قابلیتی به نام Server pool به ویندوز سرور ها اضافه شده که با استفاده از آن میتونیم به تمام ویندوز سرور هایی که قصد اعمال تغییر و … بر روی آن ها را داریم دسترسی داشته باشیم.
اگر چند سرور در شبکه خودمون داشته باشیم در قسمت Server Pool اضافه و انتخاب میکنیم Role که قصد نصب داریم بر روی کدام سرور قرار بگیره.
در این صفحه پس از انتخاب افزونه Network Load Balancing از شما سوال می شود که آیا مایل به نصب Network load balancing tools هستید یا خیر که با انتخاب گزینه add feature موافقت خود را اعلام کرده و روی next کلیک کنید تا وارد صفحه تایید نهایی نصب شوید.
در صفحه نهایی ، روی دکمه Install کلیک کنید تا مراحل نصب شروع شود و پس از پایان نصب روی گزینه Close کلیک کنید تا نصب افزونه پایان یابد.
همانطور که در ابتدای مقاله اشاره شد، از NLB می توان در سرویس های متفاوتی استفاده کرد. در این مقاله تنظیمات مربوط به سرویس وب ارائه می شود. ساز و کار باقی سرویس ها با توجه به port و task آن سرویس تقریبا یکسان است.
در کارت شبکه ای که قصد دارید برای NLB استفاده کنید می بایست آیتم Client For Microsoft Networks غیر فعال شود.
در Server Manager با کلیک روی منوی Tools و انتخاب گزینه Network Load Balancing Manager وارد کنسول مدیریتی NLBشوید
یا میتوانید با استفاده از پنجره run دستور nlbmgmt.msc را اجرا کنید.
پس از باز شدن کنسول، روی گزینه Network Load Balancing Clusters کلیک راست کرده و گزینه New Cluster را انتخاب کنید.
در صفحه باز شده IP کارت شبکه یکی از وب سرور ها را وارد کنید.
کارت شبکه ای که Client For Microsoft Networks روی آن غیر فعال شده است و به NLB اختصاص داده شده است را انتخاب کنید.
در این صفحه با کلیک روی گزینه next اولویت اول را برای این host باقی گذارید. در صورت هم وزن بودن load موجود روی سرور ها، این مورد تایین کننده دسترسی به سرور است.
در صفحه New Cluster: Cluster IP Addresses، روی Add کلیک کنید تا یک آدرس IP Cluster جدید اضافه شود.
Cluster IP یک IP یکتا است که با دو کارت شبکه اختصاص داده شده به NLB در دو سرور هم رنج است. این IP به نوعی یک IP مجازی است که Request های ارسال شده به این IP روی Host های موجود در Cluster متعادل می شود.
در واقع کاربر درخواست خود را به این IP ارسال می کند و از task های صورت گرفته پشت این IP که NLB است بی اطلاع خواهد بود.
در این صفحه با انتخاب گزینه Multicast روی گزینه next کلیک کنید تا وارد صفحه تخصیص پورت شوید.
در صفحه New Cluster: Port Rules، قانون پورت(port rule) موجود را انتخاب کرده و بر روی ویرایش کلیک کنید.
همانطور که در این صفحه مشاهده می کنید، سرویس NLB با یک rule به تمامی پورت ها اعمال شده است. با توجه به این که در حال حاضر این سرویس تنها برای وب سرور راه اندازی شده است، نیاز است که با edit کردن این rule تنها پورت های ۸۰ و ۴۴۳ را برای اعمال NLB معرفی کنیم. پس از ویرایش پورت ها، گزینه affinity را ترجیحا روی none قرار دهید.
درباره Affinity
Affinity یا پیوستگی، نظم پاسخدهی به درخواست های یک کاربر را مشخص می کند. بدین منظور که درخواست کاربر به کدام سرور برسد و یا نرسد. سه نوع affinity قابل انتخاب است
Singleهمیشه یک سرور در صورت دسترس بودن پاسخ کاربر را می دهد. به این صورت که اولین request کاربر به سمت خلوت ترین سرور ارسال شده و از این پس تنها این سرور پاسخ کاربر را ارائه می دهد
Timeout با استفاده از این گزینه می توانید زمان timeout شدن request کاربر و در نتیجه بازیابی توسط cluster manager و توزیع مجدد به یک host دیگر را تعیین کنید. این زمان به صورت پیشفرض ۱۰ ثانیه است.
Network از این نوع affinity در windows 2008 R2 با نام Class C یاد می شود. در این نوع پیوستگی، request های داخل شبکه به صورت single و request های خارج از شبکه(اینترنت) به صورت none پاسخ داده می شود.
None کارا ترین نوع affinity این نوع است. در این نوع، پاسخ به request کاربر هیچ نظمی ندارد و همیشه خلوت ترین سرور به درخواست کاربر پاسخ می دهد.
نقطه ضعف این پیوستگی در مورد session های ایجاد شده از طرف کاربر است. به طور مثال اگر کاربر برای استفاده از محتوای یک صفحه نیاز به لاگین دارد، در هر بار refresh کردن و یا تغییر صفحه ممکن است session کاربر به علت تغییر سرور expire شده و کاربر مجدد نیاز به لاگین داشته باشد.
Single Host برای ارسال request ها صرفا به یک هاست استفاده می شود، حتی در صورت timed out شدن این هاست load balancing اعمال نمی شود.
Disable This Port Range برای غیر فعال کردن NLB روی یک port range خاص استفاده می شود.
صبر کنید تا گره با موفقیت اضافه شود. رنگ نماد گره NLB اضافه شده باید سبز نمایش داده شود.
پس از کلیک روی دکمه finish فرآیند اضافه کردن اولین Host و همچنین cluster manager به پایان رسیده است. هاست دوم را نیز مانند هاست اول اضافه کنید.
فرآیند کاملا مشابه اضافه کردن هاست اول است. با این تفاوت که در بخش priority اولویت دوم برای سرور دوم انتخاب می شود.
به عنوان نکته در صورتی که سرور ها قرار است به صورت بک آپ و Load balancing برای هم عمل کنند، تنظیمات سرور ها مانند DNS Zones، IIS و…می بایست مانند هم باشد.
تریجیحا در سرور با اولویت پایین تر از Secondary DNS Zone استفاده شود.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.