Winteacher.com Network Load Balance (NLB)

NLB Network Load Balancing (Farsi User Guide)
Winteacher.com
Resource: Windows 2000 Server Resource kit Distributed System Guide

2003-2005

Winteacher.com > Part2 > NLB > NLB Master Page

* NLB Master Page

NLB Service
Network Load Balancing Overview
Implementing Network Load Balancing
Network Load Balancing with Network Hardware Switches
Scenarios
Default Handling of Client Requests
Wlbs Display Command
Changing Network Load Balancing Resource Limits in the Registry

* What's New ( NLB )

کار این سرویس توضیع کردن Connection های Client ها بین دو یا چندین سرور یکسان می باشد .

Client Request های که از LAN برای گرفتن یک سرویس ارسال می شود

به سوی سرور ها توسط این سرویس می توان مدیریت و کنترل کرد و ....

در این بخش بیشتر با این سرویس آشنا می شویم .

In This Chapter

1. Network Load Balancing Overview

2. Implementing Network Load Balancing

3. Network Load Balancing with Network Hardware Switches

4. Scenarios

5. Default Handling of Client Requests

6. Wlbs Display Command

7. Changing Network Load Balancing Resource Limits in the Registry

NLB Network Load Balancing (Farsi User Guide)

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > NLB Master Page


Winteacher.com Network Load Balancing Overview

2003-2005

Winteacher.com > Part2 > NLB > 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 با آدرسهای متفاوت را در بر می گیرد .

NLB Network Load Balancing (Farsi User Guide)

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > Network Load Balancing Overview


Winteacher.com Implementing Network Load Balancing

2003-2005

Winteacher.com > Part2 > NLB > Implementing Network Load Balancing

Implementing Network Load Balancing

موارد زیر لازم می باشد برای اینکه NLB بتواند با Application های مد نظر کار کند .

  • They must use TCP connections or UDP data streams.
  • If client data changes, applications must provide a means of synchronizing updates to client data that is shared on multiple instances across the cluster.
  • If session state is an issue, applications must use single or Class C affinity or provide a means (such as a client cookie or reference to a back-end database) of maintaining session state in order to be uniformly accessible across the cluster.

Applications that are not compatible with Network Load Balancing have one or more of the following characteristics:

  • They bind to actual computer names (examples of such applications are Exchange Server and Distributed file system).
  • They have files that must be continuously open for writing (examples of such applications are Exchange Server and SMTP servers).

    In a Network Load Balancing cluster, multiple instances of an application (on different cluster hosts) should not have a file simultaneously opened for writing unless the application was designed to synchronize file updates. This is generally not the case.

برای فعال سازی یک NLB و ایجاد یک Cluster باید مرا حل زیر را انجام دهید .تذکر قبل از راه اندازی یک Cluster بهتر می باشد

که Service Pack 1 Win2003 را نصب کنید .

  1. Open Network Load Balancing Manager. OR Run Command "Nlbmgr.exe"
  2. Right-click Network Load Balancing Clusters, and then click New Cluster.
  3. Enter the cluster's IP address and other cluster information and click Next.
  4. If necessary, add additional virtual IP addresses that will be used by this cluster by clicking Add, entering the virtual IP address and Subnet mask information, then clicking OK. Repeat this process for each additional virtual IP address, then click Next.
  5. If necessary, add appropriate port rules and then click Next.
  6. Type the name of a host that will be a member of your cluster and click Connect. After you click Connect the network adapters that are available on the host that you typed will be listed at the bottom of the dialog box. Click the network adapter that you want to use for Network Load Balancing and then click Next. The IP address configured on this network adapter will be the dedicated IP address for this host.

    Important

    • If you are working from a computer that has a single network adapter that is bound to Network Load Balancing in unicast mode, you cannot use Network Load Balancing Manager on this computer to configure and manage other hosts because a single network adapter in unicast mode cannot have intrahost communication. You can, however, communicate with computers outside of the cluster.
  7. Configure the remaining host parameters as appropriate, then click Finish.
  8. Add additional hosts as appropriate

برای راه اندازی سرویس یا باید مراحل بالا را انجام دهید یا مستقیما از روی Properties Network Adapter در قسمت General Tab سرویس را پیکربندی کنید .

