Nella versione ESXi 6.7, tra tutti i cambiamenti, è presente un modifica al parametro action_OnRetryErrors.
La modifica del parametro action_OnRetryErrors ha effetto su come viene gestita la Test Unit Ready (TUR), processo di controllo se un PATH verso una LUN di uno storage array è attivo o no.
Fino alla versione 6.0/6.5 questo parametro era impostato a OFF, quindi nel caso di perdita di un PATH l’host ESXi continuava a eseguire un polling sul path fino al ripristino.
Nella nuova versione 6.7 questo paramentro è messo a ON e quindi al primo errore il path viene messe “DEAD” e non vengono successivamente eseguite verifiche sullo stato del PATH,
In caso di storage SAS con connessione a HOST ESXi con due path (Attivo/passivo) la situazione creata nella versione 6.7 può risultare critica, perchè:
- In caso di test di ridondanza dell’infrastruttura Storage, con test di riavvio dei controller. Ci troveremo nella situazione dove i path, utilizzati dal controller che abbiamo riavviato, non tornano attivi. (Necessario un Reboot dell’HOST)
- In caso di aggiornamento del firmware dello storage array, procedura dove vengono riavviati uno alla volta i controller, ci troveremo nella situazione dove tutti i path sono marcati come DEAD e quindi i nostri HOST perdono la visibilità delle LUN utilizzate dai datastore.
Per risolvere il problema si può procedere con le indicazioni di questa KB di VMware:
ESXi 6.7 hosts with active/passive or ALUA based storage devices may see premature APD events during storage controller fail-over scenarios (67006)