Обновлено 01.02.2018
- Эта проблема была исправлена в обновленном выпуске микропрограммы и драйвера Mellanox CX4
В гиперконвергентном кластере, реализованном с использованием узлов Dell EMC Microsoft Storage Spaces Direct Ready Nodes с адаптерами Dell EMC PowerEdge R740xd и Mellanox CX4 LX для трафика хранилища, при перезагрузке узла кластера в средстве просмотра событий Windows могут возникать ошибки клиента SMB (идентификатор события 30803) (Журналы приложений и служб -> Microsoft -> Windows -> Клиент SMB -> Подключение).
Хотя это нормальное явление в отказоустойчивом кластере во время перезагрузки узла, иногда эти ошибки могут регулярно появляться на узлах кластера даже после того, как все узлы кластера полностью работоспособны. Это происходит из-за сбоя при создании прослушивателей SMB для каждого интерфейса хранилища на перезапущенном узле. Эти ошибки отображаются на работоспособных узлах кластера, а не на узле, который был перезапущен. В описании ошибки указан сервер, к которому пытается подключиться клиент SMB, а в описании указан только что перезапущенный узел.
В нормальном рабочем состоянии узлов кластера после перезагрузки узла при выполнении команды netstat –xan должен отображаться прослушиватель IPv4 и IPv6, связанный с каждым интерфейсом хранения данных на узле. Следующие выходные данные netstat.exe были собраны на узле с двумя адаптерами хранилища.
Активные подключения NetworkDirect, прослушиватели, общие конечные точки
Mode IfIndex Type: Локальный адрес, Внешний адресPID
Подключение ядра 4 10.128.100.101:445 10.128.100.100:61476 0
Подключение ядра 4 10.128.100.101:445 10.128.100.100:62244 0
Ядро 4 Соединение 10.128.100.101:445 10.128.100.100:61988 0
Подключение ядра 4 10.128.100.101:445 10.128.100.100:62756 0
Подключение ядра 4 10.128.100.101:12541 10.128.100.100:445 0
Подключение ядра 4 10.128.100.101:12797 10.128.100.100:445 0
Подключение ядра 4 10.128.100.101:14077 10.128.100.100:445 0
Подключение ядра 4 10.128.100.101:14333 10.128.100.100:445 0
Ядро 14, соединение 10.128.100.133:445 10.128.100.132:27454 0
Ядро 14 Соединение 10.128.100.133:445 10.128.100.132:27198 0
Ядро 14, подключение: 10.128.100.133:237510.128.100.132:445 0
Ядро 14, соединение 10.128.100.133:62535 10.128.100.132:445 0
Ядро 14 Соединение 10.128.100.133:62791 10.128.100.132:445 0
Ядро 14 Соединение 10.128.100.133:64071 10.128.100.132:445 0
Ядро 14 Соединение 10.128.100.133:64327 10.128.100.132:445 0
Прослушиватель ядра 4 [fe80::4cae:cb05:4932:f226%4]:445 NA 0
Ядро 4, прослушиватель 10.128.100.101:445 NA 0
Ядро 14, прослушиватель 10.128.100.133:445 NA 0
Ядро 14 Прослушиватель [fe80::5180:55b6:c0f0:ae8d%14]:445 NA 0
Листинг выходных данных 1 - Полнофункциональный стек SMB
Однако, когда в кластере начинают отображаться ошибки клиента SMB, на перезагрузившемся узле могут быть не все прослушиватели, связанные с каждым интерфейсом хранилища в системе.
Активные подключения NetworkDirect, прослушиватели, общие конечные точки
Mode IfIndex Type: Локальный адрес, Внешний адресPID
Подключение ядра 4 10.128.100.101:445 10.128.100.100:61476 0
Подключение ядра 4 10.128.100.101:445 10.128.100.100:62244 0
Ядро 4 Соединение 10.128.100.101:445 10.128.100.100:61988 0
Подключение ядра 4 10.128.100.101:445 10.128.100.100:62756 0
Подключение ядра 4 10.128.100.101:12541 10.128.100.100:445 0
Подключение ядра 4 10.128.100.101:12797 10.128.100.100:445 0
Подключение ядра 4 10.128.100.101:14077 10.128.100.100:445 0
Подключение ядра 4 10.128.100.101:14333 10.128.100.100:445 0
Ядро 14 Соединение 10.128.100.133:2375 10.128.100.132:445 0
Ядро 14, соединение 10.128.100.133:62535 10.128.100.132:445 0
Ядро 14 Соединение 10.128.100.133:62791 10.128.100.132:445 0
Ядро 14 Соединение 10.128.100.133:64071 10.128.100.132:445 0
Ядро 14 Соединение 10.128.100.133:64327 10.128.100.132:445 0
Прослушиватель ядра 4 [fe80::4cae:cb05:4932:f226%4]:445 NA 0
Ядро 4, прослушиватель 10.128.100.101:445 NA 0
Листинг выходных данных 2 - В стеке SMB отсутствует прослушиватель
Таким образом, в приведенном выше примере попытка SMB-клиента подключиться с индексом интерфейса 14 в конечном итоге приведет к появлению сообщений об отказе в подключении и ошибок клиента SMB (идентификатор события 30803), связанных с RDMA
Сетевая архитектура Dell EMC Microsoft Ready Node рекомендует использовать два адаптера хранилища на каждый узел кластера. В этом случае работа кластера не прерывается. Кроме того, адаптер, в котором отсутствует прослушиватель, по-прежнему можно использовать для отправки трафика RDMA. Однако из-за отсутствия прослушивателя на одном из адаптеров хранилища запись с помощью RDMA выполнять невозможно. Этот адаптер возвращается к использованию TCP для операций записи или получения трафика. Это может привести к снижению производительности записи в зависимости от рабочей нагрузки. Эта проблема не приводит к потере данных или ограничениям функциональности.
Она была определена как ошибка в драйвере Mellanox CX4 LX WinOF2 версии 1.70 и ниже.
Прослушиватель SMB можно воссоздать, перезапустив после перезагрузки виртуальный адаптер хранилища, с которым не связан прослушиватель SMB. Чтобы определить, какой виртуальный адаптер нужно перезапустить, выполните следующие действия.
Из выходных данных netstat -xan видно, что отсутствует прослушиватель для одного из адаптеров хранилища. Индекс интерфейса для отсутствующего адаптера можно найти с помощью командлета Get-NetAdapter.
PS C:\> Get-NetAdapter
Имя ИнтерфейсОписание ifIndex Status MacAddress LinkSpeed
______________ __ ___________________ ____ ______vEthernet (хранилище 2) Hyper-V Virtual Ethernet Adapter #3 14 UP, 00-15-5D-09-C4-0210 Гбит/с
vEthernet (хранилище 1) Hyper-V Virtual Ethernet Adapter #2 4 UP, 00-15-5D-09-C4-0110 Гбит/с
vEthernet (управление) Hyper-V Virtual Ethernet Adapter 10 UP, 00-15-5D-09-C4-0010 Гбит/с
Устройство Ethernet, совместимое с NDIS 9, отсутствует 50-9A-4C-A7-F9-DF 0 бит/с
NIC2 Intel(R) Ethernet 10 Гбит/с x710 rNDC 6 отключен 24-6E-96-52-CC-A410 Гбит/с
Сетевой адаптер NIC4 Intel(R) I350 Gigabit Network... 15 Отключен 24-6E-96-52-CC-C3 0 бит/с
Сетевой разъем сетевой платы NIC3 Intel(R) I350 Gigabit ... #2 8 Отключен 24-6E-96-52-CC-C2 0 бит/с
NIC1 Intel(R) Ethernet 10G 4P x710/I350 rNDC 13 отключен 24-6E-96-52-CC-A210 Гбит/с
СЛОТ 1 Порт 2 Дополнительный Ethernet-адаптер Mellanox ConnectX-4 Lx... #2 2 Вверх 24-8A-07-59-4C-6910 Гбит/с
РАЗЪЕМ 1 Порт 1 Ethernet-адаптер Mellanox ConnectX-4 Lx 11 UP, 24-8A-07-59-4C-6810 Гбит/с
Взглянув на вывод netstat –xan (показанный в листинге 2), вы увидите, что интерфейс с индексом 14 не имеет связанного с ним прослушивателя. Из командлета Get-NetAdapter видно, что индекс интерфейса 14 — это виртуальный адаптер vEthernet (хранилище 2).
Теперь можно перезапустить интерфейс с отсутствующим прослушивателем.
Restart-NetAdapter –Name 'vEthernet (Storage2)'
После завершения этого процесса можно проверить netstat –xan, чтобы убедиться, что прослушиватель создан. This process may take a few minutes. После создания прослушивателя узлы кластера начнут обмениваться данными в обычном режиме через RDMA, а новые ошибки клиента SMB перестанут появляться в средстве просмотра событий.