Search

۱۳۹۱ خرداد ۱۳, شنبه

Network Load Balancing Overview

Network Load Balancing Overview
کار این سرویس توضیع کردن Connection های  Client ها بین دو یا چندین سرور یکسان می باشد .Client Request های که از LAN برای  گرفتن یک سرویس ارسال می شود
به سوی سرور ها  توسط این سرویس می توان مدیریت و کنترل کرد و ....
هر سروری که  عضو یک Cluster باشد در واقع Host آن Cluster نامیده می شود .در هر Cluster می توان تا HOST 32  عضو داشت .
Figure 1 NLB Networks
Web Server ها  که دارای Request های بسیار زیاد می باشند توسط این سرویس می توانند بهتر و با سرعت و دقت بیشتری جوابگو باشند .
این سرویس توسط فایل Wlbs.sys تصمیم می گیرد بر اساس یک سری الگوریتم ها که کدام Host عضو باید جواب کدام یک از Incoming Request را بدهد .
سرویسهایی که می توان نوسط NLB ترافیکشان را کنترل کرد عبارتند از FireWall و Proxy و Web Serv .
تذکر بسیار تاکید شده که سرویس هایی همانند WINS , DHCP را نمی توان برای کنترل ترافیکشان از این سرویس استفاده کرد .
برای آتها از سرویس دیگری به نام Windows Server Cluster استفاده می شود تذکر در آن سرویس حداکثر می توان HOST 8  عضو داشت .
Load balancing
تعادل کار این سرویس ثابت می باشد مگر اینکه تغییری در تنظیمات Cluster روی دهد .شما می توانید تقسیم بندی کنید Incoming Client Connection ها را برای Host های موجود
در Cluster خود.
High availability
اگر یک Host خراب شود یا Fail شود سرویس آن را شناسایی می کند و خیلی سریع Client Request های مربوط به آن Host خراب را به سمت Host های سالم عضو آن Cluster راهنمایی و یا
در واقع Route می کند این کار بصورت اتوماتیک انجام می شود .تمامی Connection های مربوط به Host خراب از بین می رود در ادامه کار آن Client ها به Host سالم ارتباط داده می شوند .
تمامی این موارد از زمان خرابی یک Host تا مسیر دهی مجدد و ایجاد ارتباط با Host سالم در 10 ثانیه رخ می دهد .
Scalability
در هر Cluster می تواند 32 عضو یا Host فعالیت کنند .شما می توانید یک Host را اضافه یا کم کنید از یک Cluster بدون اینکه سیستم ها را خاموش و یا Boot و یا سرویس را Stop , Start
کنید.

How Network Load Balancing Works
مختصرا باید گفت که زمانی که سرویس  NLB نصب شد تمامی  Host های عضو آن Cluster یک Virtual IP Address مشخص می گیرند برای جوابگویی به Client ها .
Client ها Request های خود را برای تمامی  Host های عضو Cluster ارسال می کنند اما فقط یک Host جوابگو آن Request می باشد .بقیه Host ها به آن Request جواب نمی دهند .
تنظیمات موجود در Port Rule می باشد که مشخص می کند که کدام Host از دیگر Host ها ارجح تر می باشد برای جواب دادن به Client Request های ارسالی .
در قسمتهای بعدی بیشتر با Port Rule آشنا می شوید .
 
heartbeat messages
در میان Host ها پیغامی ردوبدل می شود که برای آگاه شدن از وضعیت یکدیگر می باشد نام این پیغام Heartbeat message می باشد .زمانی که یک Host این پیغام را ارسال نکند و یا جوابی
به آن ندهد در واقع آن Host خراب یا Fail شده .بدین صورت Cluster آگاه می شود کدام Host سالم می باشد و کدام خراب .زمانی که یک Host به Cluster اضافه می شود
برای همگرا شدن با دیگر Host های عضو این پیغام را عضو جدید ارسال می کند .زمانی که تمامی  عضو ها این همگرا شدن را به رسمیت شناختند عضو جدید شروع به کار می کند و برای
Lan Clients قابل دسترس می شود .
 
 port rules, cluster parameters, and host parameters
در NLB سه  Tab بالا نقش مهمی را ایفا می کنند که با تنظیم کردن آنها می توانید یک جور نظم کاری بین Host های درون Cluster ایجاد کنید
این نظم شامل وظایف ونیز درصد جوابگویی هر Hostرا  شامل می شود.
مشخص کردن درصد Incoming Connection هر Host و نیز ترتیب اولویت آنها در جوابگویی و ....
شما می توانید مشخص کنید که کلیه Client درخواستهای خود را برای یک Host مشخص ارسال کنند (single affinity)

NLB درصد کل را تقسیم بر تعداد Host ها می کند اگر یک Cluster دارای 4 Host باشد هر یک 25% بار کاری را برعهده می گیرند .اگر یکی از این 4 Host خراب شود 3 Host باقیمانده 33% بار کاری را هر یک برعهده می گیرند .در شکل کاملا این تقسیم بندی مشخص می باشد .