موارد بالا قسمت های مهمی دارد که در زیر توضیح داده شده.

Configuring Network Load Balancing

شما موارد زیر را باید دقت کنید و تنظیم کنید برای رفتار NLB با Client Request که دریافت می کند .

  • Cluster parameters (primary IP address, subnet mask, full Internet name, multicast support, remote control password, and confirm password), which specify the behavior of the cluster.
Figure 1 Cluster Parameters (Windows 2003 Server) IP Address (Virtual IP Address)

دراین قسمت شما باید آدرس مجازی که برای Cluster خود در نظر دارید را وارد کنید .

تذکر تمامی Host های عضو Cluster این آدرس مجازی را خواهند گرفت.

Subnet Mask

برای مشخص کردن شبکه مورد نظر باید Subnet خود را نیز در اینجا مشخص کنید .

Full Internet Name

FQDN این Cluster نیز باید تعریف شود .

Network Address (MAC)

MAC Address نیز همانند IP Address این Cluster مجازی می باشد که در

زمان معرفی IP Address این MAC Address بصورت اتوماتیک ساخته می شود.

Cluster Operation Mode

برای آشنایی با حالتهای مختلف این گزینه در Help Windows 2003 server در آدرس زیر

می توانید چهار حالت مختلف را بررسی کنید . تذکر این قسمت بسیار مهم می باشد مطالعه کنید .

Availability and scalability // Windows Clustering // Network Load Balancing clusters // Concepts // Planning your Network Load Balancing cluster // Choosing a Network Load Balancing model

Single network adapter in unicast mode
Multiple network adapters in unicast mode
Single network adapter in multicast mode
Multiple network adapters in multicast mode
Allow Remote Control

برای کنترل بصورت Remote باید یک Password ایجاد کرد البته امنیت بیشتر در این

می باشد که Remote Access فعال نباشد .

Host parameters in Windows 2000 Advanced Server OR Windows 2003 Server (host priority, initial value, dedicated IP address, and subnet mask parameters), which define how each host functions within the cluster and in load-balancing.
Priority (Unique Host Identifier)

برای اولویت دادن به Host های درون Cluster می توان

اعداد 1 تا 32 را انتخاب کرد

تذکر در یک NLB می توان از یک تا 32 Host داشت .

Dedicated IP Configuration

برای ارتباط با Host از طریق برنامه هایی مانند FTP و

دیگر سرویس ها بجز NLB می توانید برای Host یک

آدرس ایجاد کنید بهتر است که آدرس اولیه و اصلی

Network Adapter را بدهید .

In certain scenarios (such as load-balancing for virtual private networks"VPN"), you do not set a dedicated IP address in TCP/IP for the host's network connection. These applications require that the cluster's primary IP address be used for outbound connections. Therefore, in these scenarios you do not need to set a value for this parameter.

Initial Host State

کاملا مشخص می باشد که حالت سرویس را

بعد از Boot شدن Host را مشخص می کند .

Figure 2 Host Parameters (Windows 2003 Server)

Port rules (port range, protocols, filtering mode, affinity, load percentage, equal load distribution, and handling priority parameters), which define how the hosts distribute the incoming requests on a port or range of ports.

در این قسمت چگونگی کسترش و توضیع درخواستهای Client ها بین Host های

یک Cluster مشخص می شود اگر یک Host به Cluster

اضافه شود Port Rule آن با دیگر Host های عضو یکسان

نباشد موجب می شود که از طرف دیگر Host ها به رسمیت

شناخته نشود و عضو Cluster نشود .

شما در این قسمت می باشد که مشخص می کنید

که اگر دارید سرویس وب می دهید از چه Port

سیستم استفاده کند .

Http: 80 , Https (SSL):443

تذکر چون تا 32 Host می توان در یک Cluster که توسط سرویس NLB

ایجاد شده استفاده کرد از این سرویس بیشتر برای WebSite های بزرگ با

درخواستهای بالا استفاده می شود .در واقع شما می توانید 32 IIS Server با یک

آدرس مجازی را داشته باشید برای یک WebSite.

Figure 3 Port Rules (Windows 2003 Server)

Cluster IP Address

شما اگر به یک Host چند تا Virtual IP Address داده باشید در این قسمت

می توانید Port rule هر یک را معرفی کنید یا اینکه یک پیکربندی

را به همه آنها بدهید (All).

برای اطلاعات بیشتر در مورد M ultiple virtual IP addresses بر روی آن کلیک کنید

Port Range

در این قسمت شما باید محدوده مورد نظر برای برقراری ارتباط Client ها را با Host ها و یا یک

Host مشخص را تایین کنید .

مثلا اگر فقط می خواهید که از Port 80 استفاده کنند باید From:80 to:80 را ایجاد کنید .

For example, HTTP requests (and therefore most Web requests) use port 80, and Secure Sockets Layer (SSL) requests use port 443.

Filtering Mode

این قسمت در Network Load Balancing Overview شرح داده شده.

Equal زمانی که بخواهید درصد کاری مساوی تقسیم شود استفاده می شود

این در غیره این صورت شما باید درصد کاری هر Host را همه آنها را مشخص کنید.

Single Host AND Handling Priority

دراین قسمت شما اولویت را برای حالت Single را مشخص می کنید .

Disable this port range

برای غبره فعال کردن هر Rules می توان این گرینه را ایجاد کرد .

Figure 4 (Add/Edit) Port Rules (Windows 2003 Server)

در آخر بعد از مراحل نصب و پیکر بندی شما باید یک Cluster با حداقل یک HOST داشته باشید .

Figure 5 Network Load Balance Manager (Windows 2003 Server)

NLB Network Load Balancing (Farsi User Guide)

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > Implementing Network Load Balancing


Winteacher.com Network Load Balancing with Network Hardware Switches

2003-2005

Winteacher.com > Part2 > NLB > NLB with Network Hardware Switches

NLB with Network Hardware Switches

برای درک کامل کار سرویس NLB باید پشت صحنه کار این سرویس را درک کرد . در این قسمت چگونگی ارتباط آن با Hardware Switch را بررسی می کنیم .

برای برقراری ارتباط بین یک یا چند Client با کلیه Host های یک Cluster در سرویس NLB باید یک جور Broadcast Traffic ایجاد شود.

قبلا گفتیم که Client Request به همه عضو ها ارسال می شود اما فقط یکی از آنها به آن درخواست مدنظر جواب می دهد .بدلبل نوع ترافیک شما نمی توانید از Switch Layer 3 استفاده کنید .

شما یا باید از یک Hub استفاده کنید یا یک Switch L2 استفاده کنید .

Figure 1 Network Load Balancing cluster running in unicast mode with MaskSourceMAC enabled

سوئیچ رابط میانه و یا واسطه بین Computer ها

و Server ها و نیز دیگرسوئیچ ها می باشد

اگر شما توسط یک سوئیچ به یک Cluster

وصل شده اید باید یک سوئیچ لایه دو داشته باشید

و نه سوئیچ لایه 3 و یا بالا تر بدلیل اینکه تمامی

Host های شما به اشتراک گذاشته شده اند با

یک Virtual IP Address یکسان

و برای این هدف شما حتما باید یک سوئیچ لایه 2

داشته باشید .تذکر سوئیچ لایه 3 رفتارش با لایه 2

فرق می کند و در سرویس NLB کاربردی ندارد .

MaskSourceMAC is enabled

در حالت Unicast Mode تمامی MAC Address های کارت شبکه های Host های

عضو Cluster تغییر کرده و به یک MAC مجازی و یکسان تغییر می کند .

در این حالت تمامی Host عضو به عنوان مقصد Client Request ها می شود چون

دارای MAC Address های یکسان شده اند این روش NLB می باشد و بدین گونه عمل می کند.

همانطور که در شکل بالا می بینید در حالت Incoming هر دو سرور یا Host دارای MAC Address:02-bf-01-02-03-04 می باشند

و سوئیچ Packet ها را بدلیل وجود

دو Port دارای MAC Address های یکسان به هر دو ارسال می کند در اینجا منظور Port1,2 می باشد.در واقع Virtual IP Address شما

دارای این MAC Address مجازی می باشد.

MaskSourceMAC is disabled

در روش بالا که NLB از آن برای کار خود استفاده می کند یک مشکل جدی وجود دارد وآن به شرح زیر می باشد

زمانی که Packet Outgoing برای جواب به Client ها از یکی از Host ها خارج بشود و دوباره

