Active/passive block storage array, Test Unit Ready (TUR) and ESXi 6.7

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) 

Active/passive block storage array, Test Unit Ready (TUR) and ESXi 6.7