Figure 2 NLB Service (Benefit)
System Requirements
حداقل ها برای راه اندازی سرویس NLB در زیر مشخص شده .
  • Windows 2000 Advanced Server or Windows 2003 Server
  • TCP/IP protocol
  • FDDI, Ethernet, or Gigabit Ethernet
  • Cluster hosts that reside on the same physical subnet
  • 1.5-megabyte (MB) hard disk space
  • Between 250 KB and 4 MB of RAM, using the default parameters and depending on the network load
مواردی که در زیر مشخص  شده نیز باید مد نظر قرار بگیرند .
یک Host نمی تواند همزمان عضو دو Cluster باشد . NLB از شبکه های Token Ring پشتیبانی نمی کند .ترجیحا سیستم عامل ها کلیه Host ها یکسان باشد.
برای هر Host حداقل یک Network Adapter لازم می باشد ولی بهتر می باشد که یک کارت شبکه دیگر برای فعالیتهایی بجز Cluster نیز سرور داشته باشد که از آن
هر ترافیکی بجز فعالیتهای NLB را عبور دهد .
 
Components
سه فایل مهم برای کار با سرویس وجود داراد Wlbs.sys , Wlbs.exe, Wlbs.chm فایل sys مربوط به Driver این سرویس می باشد.
و فایل exe یک Command برای مدیریت کردن سرویس NLB می باشد و فایل chm فایل Help این سرویس می باشد.
 
Network Load Balancing Design
تمامی Host های عضو Cluster درخواستهای Client ها را دریافت می کنند اما این الگوریتم ها می باشند که بر اساس مواردی چون host priorities
و multicast or unicast mode و port rules و affinity set تشخیص می دهند که کدام Host جوابگوی کدام Request باشد.
 
 Advantages
توان بسیار زیاد در مسیر دهی و عبور ترافیک های سنگین از خود .
NLB جلوگیری کرده از تک سرور بودن برای هر سرویس و به تعداد سرورهای عضو توان بازدهی ان سرویس افزایش یافته و خراب شدن یک سرور
موجب قطع سرویس دهی نمی شود .
software solution بودن این سرویس موجب دسترسی آسان تر به آن می باشد .
موجب می شود که همیشه تمامی سرور ها دارای حداقل ترافیک باشند و بار کاری را بین آنها تقسیم می کند .
 
Affinity
این قسمت مربوط می شود به رابطه بین Client ها و یک Host مشخص .سه نوع یا سه حالت برای Affinity وجود دارد .
این گزینه رابطه مستقیم با Source IP Address و Source Port Number با Destination Host دارد یعنی اینکه آدرس مبدا که همان Client ها می باشند
برای سرویس NLB مهم می باشد در انتخاب Host که در Cluster باید جواب گو باشد .
 
در زیر سه حالت  Affinity را بررسی می کنیم. شاید کمی درک این حالت ها مشکل باشد بازدن مثال ها بهتر متوجه خواهید شد .
 
None
سرویس NLB زمانی که در این حالت باشد یعنی اینکه شما می خواهید بصورت مساوی Client Request ها را بین Host های آن Cluster تقسیم کنید این یعنی اینکه شما در
سرویس Cluster بیشتر از یک Host دارید در این حالت هر Client در خواستهای خود را به سرور های متفاوت درون Cluster  ارسال میکند مثلا ممکن است یک فرد Page شماره 1 را
از سرور یا Host 1 بگیرد و Page  شماره 2 را از Host شماره 5  بگیرد . البته متوجه شدید که منظور از Page  همان صفحه های وب یک WebSite می باشد .
تذکر سرویس IIS بر روی هر یک از Host ها نصب می باشد .
 
Single
زمانی که یک سرور در Cluster وجود دارد این گزینه فعال می باشد و یا بهتر است فعال باشد. در این حالت یک Cluster همیشه ترافیک خود را به یک Host مشخص Route می کند
برای جواب دادن به درخواست ها.بنابراین در این حالت همیشه تمامی Client ها با یک سری Port های مشخص شده از طرف Cluster با آن Host ارتباط برقرار می کنند . برای سایتهای
که سرویس های ASP یا ASP.NET دارند این حالت بهتر می باشد .
 
Class C
  • When Affinity is set to Class C, only the upper 24 bits of the client's IP address are used by the statistical-mapping algorithm. This option is appropriate for server farms that serve the Internet. Client requests coming over the Internet might come from clients sitting behind proxy farms. In this case, during a single client session, client requests can come into the Network Load Balancing cluster from several source IP addresses during a session. Class C Affinity addresses this issue by directing all the client requests from a particular Class C network to a single Network Load Balancing host.
    There is no guarantee, however, that all of the servers in a proxy farm are on the same Class C network. If the client's proxy servers are on different Class C networks, then the affinity relationship between a client and the server ends when the client sends successive requests from different Class C network addresses.
در این حالت شما می توانید Client هایی که دارای IP Address در Class C باشند را سرویس دهید این نوع بیشتر برای سرور های درون Internet استفاده می شود .
معمولا چون Client های درون Internet از پشت یک Proxy درخواستهای خود را ارسال می کنند در این حالت یک Session با آدرسهای متفاوت را در بر می گیرد .

هیچ نظری موجود نیست: