Può essere utile utilizzare la funzione config log quando si cerca di eseguire il debug dell'ambiente iSCSI. Queste informazioni possono risultare utili nella risoluzione degli errori di configurazione. Lo scenario di errori più comune si verifica quando cfgmgr -vl ics0 è completato con esito positivo, ma non crea hdisks o ne crea meno di quanto previsto. Esistono diversi errori di configurazione comuni che conducono a questo tipo di scenario. E' possibile utilizzare cfglog per stabilire quali tra i vari errori comuni si sono verificati.
Per visualizzare tutti i dati config log raccolti, è possibile eseguire il seguente comando:
alog -o -t cfg
Per visualizzare le informazioni relative alla configurazione del file di log, come l'ubicazione del file di log, eseguire:
alog -L -t cfg
Se config log non è abilitato, può essere abilitato come segue:
export CFGLOG="" echo "Create cfglog" | alog -t cfg
Un metodo di debug utile è quello di procedere come segue:
rmdev -Rl ics<x> rm /usr/adm/ras/cfglog echo "Create cfglog" | alog -t cfg cfgmgr -l ics<x> alog -o -t cfg
Alcuni errori comuni provocheranno la mancata apertura del programma di controllo unità del protocollo iSCSI. In questo caso, cfglog conterrà un messaggio come il seguente, dove XX rappresenta un numero errore da errno.h
apertura di /dev/iscsi0 returned XX" dove XX è un numero errore da errno.h.
Il valore restituito dall'apertura indica cosa non ha funzionato. I due valori comuni che possono essere causati da un errore di configurazione sono 69 (ENETDOWN) e 70 (ENETUNREACH).
Il codice di ritorno 69 indica che il collegamento annesso all'adattatore iSCSI è fisicamente non attivo. Verificare che il cavo sia connesso correttamente.
Il codice di ritorno 70 indica che il collegamento è attivo, ma che l'adattatore non è stato in grado di ottenere un indirizzo client da DHCP. Se l'attributo host_addr dell'adattatore non è impostato su un indirizzo IP valido, l'adattatore cercherà di acquisire un indirizzo IP da un server DHCP. Se nessun server DHCP fornisce un indirizzo IP, l'apertura avrà esito negativo con un codice di ritorno 70.
Una volta riuscita l'apertura, il metodo di configurazione tenterà di avviare l'unità. Se SCIOLSTART ioctl non ha esito positivo, impedirà il rilevamento degli hdisk. Un malfunzionamento di SCIOLSTART verrà registrato nel config log come segue:
SCIOLSTART failed, errno = E, status_class = C, status_detail = D
Se i valori C o D per Classe stato e Dettaglio stato sono diversi da zero, indica che il collegamento iSCSI non è riuscito. Classe stato e Dettaglio stato sono valori restituiti nella risposta del collegamento iSCSI. Il significato dei valori di Classe stato e Dettaglio stato sono documentati in iSCSI RFC 3270.
SCIOLSTART ioctl potrebbe avere esito negativo anche prima di tentare il collegamento iSCSI. Se Classe stato e Dettaglio stato sono entrambi a zero, ma Errno è diverso da zero, significa che ioctl non è riuscito prima che si verificasse il collegamento.
I due valori errno comuni restituiti da SCIOLSTART ioctl sono 73 (ECONNRESET) e 81 (EHOSTUNREACH).
L'errno 73 indica che l'indirizzo IP di destinazione non ha accettato la connessione TCP tentata dall'adattatore iSCSI. Una possibile causa è che è stato specificato il numero di porta TCP sbagliato nel file di configurazione /etc/iscsi/targetshwx.
L'errno 81 indica che l'adattatore iSCSI non ha ricevuto risposta dall'indirizzo IP di destinazione. In altre parole, l'adattatore iSCSI non può eseguire il ping dell'indirizzo IP di destinazione.