Часто бывает необходимо заглянуть в логи сервера VMware ESX или ESXi и посмотреть, что там происходит. При обнаружении и решении проблем работы серверов виртуализации с хранилищами логи - это главный источник ваших знаний о том, что с ними случилось.
Если сервер ESX / ESXi работает с хранилищем iSCS или Fibre Channel в режиме multipathing с одним активным путем к хранилищу, то описанная ниже последовательность шагов, которые выполняет ESX, может вам помочь при наступлении события переключения на резервный путь (failover).
Описанная ниже информация может быть найдена:
в лог-файле /var/log/vmkernel для VMware ESX
в лог-файле /var/log/messages для VMware ESXi
Итак, что происходит в случае отказа пути ESX / ESXi к хранилищу и переключении на резерв (пример для Software iSCSI):
1. Соединение по активному пути помечается как "Offline":
vmkernel: 188:04:24:16.970 cpu8:4288)WARNING: iscsi_vmk: iscsivmk_StopConnection: vmhba33:CH:0 T:1 CN:0: iSCSI connection is being marked "OFFLINE"
4. Плагин Native Multi-pathing Plugin (NMP), входящий в состав стека работы с хранилищами ESX / ESXi, помечает статус хоста как 0x1 (нет соединения - NO_CONNECT).
vmkernel: 188:04:24:16.970 cpu1:4286)NMP: nmp_CompleteCommandForPath: Command 0x28 (0x41000716a200) to NMP device "naa.60060160d5c12200ccd66fd74a81de11" failed on physical path "vmhba33:C0:T1:L7" H:0x1 D:0x0 P:0x0 Possible sense data: 0x2 0x3a 0x1.
5. После того, как NPM получает этот статус, он посылает SCSI команду TEST_UNIT_READY (TUR) по отказавшему пути, чтобы убедиться в том, что он не работает.
vmkernel: 188:04:24:16.970 cpu1:4286)WARNING: NMP: nmp_DeviceRetryCommand: Device "naa.60060160d5c12200ccd66fd74a81de11": awaiting fast path state update for failover with I/O blocked. No prior reservation exists on the device.
6. Если эта команда не проходит, то инициируется переключение на резерв в соответствии с политикой Path Selection Policy (PSP). Эта политика уже зашита в сервере ESX, но можно использовать и стороннее ПО для выбора наиболее оптимального пути (например, EMC PowerPath). Идентификатор vmw указывает на то, что используются политики VMware.
vmkernel: 188:04:24:16.989 cpu1:4131)vmw_psp_mru: psp_mruSelectPathToActivateInt: Changing active path from vmhba33:C0:T1:L7 to vmhba33:C0:T0:L7 for device "naa.60060160d5c12200ccd66fd74a81de11".
7. NMP убеждается, что переключение на резерв прошло успешно, повторяя на него SCSI-команды.
8. Теперь ESX должен послать LUN RESET, если от предыдущего соединения/инициатора осталась SCSI Reservation, чтобы успешно продолжать дальнейший ввод-вывод.
vmkernel: 188:04:24:17.974 cpu12:4108)WARNING: NMP: nmp_CompleteRetryForPath: Retry command 0x28 (0x41000716a200) to NMP device "naa.60060160d5c12200ccd66fd74a81de11" failed on physical path "vmhba33:C0:T0:L7" H:0x0 D:0x2 P:0x0 Valid sense data: 0x6 0x29 0x0
Что есть:
Host Status = 0x0 = OK
Device Status = 0x2 = Check Condition
Plugin Status = 0x0 = OK
Sense Key = 0x6 = UNIT ATTENTION
Additional Sense Code/ASC Qualifier = 0x29/0x0 = POWER ON OR RESET OCCURRED
9. На этом этапе ESX пытается выполнить следующую SCSI-команду из очереди.
Sep 10 13:11:18 laesx01 vmkernel: 188:04:24:17.974 cpu12:4108)WARNING: NMP: nmp_CompleteRetryForPath: Retry world on with device "naa.60060160d5c12200ccd66fd74a81de11" - retry the next command in retry queue
Sep 10 13:11:18 laesx01 vmkernel: 188:04:24:17.974 cpu12:4108)ScsiDeviceIO: 747: Command 0x28 to device "naa.60060160d5c12200ccd66fd74a81de11" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x6 0x29 0x0.
Sep 10 13:11:18 laesx01 vmkernel: 188:04:24:17.974 cpu11:4247)WARNING: NMP: nmp_DeviceAttemptFailover: Retry world failover device "naa.60060160d5c12200ccd66fd74a81de11" - issuing command 0x41000706fa00
10. Лог о том, что SCSI-команды прошли успешно и осуществлено переключение на резерв, выглядит так: