ها که داراي 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% بار کاري را هر يک برعهده مي گيرند .در شکل
کاملا اين تقسيم بندي مشخص مي باشد .
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 با
آدرسهاي متفاوت را در بر مي گيرد .