Ошибка iSCSI Initiator Event ID 43: сбой подключения таргета
Симптомы сбоев инициатора iSCSI (Event ID 43)
Сервер теряет связь с дисковым массивом по протоколу iSCSI, тома переходят в режим Read-Only или пропадают из системы. В журнале System фиксируются ошибки: Event ID 43: Target failed to respond in time to a Task Management request, Event ID 9: The device, \Device\Harddisk1\DR1, did not respond within the timeout period или Event ID 70: Target failed to respond in time to an iSCSI login request.
| Симптом | Где отображается | Причина |
|---|---|---|
| Event ID 43 MSiSCSI | Журнал System | Таргет СХД сбросил или не ответил на команду управления iSCSI (Task Management Request) |
| Target Inactive / Reconnecting | Панель iSCSI Initiator | Сетевой разрыв, исчерпание пула TCP-соединений или блокировка порта 3260 |
| Высокая задержка дискового отклика | Системный монитор | Сброс пакетов (Drop) на транзитных коммутаторах без PFC/Flow Control |
Пошаговое восстановление стабильности iSCSI сессий
- Проверьте текущее состояние активных сессий iSCSI:
Get-IscsiSession | Select-Object InitiatorNodeAddress, TargetNodeAddress, IsConnected, ConnectionIdentifier; iscsicli SessionList - Скорректируйте таймаут ожидания дискового ответа (Disk TimeOutValue) до 60 секунд:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\disk" -Name "TimeOutValue" -Value 60 -Type DWord -Force - Настройте таймауты повторных попыток драйвера MSiSCSI:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}\0000\Parameters" -Name "MaxRequestHoldTime" -Value 60 -Type DWord -Force; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}\0000\Parameters" -Name "LinkDownTime" -Value 30 -Type DWord -Force - Принудительно переподключите сбойный таргет:
Get-IscsiTarget | Where-Object {$_.IsConnected -eq $false} | Connect-IscsiTarget -IsPersistent $True -IsMultipathEnabled $True
Важно: Выделите трафик iSCSI в изолированный VLAN без маршрутизации, отключите энергосбережение на сетевых интерфейсах и включите аппаратный Flow Control (IEEE 802.3x) на сетевых картах и коммутаторах.
Частые вопросы (FAQ)
Какой сетевой порт использует iSCSI по умолчанию?
Протокол iSCSI использует TCP-порт 3260 для обнаружения и обмена сессионными данными.
Зачем включать Jumbo Frames (MTU 9000) для iSCSI сетей?
Jumbo Frames увеличивает полезную нагрузку каждого пакета с 1500 до 9000 байт, снижая нагрузку на CPU сервера и повышая пропускную способность.
Что означает параметр MaxRequestHoldTime?
Это максимальное время (в секундах), в течение которого инициатор MSiSCSI будет удерживать и ставить в очередь запросы ввода-вывода при разрыве связи до возврата ошибки приложению.
Как удалить устаревший неактивный таргет iSCSI?
Используйте команду Disconnect-IscsiTarget -NodeAddress 'iqn.target...' и Remove-IscsiTargetPortal.