1

Я системный администратор в библиотеке в Голландии. Наш персонал использует тонких клиентов, которые проводят сеанс удаленного рабочего стола на наших серверах сеансов. У нас есть два сервера сеансов (Windows 2008 R2), настроенные в кластере NLB. Оба сервера виртуализированы. Один в Hyper-V (RDS01), другой в VMWare ESX (RDS03).

Кластер NLB настроен для работы в одноадресном режиме. Оба сервера в кластере NLB имеют два сетевых адаптера. Один для кластера NLB, а другой - для одноранговой связи.

Проблема, с которой мы сталкиваемся, заключается в том, что сеанс удаленного рабочего стола с нашим кластером NLB часто дает сбой (та же ошибка, что и при попытке подключиться к несуществующему IP-адресу или имени хоста). После некоторых копаний я обнаружил, что когда я пытаюсь просмотреть кластер в диспетчере NLB на RDS03, он часто не может "обнаружить" RDS01. И наоборот, работает отлично (от RDS01 до RDS03).

На рисунке 1 ниже показан менеджер NLB на RDS01 (УСПЕХ). NLB Manager на RDS01

На рисунке 2 ниже показан диспетчер NLB на RDS03 (FAIL). NLB Manager на RDS03

Как вы можете видеть на первом рисунке, я отключил RDS03 в кластере NLB. Только RDS01 является активным сервером в кластере NLB. Это решает проблему подключения к кластеру NLB (поэтому я предполагаю, что проблема заключается в RDS03).

Я узнал, что NLB Manager использует ICMP для "обнаружения" других хостов в кластере. Поэтому я решил использовать анализатор пакетов (Microsoft Network Monitoring) для проверки пакетов, отправляемых диспетчером NLB. И я заметил в пакете, отправляемом RDS01, что он использует IP-адрес однорангового адаптера на RDS03. В дополнение к этому RDS03 иногда использует IP-адрес кластера NLB RDS01.

Ниже детали пакета, записанные на RDS01.

  Frame: Number = 2812, Captured Frame Length = 74, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-63-97-23],SourceAddress:[00-15-5D-63-96-2B]
+ Ipv4: Src = 10.81.129.159, Dest = 10.81.129.161, Next Protocol = ICMP, Packet ID = 8406, Total IP Length = 60
+ Icmp: Echo Request Message, From 10.81.129.159 To 10.81.129.161

Далее детали пакета записываются на RDS03. Когда Менеджеры NLB отсылают этот пакет, обнаружение терпит неудачу.

  Frame: Number = 211, Captured Frame Length = 74, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[02-BF-0A-51-81-A5],SourceAddress:[00-15-5D-63-97-23]
+ Ipv4: Src = 10.81.129.161, Dest = 10.81.129.167, Next Protocol = ICMP, Packet ID = 11326, Total IP Length = 60
+ Icmp: Echo Request Message, From 10.81.129.161 To 10.81.129.167

Как и в прошлом, детали пакета записаны на RDS03. Когда диспетчер NLB отправляет этот пакет, обнаружение успешно.

  Frame: Number = 2095, Captured Frame Length = 74, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-63-96-2B],SourceAddress:[00-15-5D-63-97-23]
+ Ipv4: Src = 10.81.129.161, Dest = 10.81.129.159, Next Protocol = ICMP, Packet ID = 21180, Total IP Length = 60
+ Icmp: Echo Request Message, From 10.81.129.161 To 10.81.129.159

Ниже приведена конфигурация IP для кластера NLB и его серверов.

10.81.129.165 ... IP кластера NLB
10.81.129.167 ... NLB IP для RDS01
10.81.129.169 ... NLB IP для RDS03

10.81.129.159 ... IP RDS01 (второй сетевой адаптер для одноранговой сети)
10.81.129.161 ... IP RDS03 (второй сетевой адаптер для одноранговой сети)

Почему RDS03 использует IP-адрес кластера NLB RDS01? И почему он также использует одноранговый IP-адрес RDS01? Что вызывает это противоречивое поведение?

1 ответ1

0

Чтобы ответить на мой собственный вопрос, проблема была в поиске DNS. После того, как я очистил кэш DNS на RDS03 (где произошло противоречивое поведение).

ipconfig /flushdns

Я обновил кластер в диспетчере RDS03 NLB и заметил, что он выполняет поиск DNS для RDS01. Теперь я точно знал, что NLB Manager использует имена хостов для общения. DNS-сервер ответил двумя следующими IP-адресами:

10.81.129.159 ... IP RDS01 (второй сетевой адаптер для одноранговой сети)
10.81.129.167 ... NLB IP для RDS01

Каждый раз, когда обнаружение RDS01 не удавалось, IP-адрес NLB RDS01 был первым IP-адресом ответа поиска DNS. И каждый раз, когда обнаруживается успех, IP RDS01 был первым.

После удаления IP-адреса NLB DNS-записи RDS01 с DNS-сервера проблема была решена. Теперь мне нужно было только убедиться, что IP-адреса NLB больше не будут регистрироваться на DNS-сервере. Это была настройка в протоколе TCP/IP сетевой карты NLB. Смотрите изображение ниже.

Не регистрировать IP на DNS-сервере

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .