In this article, we will see the steps to the Network Load Balancing (NLB) feature in Windows Server 2019. We can use NLB to manage two or more servers as a single virtual cluster.
What is NLB (Network Load Balancing) in Windows Server 2019?
The Network Load Balancing (NLB) distributes traffic across several servers by using the TCP/IP networking protocol. By combining two or more computers that are running applications into a single virtual cluster, NLB provides reliability and performance for web servers and other mission-critical servers.
Windows Server 2019 NLB cluster can support up to 32 Servers in a single NLB cluster. The servers in an NLB cluster are called hosts, and each host runs a separate copy of the server applications.
NLB distributes incoming client requests across the hosts in the cluster. You can configure the load that is to be handled by each host.
Understanding Test lab:
For this, we will use the virtual test lab created in VirtualBox.
- WS2K19-DC01: Domain Controller and DNS
- WS2K19-SRV02: Member Server
- WS2K19-SRV03: Member Server
Install the Network Load Balancing feature on Server 2019:
Note: We need to perform the following steps on both member servers that are going to participate in the NLB cluster.
1. On Member Server, open Server Manager. Click on Tools and select Add Role and Features.
2. On the Before you begin page, click Next.
3. Select Role-based or feature-based installation and click Next.
4. Select a server from the server pool on which you want to install the Network Load Balancing feature, click Next.
5. On select server roles page, click Next.
6. On select features, select Network Local Balancing checkbox.
7. A new window will pop up, click on Add Features to include required features and management tools for Network Local Balancing work properly.
8. Make sure that NLB feature is selected. Click Next.
9. Click on the Install button to start the installation process.
10. Click on Close.
Reminder: We need to perform the same steps to install the NLB feature on the WS2K19-SRV03 member server.
After installing the NLB feature, the next step is to create the NLB cluster using windows server 2019. To perform these steps, we need to open the Network Load Balancing Manager on one of the NLB nodes.
Configure NLB Cluster in Windows Server 2019:
11. On the Server Manager console of the WS2K19-SRV02 member server, click Tools and select Network Load Balancing Manager.
12. Select and right-click Network Load Balancing Clusters and then click New Cluster.
13. Type the IP address or name of the second member server in the Host field and then click Connect. Verify that the Interface name is listed and then proceed to next.
14. On the New Cluster: Host Parameters page, adjust the priority value as per requirement. Also, ensure that the default status has set as Started. When you are ready, click on Next.
15. On the New Cluster: Cluster IP Addresses page, click Add to add a new Cluster IP address.
16. Specify a Cluster IP Address, and click OK.
Note: This IP address is a new NLB Cluster virtual IP address on which the host service will run.
17. If required, you can add more than one IP address by performing the same steps. Click Next.
18. Select an NLB cluster operation mode. You can also specify the FQDN name for the NLB cluster in the Full Internet name field. Click Next.
19. On the New Cluster: Port Rules page, select the existing port rule and click on edit.
20. Type port range. From 80 to 80 (As we only want port number 80 for IIS NLB cluster). Select Affinity mode to none. Click OK.
21. Click on the Add button to a new rule for port number 443 using the same steps.
22. Click on Finish.
23. Wait until the WS2K19-SRV03 node is added successfully. The Icon Color of the added NLB node should be displaying green.
Add second NLB node to an Existing NLB cluster:
24. Right-click on the existing NLB cluster and select Add Host To Cluster.
25. Type the WS2K19-SRV02 in the Host field and then click Connect. Verify that the Interface name is listed and then proceed to next.
26. On the New Cluster: Host Parameters page, adjust the priority value as per requirement. Also, ensure that the default status has set as Started. When you are ready, click on Next.
27. Click on Finish to complete the process of adding the second NLB node to an existing NLB cluster.
28. Verify that the second NLB node is added successfully. The icon color should be displaying green.
Test the NLB Configuration with Default Web Site:
Already I have installed IIS service on both member servers to test the NLB cluster. We will access the default website using the NLB cluster IP address.
29. Open a web browser. Type the NLB cluster IP address in the address bar.
Verify that you can access the Default Website. You are accessing the WS2K19-SRV03 server due to NLB priority 1.
30. Delete web browsing history and again access the NLB cluster IP address using Internet Explorer.
31. This time you are accessing the WS2K19-SRV02 server due to NLB load balancing.
Used this type of configuration when balancing traffic between two IIS servers. The port rules were handling only HTTP (port 80) and HTTPS (port 443) traffic.
That’s it for this guide on How to Install and Configure the Network Load Balancing (NLB) feature in Windows Server 2019. Thank you for reading.
Watch Video on How to Install and Configure NLB in Windows Server 2019:
Post Views: 6,254
Introduction
NLB is a scalable, high-availability feature that you can install on all editions of Windows Server 2016. NLB distributes network traffic across a set of servers, balancing the workload each server must handle. It is scalable because it enables you to add additional servers (also called nodes or hosts). A node (or host) in an NLB cluster in Windows Server 2016 is a computer, either physical or virtual, that is running the Windows Server 2016 operating system. Each node or host runs a copy of the server applications that are also running on the other hosts in the cluster.
Windows Server 2016 NLB clusters can have between 2 and 32 nodes. When you create an NLB cluster, it creates a virtual network address and virtual network adapter. The virtual network adapter has an IP address and a media access control (MAC) address. Network traffic to this address is distributed evenly across the nodes in the cluster. In a basic NLB configuration, each node in an NLB cluster services requests at a rate that is approximately equal to that of all other nodes in the cluster. When an NLB cluster receives a request, it forwards that request to the node that currently is the least used. You also can configure NLB to direct traffic to a specific host, called a default host.
New in Windows Server 2016 is it includes a new Azure-inspired Software Load Balancer (SLB) as a component of the Software Defined Networking (SDN) infrastructure. Use SLB instead of NLB if you are using SDN, are using non-Windows workloads, need outbound network address translation (NAT), or need Layer 3 (L3) or non-TCP based load balancing. You can continue to use NLB with Windows Server 2016 for non-SDN deployments.
How NLB works
When you configure an application to use NLB, clients address the application using the NLB cluster address rather than the address of nodes that participate in the NLB cluster. The NLB cluster address is a virtual address that is shared between the hosts in the NLB cluster.
For this NLB demo this time, I will be using 03 Server, which is 01 Domain Server and 02 Member Server.
1 – Now switch to the SUB-01 server and open Windows PowerShell ISE
2 – In the Windows PowerShell ISE type
Invoke-Command -Computername SUB-01,SUB-02 -command {Install-WindowsFeature NLB,RSAT-NLB}
3 – Once the process complete, open Server Manager, click Tools and verify that Network Load Balancing Manager is installed
4 – Now switch to SUB-02, open Server Manager, click Tools and verify also that Network Load Balancing Manager is installed
5 – On the SUB-01 server, in the Windows PowerShell ISE, type
New-NlbCluster -InterfaceName “Ethernet” -OperationMode Multicast -ClusterPrimaryIP 172.16.1.100 -ClusterName NewHelpTech-NLB
6 – Once the command complete, still in the Windows PowerShell ISE, type
Invoke-Command -Computername DC-SERVER -command {Add-DNSServerResourceRecordA – zonename adatum.com –name NewHelpTech-NLB –Ipv4Address 172.16.1.100}
7 – Now to add a second host to the cluster, still in Windows PowerShell ISE, type
Add-NlbClusterNode -InterfaceName “Ethernet” -NewNodeName “SUB-02” –NewNodeInterface “Ethernet”
8 – On the SUB-01 Server, open Server Manager, click the Tools and then click Network Load Balancing Manager
9 – In the Network Load Balancing Manager console, verify that nodes SUB-01 and SUB-02 display with the status of Converged for the New HelpTeh-NLB cluster
10 – Next, right-click the NewHelpTech-NLB cluster, and then click Cluster properties
11 – In the NewHelpTech-NLB(172.16.1.100), on the Cluster Parameters tab, verify that the cluster is set to use the Multicast operations mode
12 – On the Port Rules tab, verify that there is a single port rule named All that starts at port 0 and ends at port 65535 for both TCP and UDP protocols and that it uses Single affinity
Configuring and Managing the NLB Cluster
1 – Before we start to configure and manage the NLB Cluster, log on to the SUB-02 server, and create 01 folder named NewHelpTech in C:\
2 – then copy all C:\inetpub\wwwroot to C:\NewHelpTech folder
3 – Open PowerShell and type
New-Website –Name NewHelpTech –PhysicalPath “C:\NewHelpTech” –Port 5678
4 – Open PowerShell and type
New-NetFirewallRule –DisplayName NewHelpTech –Protocol TCP –LocalPort 5678
5 – Now switch to Domain Server and in the IE type http://SUB-02:5678
Verify that the static basic website
6 – Now switch back to the SUB-01 server and open Network Load Balancing Manager, in the Network Load Balancing Manager console, right-click NewHelpTech-NLB, and then click Cluster Properties
#_# In the NewHelpTech-NLB(172.16.1.100), on the Port Rules tab, select the All port rule, and then click Remove
7 – On the Port Rules tab, click Add
8 – In the Add/Edit Port Rule box, enter the following information, and then click OK
• Port range: 80 to 80
• Protocols: Both
• Filtering mode: Multiple Host
• Affinity: None
9 – On the Port Rules tab, click Add again
In the Add/Edit Port Rule box, enter the following information, and then click OK
• Port range: 5678 to 5678
• Protocols: Both
• Filtering mode: Single Host
10 – Click OK to close the NewHelpTech-NLB(172.16.1.100)
11 – In the Network Load Balancing Manager console, right-click SUB-01, and then click Host Properties
12 – On the Port Rules tab, click the port rule that has 5678 as the Start and End value, and then click Edit
13 – Click the Handling priority value, and change it to 10 and click OK twice to close
Validate port rules
1 – To validate port rules, switch to DC Server, in IE type http://NewHelpTech-NLB:5678, and then Refresh the site few times and verify that you see static basic website
Manage host availability in the NLB cluster
1 – Switch to the SUB-01 server, in the Network Load Balancing Manager console, right-click SUB-01 click Control Host, and then click Suspend
2 – Click the NewHelpTech-NLB node
#_# Verify that node SUB-01 displays as Suspended, and that node SUB-01 displays as Converged
3 – Right-click SUB-01, click Control Host, and then click Resume
4 – Right-click SUB-01, click Control Host and then click Start
5 – Click the NewHelpTech-NLB node
#_# Verify that both nodes SUB-01 and SUB-02 now display as Converged. You might have to refresh the view
Good luck! Just give it try – I’m sure you’ll love it as well. If you have any comments or questions on feel free to contact me.
That’s all for now. 🙂
In today’s fast-paced digital landscape, providing uninterrupted services is a top priority for organizations. High availability not only enhances productivity but also boosts a service provider’s reputation. In an era where on-demand services are the norm, organizations employ various technologies and solutions to ensure high availability and redundancy. One such solution, Network Load Balancing (NLB), stands out as a popular choice in Windows-based networks. In this guide, we’ll walk you through a comprehensive, step-by-step process to install and configure Network Load Balancing in Windows Server 2016.
Understanding Network Load Balancing (NLB)
Network Load Balancing, often abbreviated as NLB, is a high availability and redundancy feature extensively used in Windows-based networks. Its primary purpose is to distribute network traffic evenly across multiple servers, preventing overloading on a single server and ensuring uninterrupted service availability.
The Setup – NLB Nodes
Before we dive into the installation and configuration, let’s familiarize ourselves with the systems and their roles in this NLB setup:
System | Role | IP Address |
---|---|---|
DC1 | NLB Node 1 | 10.0.0.100 |
SERVER1 | NLB Node 2 | 10.0.0.101 |
CLIENT1 | Web Client | 10.0.0.102 |
Installation of Network Load Balancing Feature
Let’s begin with the installation of the Network Load Balancing feature on the NLB nodes that will participate in the NLB cluster. Follow these steps:
- Launch the Add Roles and Features Wizard using the Server Manager console;
- Proceed by clicking “Next” until you reach the “Select server roles” page. Here, select the “Web Server (IIS)” server role;
- On the “Select features” page, choose the “Network Load Balancing” feature and proceed;
- Accept the default selections on the remaining pages and complete the installation process.
Repeat these steps to install the Web Server (IIS) server role and Network Load Balancing feature on the second NLB node, SERVER1.
Configuring Network Load Balancing
Once the Network Load Balancing feature is installed on all participating NLB nodes, it’s time to configure NLB. Follow these steps:
- On the Server Manager console of the DC1 NLB node, click “Tools” and select “Network Load Balancing Manager.”;
- Right-click “Network Load Balancing Clusters” and click “New Cluster.”;
- In the “New Cluster: Connect” dialog box, type DC1.mcsalab.local in the Host field and click “Connect.” Ensure that the Interface name is listed;
- In the “New Cluster: Host Parameters” dialog box, set the priority value as 1. This NLB node will be the first to respond to client queries;
- In the “New Cluster: Cluster IP Addresses” dialog box, click “Add” to add a new Cluster IP address (e.g., 10.0.0.250);
- Click “Next” to proceed on the “New Cluster: Cluster Parameters” dialog box and select a cluster operation mode (e.g., Unicast);
- On the “New Cluster: Port Rules” dialog box, click “Finish” and wait for the DC1 NLB node to be added successfully;
- Select the added cluster, right-click, and then select “Add Host To Cluster.”;
- In the “Add Host to Cluster: Connect” dialog box, type SERVER1 and click “Connect” to add one more NLB node;
- In the “Add Host to Cluster: Host Parameters” dialog box, set the priority value as 2;
- Accept the default selections on the rest of the pages and complete the wizard;
- Verify that the second NLB node, DC1, is added successfully.
Configuring Default Website for Testing
To test the NLB cluster, utilize an NLB-aware application, such as the IIS service role with the Cluster IP address. In this case, we will use the Default Website on both NLB nodes (DC1 and SERVER1) mapped to the cluster IP address “10.0.0.250.” Here’s how:
- Open the Internet Information Services (IIS) Manager console on DC1;
- Expand the Sites node, select and right-click the Default Website;
- Choose “Add Virtual Directory.” In the Alias box, type a name, and in the Physical path box, type \DC1\C$\Intetpub\wwwroot, and click “OK.”;
- Enable Directory Browsing and select “Restart” for Default Website.
Repeat these steps to activate the Default Website on SERVER1.
Verifying Network Load Balancing Configuration
To ensure your NLB Cluster is correctly configured and functioning, follow these steps:
- Type 10.0.0.250 in Internet Explorer and confirm access to the Default Website;
- Stop the DC1 NLB node temporarily from the Network Load Balancing Manager;
- On CLIENT1, attempt to reopen the Default Website. It should still be accessible, with SERVER1 now serving the content;
- Stop the SERVER1 NLB node as well and try to access the Default Website on CLIENT1. It should no longer be accessible, confirming the NLB’s failover capability;
- If the Default Website remains accessible on CLIENT1, clear the browser cache or reboot CLIENT1 to resolve any cached web pages.
Video Explanation
To finally answer all your questions, we suggest you watch this video. Enjoy watching it!
Conclusion
In the realm of modern network infrastructure, ensuring high availability is paramount, and Network Load Balancing (NLB) stands as a formidable ally. Throughout this journey, we’ve delved into the intricate process of installing and configuring NLB in Windows Server 2016, transforming a set of individual servers into a harmonious cluster capable of distributing network traffic with finesse.
NLB’s role in load distribution is not merely functional; it’s a strategic asset. In a world where downtime is costly and user expectations are sky-high, the ability to seamlessly switch between servers can be a game-changer. With NLB, we’ve witnessed the creation of a resilient network environment, where no single server bears the brunt of traffic, and redundancy ensures that services continue to flow uninterrupted.
Our journey began with the setup, where we introduced the NLB nodes – DC1, SERVER1, and CLIENT1, each with its unique role in this orchestrated symphony. We meticulously covered the installation process, adding the Network Load Balancing feature, and configuring NLB, ensuring that priorities and settings aligned seamlessly.
The real-world application shone through as we configured the Default Website, creating a scenario where NLB’s load-balancing prowess could truly shine. Testing the configuration, we saw the magic in action. Even with one node temporarily stopped, services continued uninterrupted, illustrating NLB’s failover capabilities.
In a landscape where high availability is the gold standard, Network Load Balancing is the key that opens doors to a world of uninterrupted service delivery. This journey has been one of empowerment, where the tools to create a robust and resilient network infrastructure have been laid bare.
As you embark on your own NLB adventures, remember that the pursuit of high availability is not just a technical endeavor; it’s a commitment to reliability, a promise to users, and a testament to the power of modern network management. The path to network resilience begins with NLB, and the possibilities it unlocks are limited only by your creativity and ambition.
Компонент балансировки сетевой нагрузки (Network Load Balancing, NLB) в Windows Server 2012 распределяет сетевой трафик по нескольким серверам с помощью протокола TCP/IP. Группируя два и более сервера в единый виртуальный кластер, NLB повышает доступность и масштабируемость серверных приложений.
NLB умеет выполнять балансировку нагрузки любых приложений и служб, использующих сетевой протокол TCP/IP и связанных с определенным TCP- или UDP-портом. Использовать балансировку сетевой нагрузки целесообразно для обеспечения работы приложений, выполняемых без учета состояния, например для веб-, FTP- или служб удаленных рабочих столов (Remote Desktop).
Также NLB может пригодиться и в менее очевидных ситуациях. К примеру, с помощью этого механизма можно обеспечить повышенную избыточность веб-серверов front-end на базе SharePoint 2010, а при использовании Exchange 2010 выравнивание сетевой нагрузки можно применять в целях создания CAS-массивов для роли сервера клиентского доступа (Client Access Server).
Принцип работы
Кластер NLB представляет из себя группу серверов, называемых узлами кластера. На каждом узле выполняется собственная копия приложения. Механизм NLB занимается тем, что распределяет входящие запросы между узлами в соответствии с заданными правилами. При этом можно настроить нагрузку для каждого узла, а если нужно обработать дополнительную нагрузку, узлы можно добавлять к кластеру динамически. Кроме того, технология балансировки сетевой нагрузки может направлять весь трафик на один определенный узел, называемый узлом по умолчанию.
NLB дает возможность обращаться ко всем серверам в кластере по единому IP-адресу, а также поддерживает набор уникальных IP-адресов для каждого узла. При сбое на узле или его отключении нагрузка автоматически перераспределяется между работающими серверами. При внезапном отключении все активные подключения к такому серверу будут потеряны, однако если работа узла завершается намеренно, есть возможность обслужить все активные подключения до отключения компьютера. В любом случае отключенный компьютер, когда он будет готов к работе, может снова присоединиться к кластеру в рабочем режиме и взять на себя часть нагрузки, что позволит снизить объем данных, приходящийся на другие узлы кластера.
Все узлы NLB кластера обмениваются сообщениями пульса (heartbeat) для согласования данных о членстве в кластере. По умолчанию, если узел не отправляет сообщений пульса в течение пяти секунд, это считается сбоем. При сбое на узле остальные узлы кластера начинают процесс схождения (converging):
• выявляют узлы, оставшиеся активными членами кластера;
• назначают узел с наивысшим приоритетом узлом по умолчанию;
• обеспечивают обработку новых запросов клиентов работающими узлами.
В процессе схождения работающие узлы ищут регулярные сообщения пульса. Если узел, на котором произошел сбой, начинает передавать сообщения пульса регулярно, он снова присоединяется к кластеру в процессе схождения. Когда к кластеру пытается присоединиться новый узел, он передает свои сообщения пульса, которые тоже запускают схождение. После того как все узлы кластера придут к соглашению по членству в кластере на данный момент, нагрузка от клиентов перераспределяется между узлами, оставшимися в результате, и схождение завершается.
Схождение обычно длится несколько секунд, поэтому перерыв в работе клиентских служб оказывается незначительным. Во время схождения узлы, оставшиеся активными, продолжают обработку клиентских запросов без изменения в имеющихся подключениях. Схождение завершается, когда все узлы одинаково описывают членство в кластере и схему распределения на протяжении нескольких периодов пульса.
Установка
NLB устанавливается как стандартный компонент Windows и не требует для запуска и работы каких-либо изменений в оборудовании. Тем не менее при планировании NLB кластера необходимо учесть некоторый моменты:
• В кластер может входить до 32 узлов;
• Все узлы кластера должны располагаться в одной подсети;
• Количество сетевых адаптеров на каждом узле не ограничено, при этом различные узлы могут иметь разное число адаптеров;
• Все сетевые адаптеры в одном кластере необходимо использовать либо в одноадресном (Unicast), либо в многоадресном (Multicast) режиме. Балансировка сетевой нагрузки не поддерживает смешанную среду одноадресной и многоадресной рассылки внутри одного кластера;
• При использовании одноадресного режима сетевой адаптер, задействованный для нужд кластера, должен поддерживать программное изменение MAC-адреса;
• Сетевой адаптер, на котором включается NLB, может использовать только протокол TCP/IP. Нельзя добавлять для этого адаптера другие протоколы (например IPX);
• IP-адреса серверов в составе кластера должны назначаться статически. NLB не поддерживает протокол DHCP и отключает его на каждом настраиваемом интерфейсе;
• NLB не работает совместно со службой Failover Clustering. Если сервер является частью отказоустойчивого кластера, то задействовать на нем балансировку сетевой нагрузки не получится.
Если все условия соблюдены, то приступаем к развертыванию кластера. Первым делом необходимо установить сам компонент балансировки сетевой нагрузки. Для этого открываем Server Manager и запускаем мастер установки ролей и компонентов. Переходим на вкладку Features и отмечаем компонент Network Load Balancing.
Также NLB можно установить с помощью PowerShell, следующей командой:
Install-WindowsFeature -Name NLB -IncludeManagementTools
Создание нового NLB кластера
Установив компонент NLB приступим к созданию кластера, для чего воспользуемся оснасткой Network Load Balancing Manager. Открыть ее можно из Server Manager, кликнув по кнопке Tools и выбрав соответствующий пункт меню. Как вариант, можно нажать Win+R и ввести команду nlbmgr.
Для создания нового кластера в NLB Manager выбираем пункт Cluster -> New.
В открывшемся окне указываем имя (или IP-адрес) компьютера, которому предстоит стать первым узлом кластера и жмем «Connect». Выбираем сетевой интерфейс, который будет задействован для нужд кластера.
Примечание. Балансировка сетевой нагрузки может быть привязана к нескольким сетевым адаптерам, что позволяет настроить несколько независимых NLB-кластеров на каждом узле. Поддержка нескольких сетевых адаптеров — это не то же самое, что виртуальные кластеры, в которых можно настраивать несколько кластеров на одном сетевом адаптере.
Дальше идут настройки узла:
• Задаем уникальный идентификатор узла (unique host identifier). Это очень важный параметр, с помощью которого устанавливается приоритет при обработке трафика. Узел с наименьшим host ID среди членов кластера на данный момент обрабатывает весь сетевой трафик кластера, не предусмотренный правилами для порта;
• Указываем выделенный IP-адрес (Dedicated IP, DIP) — уникальный адрес узла, по которому он будет доступен в сети;
• Определяем дефолтное состояние (Default state) узла — запущен (Started), остановлен (Stopped) или приостановлен (Suspended) и указываем, должен ли узел сохранять это состояние при перезагрузке.
Задаем виртуальный IP-адрес кластера (Virtual IP, VIP) — адрес, который будет совместно использоваться всеми узлами в кластере. NLB добавит этот IP-адрес в стек протоколов TCP/IP на выбранном интерфейсе всех узлов, вводимых в состав кластера. При необходимости для одного сетевого интерфейса можно указать несколько IP-адресов.
Идем дальше.
Задаем имя кластера (Full Internet name) соответствующее указанному IP-адресу. В принципе это имя ни на что не влияет, но правильнее будет вписать сюда FQDN-имя, по которому клиенты будут обращаться к кластеру. Также не забудьте создать в DNS соответствующую запись.
Указываем режим работы кластера, который определяет, будет ли для операций кластера использоваться встроенный MAC-адрес адаптера:
Одноадресный (Unicast) — В этом режиме встроенный MAC-адрес физического сетевого адаптера отключается и заменяется МАС-адресом виртуального адаптера кластера. Оба IP-адреса сервера (выделеный IP-адрес сервера и IP-адрес кластера) разрешаются в один единственный МАС-адрес кластера.
При использовании одноадресного режима всем узлам кластера назначается один и тот же IP и MAC-адрес. Поскольку все узлы кластера разделяют один MAC-адрес, а оригинальный MAC-адрес адаптера не используется, использовать адаптер кластера для других целей кроме кластерных (например для управления сервером) становится проблематично. Эту проблему можно обойти, используя несколько сетевых адаптеров: один для кластерного трафика, второй для управления.
Многоадресный (Multicast) — В этом режиме NLB преобразует MAC-адрес кластерного адаптера в адрес группы. IP-адрес кластера разрешается в этот адрес групповой рассылки, а выделенный IP-адрес сервера — в оригинальный MAC-адрес адаптера.
При этом у адаптера остается оригинальный, встроенный MAC-адрес, что дает возможность использовать оба IP-адреса: кластера для трафика клиент-кластер, а выделенный для остального сетевого трафика, специфичного для компьютера. Обратите внимание, что режим Multicast обязательно должен поддерживаться сетевым оборудованием, кроме того может потребоваться дополнительная настройка на коммутаторе.
Многоадресный IGMP (IGMP Multicast) — Многоадресный режим с поддержкой протокола групповой передачи данных (Internet Group Management Protocol, IGMP). Включение поддержки IGMP дает возможность ограничить широковещательный трафик, т.е. обеспечить прохождение трафика к NLB-кластеру только через порты, обслуживающие узлы кластера, а не через все порты коммутатора. Для обеспечения этого режима необходимо включить поддержку IGMP на сетевом оборудовании.
Примечание. Все узлы кластера должны работать в одном режиме — либо в одноадресном, либо в многоадресном. NLB не поддерживает смешанную среду одноадресной и многоадресной рассылки внутри одного кластера.
Переходим к следующему экрану. Настройку правил портов (Port Rules) сейчас производить не будем, поэтому просто жмем «Finish». Первый этап создания NLB кластера завершен.
Добавление узла в кластер
Итак, мы имеем NLB кластер, состоящий из одного узла. Добавим остальные. Kликаем на имени кластера правой клавишей и выбираем пункт «Add Host To Cluster».
Процедура добавления практически аналогична предыдущей. Указываем имя сервера, жмем «Connect» и выбираем сетевой интерфейс, который будет использоваться кластером.
Задаем host ID и указываем выделенный IP-адрес узла, а также состояние узла по умолчанию.
И жмем «Finish». Таким же образом добавляем остальные сервера в кластер.
Создать кластер и добавить в него узлы можно и с помощью PowerShell. Команда для создания кластера:
New-NlbCluster -ClusterName nlb.contoso.com -InterfaseName ″Ethernet″
-ClusterPrimaryIP 192.168.0.10 -SubnetMask 255.255.255.0
-OperationMode Unicast -Force
Для добавления узла в кластер:
Get-NlbCluster | Add-NlbClusterNode SRV5.contoso.com -NewNodeInterface ″Ethernet″ -Force
В результате у нас получился NLB кластер, состоящий из трех узлов.
Настройка параметров кластера
После добавления всех узлов можно приступать к настройке кластера. Кликаем правой клавишей на имени кластера и переходим на пункт «ClusterProperties».
На вкладке Cluster IP Addresses можно изменить существующий адрес кластера или добавить новый. Балансировки сетевой нагрузки позволяет настроить для одного кластера несколько IP-адресов, для каждого адреса назначить собственное имя и настроить правила обработки трафика. Для этого не требуется выделять отдельный адаптер, так что можно настраивать несколько виртуальных NLB кластеров на одном сетевом адаптере.
На вкладке Cluster Parameters можно настроить соответствие имени и IP-адреса кластера и изменить режим его работы.
И на вкладке Port Rules настраиваются правила обработки трафика всеми узлами кластера. При создании кластера создается правило по умолчанию, которое надо изменить, поэтому выделяем его и жмем «Edit».
Правило порта включает в себя следующие настройки:
Cluster IP Addresses — IP-адрес кластера, для которого будет действовать это правило. По умолчанию отмечен чекбокс All, что означает воздействие данного правила на все адреса в кластере.
Port Range — диапазон портов, на которых будет обрабатываться трафик кластера. По умолчанию указаны все порты, что не очень правильно. Например, если у вас кластеризовано веб-приложение, использующее для клиентского доступа порт 80 TCP, то указываем этот порт как начало и конец диапазона. Если нужно указать несколько портов, то для каждого придется создать отдельное правило.
Protocols — протоколы, к которым будет применяться данное правило: TCP, UDP или оба.
Filtering Mode — режим фильтрации. Здесь мы указываем, как именно будет обрабатываться трафик кластера. Можно выбрать из двух режимов:
1) Multiple host — трафик по указанным портам будет распределяться среди всех узлов кластера. В этом случае нужно выбрать режим сходства (affinity), который определяет привязку клиента к определенному узлу кластера:
- None — привязка не используется. Все новые соединения распределяются по разным узлам в зависимости от нагрузки;
- Single — привязка осуществляется по IP-адресу клиента. После того, как клиент осуществил подключение к определенному узлу кластера, в течение установленного сеанса все новые соединения с его IP будут направлены на тот же узел кластера;
- Network — привязка основана на принадлежности клиента к определенной частной подсети. Когда один клиент устанавливает соединение к некоторому узлу, все соединения из этой подсети будут направлены на тот же узел.
Также обратите внимание на чекбокс Timeout minutes. Установка галки включает режим расширенного сходства (Extended Affinity), который обеспечивает привязку в отсутствие активных текущих подключений от клиента к узлу, а также позволяет клиентам сохранять соответствие с узлом при изменении конфигурации кластера. Здесь мы можем указать время, в течение которого клиент будет привязан к определенному узлу при отсутствии активного текущего подключения с его стороны.
2) Single host — весь трафик по указанным портам будет обрабатываться одним узлом кластера, а если этот узел недоступен — то направлен на следующий узел, вычисляемый по номеру Handling Priority (приоритет обработки). Приоритет присваивается узлу при добавлении сервера в кластер и может быть изменен в свойствах узла.
Disable this Port Range — отметив этот пункт, мы запретим обработку трафика на указанных портах. Как я уже говорил, весь сетевой трафик, не подпадающий под действие правил портов, обрабатывается действующим узлом кластера с минимальным идентификатором хоста. Чтобы избежать ненужной нагрузки, весь нецелевой трафик можно запретить. Так в случае с 80 портом достаточно создать 2 правила и запретить весь трафик на портах 0-79 и 81-65535.
При создании правил порта нужно учесть, что:
• Правила на всех узлах кластера должны быть идентичны. При попытке присоединить к кластеру узел с иными правилами или с другим числом правил он не будет принят в кластер;
• Чтобы балансировка сетевой нагрузки корректно обрабатывала IP-фрагменты, не следует использовать значение None для сходства, если выбран протокол UDP или Both;
• Если NLB используется для балансировки нагрузки трафика VPN (напр. PPTP/GRE или IPSEC/L2TP), то для правил порта используйте режим сходства Single или Network.
Настройка параметров отдельного узла
Кроме настройки всего кластера есть возможность настраивать параметры отдельных его узлов. Для этого выбираем узел, кликаем на нем правой клавишей и выбираем «Host Properties».
В окне Host Parameters мы сможем:
• Изменить идентификатор узла, изменив тем самым его приоритет при обработке нецелевого трафика;
• Поиздеваться над его выделенным IP — изменить, удалить или добавить новый. Кстати, выделенный IP-адрес для работы NLB вовсе не обязателен, и при желании его можно вообще не использовать;
• Изменить дефолтное состояние узла. Так по умолчанию после перезагрузки узел сразу стартует и начинает обрабатывать клиентские подключения. Изменив дефолтное состояние узла на Stopped и указав хранить это состояние, тем самым мы предотвратим автоматический старт и начало обработку клиентских подключений сервером после перезагрузки. Это может понадобиться для проверки корректности работы сервера, например после установки обновлений.
Также заглянем в правила портов. Здесь нас интересуют два пункта:
Load Weight — процент нагрузки. В режиме фильтрации Multiple Hosts параметр Load Weight используется для того, чтобы задать процент трафика, который должен обрабатываться этим узлом по соответствующему правилу. По умолчанию используется вариант Equal, при котором происходит равномерное распределение нагрузки между всеми узлами кластера. Чтобы задать для узла определенный процент, нужно убрать галку и указать значение от 1 до 100. Значение 0 вообще исключает данный узел из обработки трафика.
Обратите внимание, что сумма значений Load Weight для каждого узла параметра не обязательно должна составлять 100 процентов. Реальная часть трафика для каждого узла рассчитывается динамически как частное от деления процента, заданного для узла, на суммарный процент для всего кластера.
Handling Priority — приоритет обработки трафика в режиме фильтрации Single host. Этот параметр указывает приоритет узла для трафика по данному правилу. Узел с наиболее высоким приоритетом будет обрабатывать весь трафик для этого правила, а при его недоступности трафик будет перенаправлен на следующий по приоритетности узел. Чем меньше значение Handling Priority, тем выше приоритет, значение 1 соответствует наиболее высокому приоритету.
Управление кластером
И немного об управлении кластером NLB. Управление можно осуществлять как на уровне отдельного узла, так и на уровне всего кластера. Для управления узлом кликаем на нем и выбираем «Control Host». Дальше на выбор, можно:
• Start — запустить обработку трафика на данном узле;
• Stop — остановить обработку трафика на данном узле. При этом все текущие соединения будут закрыты;
• Drainstop — остановить обработку трафика на узле, предварительно обработав все текущие подключения. В этом варианте остановки узел обрабатывает текущие клиентские подключения, но не принимает новых;
• Suspend — приостановить обработку трафика на данном узле;
• Resume — соответственно возобновить приостановленную работу.
Для того, чтобы совсем удалить узел из кластера, надо выбрать пункт «Delete Host».
Выбрав пункт «Control Ports» можно управлять действием правил: включить (Enable), отключить (Disable) или приостановить обработку новых подключений (Drain). Это может потребоваться для того, чтобы временно исключить узел из обработки трафика кластера, например в целях диагностики.
Все то же на уровне кластера — кликаем на имени кластера и выбираем «Control Hosts». Здесь изменения применяются уже ко всем узлам.
В заключение несколько советов, которые могут пригодиться при настройке NLB кластера.
1) Не смотря на название, NLB не отслеживает реальную загрузку (потребление процессорного времени, памяти, дисковой подсистемы и т.д.) на каждом узле. Под нагрузкой в NLB подразумевается только количество активных подключений к узлу. Учитывайте этот момент при настройке распределения нагрузки.
2) NLB не обеспечивает отказоустойчивость клиентских приложений. Механизм NLB отслеживает только наличие сигналов heartbeat между узлами, мониторинг отдельных служб он не осуществляет. Проще говоря, если на одном узле кластера отвалится клиентский сервис, а сетевой интерфейс останется доступен, то NLB этого не заметит и продолжит отправлять клиентов на неработоспособный узел.
3) Как в режиме Unicast, так и в Multicast (за исключением IGMP) трафик кластера распространяется по всем портам коммутатора. Чтобы изолировать этот широковещательный трафик, все IP адреса кластера желательно вынести в отдельную подсеть.
4) Вопреки расхожему мнению режим Unicast можно использовать даже при наличии одного сетевого адаптера на узле. При этом узлы вполне нормально могут общаться между собой, так как NLB преобразует ARP-таблицу внутри каждого узла, назначая каждому узлу уникальный MAC-адрес. А вот снаружи подключиться к узлу кластера не получится, для управления узлом к нему необходим физический доступ либо механизм удаленного управления типа iLo от HP.
Установка и настройка сервера балансировки сетевой нагрузки для лог-сервера. Автор Vladislav Fomichev, Last modified by Vladislav Fomichev на 27 марта 2020 11:45 AM |
Предварительные условия. В данном руководстве подразумевается что у вас уже есть развернутая система Indeed-Id 7.0 с несколькими лог-серверами. Установка и настройка сервера балансировки сетевой нагрузки для лог-сервера. Балансировщик сетевой нагрузки (Network Load Balancing, NLB) устанавливается как стандартный компонент Windows и не требует для запуска и работы каких-либо изменений в оборудовании. Установка компонента. Компонент “Балансировка сетевой нагрузки” должен быть установлен на всех серверах где установлен indeed-id Log Server.
Настройка компонента. Создание нового NLB кластера. Кластер NLB — группа серверов ( узлов ), на каждом узле устанавливается своя копия приложения.
7. В окне “Правила для портов” выполните:
Добавление узла в кластер.
Редактирование конфигурационного файла для сервера.
В данном примере будет: Редактирование конфигурационного файла для Emc.
В данном примере будет: |
(9 голос(а)) Эта статья полезна Эта статья бесполезна |