شبکه های کامپیوتری ( NETWORK )
 
نصب و راهندازی شبکه های کامپیوتری طراحی وب سایت آموزش شبکه و وب سایت و برنامه نویسی
Network Load Balancing Overview
کار اين سرويس توضيع کردن Connection هاي Client ها بين دو يا چندين سرور يکسان مي باشد .Client Request هاي که از LAN براي گرفتن يک سرويس ارسال مي شود
به سوي سرور ها توسط اين سرويس مي توان مديريت و کنترل کرد و ....
هر سروري که عضو يک Cluster باشد در واقع Host آن Cluster ناميده مي شود .در هر Cluster مي توان تا HOST 32 عضو داشت .

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




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 با آدرسهاي متفاوت را در بر مي گيرد .


ادامه مطلب
نوشته شده در تاريخ پنجشنبه بیست و ششم اسفند 1389 توسط محمد یاسر کبیری