Client ها درخواست ارسال کنند سوئیچ نمی تواند آن Packet ها را برسمیت بشناسد چون

سوئیچ برای هر Port خود یک MAC Address Unique و یا ثابت درنظر می گیرد

و دو Port با یک MAC برای سوئیچ تعریف نشده به همین دلیل Switch Flooding رخ می دهد

بدین صورت که عکس العمل آن در برابر این مشکل بدین گونه می باشد که آن Packet را

که MAC آدرسش را نمی شناسد برای تمامی Port های خود ارسال می کند این عمل باعث

می شود که ترافیک شبکه بسیار بالا برود و سوئیچ از حداکثر قدرت خود برای ارسال Packet ها استفاده

کند البته این مشکل را خود سرویس NLB ایجاد می کند برای اینکه بتواند از حداکثر قدرت انتقال شبکه استفاده کند

ولی مشکل اینجا می باشد که ترافیک کاری دیگر سیستم های شبکه

که ربطی به Cluster ندارند بسیار کم می شود و Packet ها برای آنها هم ارسال می شود .

برای جلوگیری از این مشکل می توان همانند شکل زیر از یک Hub استفاده کرد.

Figure 2 Network Load Balancing cluster running in unicast mode with MaskSourceMAC Disabled

در این حالت قانون سوئیچ نیز رعایت شده و هر Port دارای یک MAC Address Unique می باشد در این حالت دیگر

Switch Flooding رخ نمی دهد .وجود Hub موجب کاهش ترافیک نمی شود اما برای اینکه شما ترافیک Outgoing

خود را بهتر عبور دهید می توانید برای هر یک از Host های خود یک کارت شبکه دیگر نیز نصب کنید تا ترافیک روانتر و با

سرعت بالاتری عبور کند .این کار باعث می شود کنجایش Hub با ترافیک Outgoing پر نشود و نیز موجب می شود مسیر های

ورودی وخروجی Cluster شما در Switch دارای Port های متفاوت باشد در نتیجه به Switch نیز فشار نمی آید و می تواند

راحتر و با سرعت بالاتری کار کند .

NLB Network Load Balancing (Farsi User Guide)

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > NLB with Network Hardware Switches


Winteacher.com Network Load Balancing Scenarios

2003-2005

Winteacher.com > Part2 > NLB > NLB Scenarios

NLB Scenarios

در این قسمت بعضی دلایلی را که سرویس NLB را محبوب کرده برای استفاده را شرح می دهیم .

IIS Server (Web Farm)

معمولا از سرویس NLB برای سایت ها و یرور های IIS استفاده می شود چون ترافیک بالاتری نسبت به دیگر سرویس ها دارند .

در زیر تنظیمات مربوط به یک Cluster را که دارای Host های مربوط به Web می باشد و سرویس IIS را بر روی خود دارند ملاحظه می کنید .

Port-rule Settings

Filtering Mode: Multiple Hosts.

Affinity: None, unless session state must be maintained; to maintain session state, either Single or Class C.

Load Weight/Equal load distribution: Equal. However, if one host has a greater capacity than the others, you can use this parameter to increase its share of the client requests.

بدلیل وجود چندین وب سرور باید در حالت Multiple Hosts باشد و گزینه None بهترین انتخاب برای توزيع ترافیک بین کلیه عضوها می باشد البته موارد دیگر نیز توضح داده شده .

Servicing Multiple Web Sites (Multihoming)

همانطور که در شکل 1 ملاحضه می کنید یک Cluster با 4 عضو وجود دارد که بر روی

هر عضو یک IIS نصب می باشد .در اینجا 3 وب سایت با آدرس های مختلف در دل Cluster پیکربندی شده.

برای وب شماره 1 هر چهار عضو جوابگو می باشند و برای وب سایت شماره 2 عضو های شماره 1و2 جوابگو می باشند.

و برای وب سایت شماره 3 عضوهای شماره 3و4 جوابگو می باشند .

تذکر این Cluster دارای سه Virtual IP Address می باشد .

Figure 1 M ultiple virtual IP addresses

درشکل 2 چگونگی تقسیم درصد کاری هر سرور یا Host را برای هر یک از Web Site ها مشخص شده .

Figure 2 M ultiple virtual IP addresses and Load Percentage

