Come già scritto nel post precedente, un problema tipico dei server di nuova generazione è che, a volte, le schede di rete non sono riconosciute dalla versione ufficiale di ESXi.
Tipicamente si va ad utilizzare la versione customizzata dal vendor (o a volte una personale), con però alcuni potenziali problemi: può capire che in fase di installazione di patch o in fase di upgrade a versione successiva i driver vengano sovrascritti o cancellati e ci si ritrovi con una server inusabile. Il server ESXi partirebbe anche ma poi, non trovando alcuna scheda di rete riconosciuta sarebbe ingestibile e anche cercare di caricare i driver giusti diventerebbe difficile. Ovviamente in queste condizioni né VUM o i vari tool di gestione remota possono essere di aiuto.
Una soluzione semplice e immediata è tentare di riavviare il sistema e partire con il banco di avvio alternativo (sperando non sia stato già aggiornato). Per maggiori informazioni sull’architettura a due banchi di ESXi, vedere questo post.
Un’altra soluzione potrebbe essere quella di partire con il CD customizzato ed applicare una procedura di upgrade che con buona probabilità dovrebbe andare a reinstallare i driver corretti.
Ma esiste anche una soluzione più immediata (usabile se ESXi completa il boot e non va in schermata purple) che è quella di reinstallare i driver corretti e caricarli sull’host tramite una semplice chiavetta USB. Sembra curioso, ma ESXi può montare una chiavetta USB, come spiegato nella KB 1036340 (Cannot mount a USB key or disk device media to an ESX/ESXi host). La KB è aggiornata solo ad ESXi 5.0, ma in realtà la stessa procedura funziona correttamente anche con ESXi 5.1. L’unico vincolo forte (pena l’impossibilità di montare la chiavetta) è che sia non più grande di 2 GB e soprattutto formatatta con FAT16 (su Windows basta scegliere l’opzione FAT durante la formattazione).
Per montare una chiavetta USB ed installare i driver, attivate la console di ESXi, entrate su ALT+F1, autenticatevi e seguite i seguenti passi:
- Mettere l’host in maintenance mode (servirà dopo per installare i driver):
vimsh -n -e /hostsvc/maintenance_mode_enter - Fermare il servizio usbarbitrator (introdotto da vSphere 4.1 per virtualizzare l’USB):
/etc/init.d/usbarbitrator stop - Scollegate e ricollegate la chiavetta USB.
Il contenuto del dispositivo comparirà automaticamente sotto /vmfs/volumes/NO NAME/ - A questo punto, installare il driver corretto:
esxcli software vib install -d /vmfs/volumes/NO NAME/offline-bundle.zip (note that you must use an absolute path) - Infine, riavviare il server