شما می توانید تفاوت درصد کاری را در قسمت Networking در Windows Task Manager بخوبی احساس کنید بر روی هر Host .

شما می توانید همانند شکل 3 در قسمت Cluster Properties در NLB Manager Console در Tab مربوطه یعنی Cluster IP Address آدرسهای مد نظر را اضافه کنید .

To host multiple Web sites with different IP addresses on a Network Load Balancing cluster

  1. Click the Start menu, point to Settings, and then open Network and Dial-up Connections.
  2. Click the Local Area Connection for which Network Load balancing is enabled, and then, in the Local Area Connection Status dialog box, click Properties.
  3. In the Local Area Connection Properties dialog box, click Internet Protocol (TCP/IP), and then click Properties.
  4. Click Advanced.

    The list under IP Addresses should already contain the host's dedicated IP address and the cluster's primary IP address. This cluster IP address corresponds to the cluster's primary IP address that you entered in the Network Load Balancing Properties dialog box under Cluster parameters.

  5. For each additional virtual IP address that your cluster needs in order to run a multihomed server, click Add, and then enter the cluster IP address, followed by the appropriate subnet mask.

Figure 3 Cluster IP addresses Tab (NLB Manager) "NLBmgr.exe"

Servicing a Web Site with Active Server Pages

Web sites that use Active Server Pages (ASP) can maintain session state across client connections. Network Load Balancing helps preserve client access to session information by ensuring that all TCP/IP connections from a single client are directed to the same cluster host. To do so, set Affinity to either Single or Class C.

There are, however, situations in which a client can connect with one cluster host, and then have subsequent connections load-balanced to different hosts. Such situations include the following:

  • A host is added to the cluster, and Network Load Balancing load-balances new connections from this client to the host.

    Note that existing connections are unaffected.

  • Multiple client-side proxy servers cause multiple connections from the same client to originate from different IP addresses.

If either of the preceding situations arises, ASP applications must provide a means to retrieve and manage session state even if a client connects to multiple cluster hosts as part of a single session. The following are two strategies for addressing this issue:

  • Use a means at the ASP level, such as a cookie, to retrieve the ASP client state across the Network Load Balancing cluster nodes.
  • Encapsulate in a client-side cookie the state from a specific client request. The cookie gives the server the context for subsequent client requests. This solution works only if there is a relatively small amount of state associated with each client transaction. As state grows larger, it becomes increasingly difficult to have the client forward a large cookie to the server with every request.

For more information about port-rule settings, see "IIS Server (Web Farm)," earlier in this chapter.
Servicing a Web Site That Uses Secure Sockets Layer

If you service a Web site that uses Secure Sockets Layer (SSL) to build secure connections with clients, whether in conjunction with unsecured connections or not, create the following port rules.

Port-rule Settings

Port Range: 443, or use the default (0-65535).

Filtering Mode: Multiple Hosts

Affinity: Single

If you are load-balancing for a particular Class C address space, such as a corporate proxy array, or firewall, set Affinity to Class C.

Load Weight/Equal load distribution: Use the default.
Creating a Virtual Private Network (VPN)

This scenario's discussion applies to setting up a virtual private network (VPN) by using the Point-to-Point Tunneling Protocol (PPTP).

When using Network Load Balancing with VPN servers to load-balance PPTP clients, it is important to configure the TCP/IP properties correctly to ensure compatibility with clients running earlier versions of Windows (such as Microsoft® Windows® 98 and Windows NT 4.0). To do this, assign only a single virtual IP address to the network adapter used by Network Load Balancing, and do not assign another IP address on any network adapter on this subnet. This restriction does not apply for Windows 2000 clients. Assigning only a single virtual IP address to the network adapter used by Network Load Balancing ensures that network traffic returning from the host to the client originates from the virtual IP address to which the client sent the request.

Set bindings so that Network Load Balancing is enabled for the cluster network adapter (the network adapter with the cluster's virtual address).

Note

If a particular host fails, client sessions handled by that host handle will also break. Clients are prompted to log on again; their new session is handled by one of the remaining hosts.

Port-rules Settings

To provide load-balancing for virtual private network clients, use the default port rule for all hosts, as follows:

Port Range: Set the range to 0-65535, (the default). Setting the range to the default covers all the ports, so the port rule remains valid even if there is a change in the port numbers you want to cover.

Filtering Mode: Accept the default

Affinity: Single (default)

Load Weight/Equal load distribution: Accept the default
Streaming Media

You can use Network Load Balancing to distribute client requests among several streaming media servers.

If you add a host to the cluster, the statistical-mapping algorithm in Network Load Balancing maps some clients to the new host. Because Network Load Balancing cannot detect the start and termination of streams that use the UDP protocol, active streams for clients that are mapped to the new host mid-stream are interrupted. (This behavior does not occur for streams that use the TCP protocol.) As much as possible, add hosts to the cluster only at times that minimize possible disruptions to clients.

Port-rules Settings

Port Range: 0–65535

Filtering Mode: Multiple Hosts

Affinity: Single

Load Weight/Equal load distribution: Equal
NLB Network Load Balancing (Farsi User Guide)

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > NLB Scenarios


Winteacher.com NLB Default Handling of Client Requests

NLB Network Load Balancing

2003-2005

Winteacher.com > Part2 > NLB > Default Handling of Client Requests

Default Handling of Client Requests

Network Load Balancing is designed so that network traffic is not affected for the virtual IP address(es) of applications that are not being load-balanced. All traffic not explicitly load-balanced with port rules is sent to the default host. For example, incoming Telnet requests for the Virtual IP addresses are handled by the default host.

Therefore, if you do not want to load-balance some traffic for the virtual IP address, you do not define a port rule for it; the default host then handles all the traffic for that address. However, the default port range (0-65535) covers all ports, so you need to make sure that the port range for any port rules you define does not include ports associated with applications whose client requests you do not want to load-balance.

Note

Undesired load-balancing is not an issue for dedicated IP addresses. Incoming network traffic for the dedicated IP address on each host is never affected by Network Load Balancing.

NLB Network Load Balancing

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > Default Handling of Client Requests


Winteacher.com Network Load Balancing Wlbs Display Command

2003-2005

Winteacher.com > Part2 > NLB > Wlbs Display Command

Wlbs Display Command

از این فرمان برای تست کردن سرویس و گرفتن گزارش از سرویس استفاده می شود . در آخر خروجی فرمان وضعیت جاری Host را نمایش می دهد .

D:\>wlbs display
WLBS Cluster Control Utility V2.3. (c) 1997-99 Microsoft Corporation
=== Configuration: ===
Current time              = Thu Jul 01 13:02:23 1999
ParametersVersion         = 4
VirtualNICName            = \Device\{31270FF0-11FD-11D3-8B19-02BFAC1FF0AB}
AliveMsgPeriod            = 1000
AliveMsgTolerance         = 5
NumActions                = 50
NumPackets                = 100
NumAliveMsgs              = 66
ClusterNetworkAddress     = 02-bf-00-00-00-00
ClusterName               = cluster.reskit.com
ClusterIPAddress          = 0.0.0.0
ClusterNetworkMask        = 255.255.248.0
DedicatedIPAddress        = 172.31.240.170
DedicatedNetworkMask      = 255.255.248.0
HostPriority              = 1
ClusterModeOnStart        = ENABLED
LicenseKey                =
DescriptorsPerAlloc       = 512
MaxDescriptorAllocs       = 512
ScaleSingleClient         = 0
NBTSupportEnable          = 1
MulticastSupportEnable    = 0
MulticastARPEnable        = 1
MaskSourceMAC             = 1
IPToMACEnable             = 1
ConnectionCleanupDelay    = 300000
RemoteControlEnabled      = 1
RemoteControlUDPPort      = 2504
RemoteControlCode         = 0x0
RemoteMaintenanceEnabled  = 0x0
CurrentVersion            = V2.3
InstallDate               = 0x36D75CDA
VerifyDate                = 0x1C9E7553
NumberOfRules             = 1
PortRules
Start   End     Prot    Mode            Pri     Load    Affinity
   1    65535   Both    Multiple                Equal   S
00000001 0000FFFF 6FFFF001 00000002 00000003 00000001 00010001 00000000
=== Event messages: ===
#3852 ID: 0x40070024 Type: 4 Category: 0 Time: Fri Jun 11 15:29:16 1999
WLBS : registry parameters successfully reloaded.
00000070 00420042 00490041 002D004E 00310057 004E002D 00350054 00000000
00370031 002E0032 00310033 0032002E 00300034 0031002E 00310037
=== IP configuration: ===
Windows NT IP Configuration
        Host Name . . . . . . . . . : NLB-HOST-1
        Primary Domain Name . . . . : testclus.reskit.com
        Node Type . . . . . . . . . : Hybrid
        IP Routing Enabled. . . . . : Yes
        WINS Proxy Enabled. . . . . : No
Ethernet adapter Local Area Connection:
        Adapter Domain Name . . . . :
        DNS servers . . . . . . . . :
        Description . . . . . . . . : 3Com EtherLink XL 10/100 PCI TX NIC (3C905
B-TX)
        Physical Address. . . . . . : 00-C0-4F-57-0E-34
        DHCP Enabled. . . . . . . . : No
        IP Address. . . . . . . . . : 0.0.0.0
        Subnet Mask . . . . . . . . : 0.0.0.0
        IP Address. . . . . . . . . : 172.31.240.170
        Subnet Mask . . . . . . . . : 255.255.248.0
        Default Gateway . . . . . . :
=== Current state: ===
Host 1 is stopped and does not know convergence state of the cluster.
NLB Network Load Balancing (Farsi User Guide)

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > Wlbs Display Command


Winteacher.com Network Load Balancing Resource Limits in the Registry

NLB Network Load Balancing

2003-2005

Winteacher.com > Part2 > NLB > Changing Network Load Balancing Resource Limits in the Registry

Changing Network Load Balancing Resource Limits in the Registry

You can tune Network Load Balancing performance by manually modifying the following entries in the registry in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters subkey.

  • AliveMsgPeriod

    Determines the period (in milliseconds) between Network Load Balancing heartbeat messages broadcast by each host.

    Default value: 1000 (one second)

    Possible range: 100–10000

  • AliveMsgTolerance

    Determines the number of AliveMsgPeriod periods to wait after the last message from a host before the host is declared offline and the cluster performs convergence.

    Default value: 5

    Possible range: 5–100

  • DescriptorsPerAlloc

    Determines the number of connection descriptors allocated at a time. Connection descriptors are used to track TCP connections.

    Default value: 512

    Possible range: 16–1024

  • MaxDescriptorAllocs

    Determines the maximum number of times that connection descriptors can be allocated (this value limits the maximum memory footprint of Network Load Balancing).

    Default value: 512

    Possible range: 1–1024

  • NumActions

    An internal Network Load Balancing entry. Increase the value of this entry only if you encounter an event log message that advises you to do so.

    Default value: 50

    Possible range: 5–500

  • NumPackets

    An internal Network Load Balancing entry. Increase the value of this entry only if you encounter an event log message that advises you to do so.

    Default value: 100

    Possible range: 5–500

  • NumAliveMsgs

    An internal Network Load Balancing entry. Increase the value of this entry only if you encounter an event log message that advises you to do so.

    Default value: 10

    Possible range: 5–500

  • MaskSourceMAC

    Enables masking of the Source media access control address.

    If the host is connected to a switch when Network Load Balancing is running in unicast mode, set the value of MaskSourceMAC to 1 (the default). If the Network Load Balancing host is running in unicast mode and is attached to a hub that is connected to a switch, set the value of this entry to 0. If Network Load Balancing is running in multicast mode, this setting has no effect.

    Default value: 1

    Possible range: 0–1

  • RemoteControlUDPPort

    Determines the UDP port that is used by Network Load Balancing to receive remote control messages. Note that for backwards compatibility, Network Load Balancing (and, on Windows NT 4.0, Windows Load Balancing Service) automatically listens to port 1717. If you decide to firewall port 2504 to block remote control messages, you also need to firewall port 1717.

    Default value: 2504

  • NetmonAliveMsgs

    Determines whether Network Monitor (NetMon) captures Network Load Balancing heartbeat messages on the local host.

    To allow NetMon to capture Network Load Balancing heartbeat messages on the local host, set the value of this entry to 1. To get the best performance, leave the value of this entry at its default value of 0.
NLB Network Load Balancing

LastUpdate:2005/04/05

Winteacher.com > Part2 > NLB > Changing Network Load Balancing Resource Limits in the Registry