Informations sur la consignation de la configuration

L'utilitaire du journal de configuration peut s'avérer utile lorsque vous essayez de déboguer l'environnement iSCSI. Ces informations peuvent s'avérer utiles pour résoudre les erreurs de configuration. Le scénario d'erreur le plus courant est le suivant : la commande cfgmgr -vl ics0 aboutit, mais ne crée pas de disques durs ou en crée moins que prévu. Plusieurs erreurs de configuration courantes peuvent être à l'origine de ce scénario. Le journal cfglog permet de déterminer laquelle s'est produite.

Vous pouvez exécuter la commande suivante pour afficher les données consignées dans le journal de configuration :

	alog -o -t cfg 

Pour afficher les informations sur la configuration du fichier journal, telles que l'emplacement du fichier journal, exécutez :

	alog -L -t cfg 

Si la consignation de la configuration n'est pas activée, elle peut être activée comme suit :

	export CFGLOG=""
	echo "Create cfglog" | alog -t cfg

La méthodologie de débogage suivante s'avère particulièrement utile :

	rmdev -Rl ics<x>
	rm /usr/adm/ras/cfglog 
	echo "Create cfglog" | alog -t cfg
cfgmgr -l ics<x>
	alog -o -t cfg

Certaines erreurs courantes entraînent l'échec de l'ouverture du pilote de périphérique du protocole iSCSI. Dans ce cas, le journal cfglog contient un message similaire au suivant, XX correspondant à un numéro d'erreur du fichier errno.h

 open of /dev/iscsi0 returned XX" où XX représente un numéro d'erreur du fichier errno.h.

La valeur renvoyée par l'ouverture peut indiquer le motif de l'erreur. Deux valeurs courantes pouvant provenir d'une erreur de configuration sont 69 (ENETDOWN) et 70 (ENETUNREACH).

Le code retour 69 indique que la liaison avec la carte iSCSI est arrêtée. Vérifiez si le câble est correctement branché.

Le code retour 70 indique que la liaison est active, mais que la carte n'a pas réussi à obtenir une adresse client de DHCP. Si la valeur de l'attribut host_addr de la carte ne correspond pas à une adresse IP valide, la carte tente d'acquérir une adresse IP d'un serveur DHCP. Si aucun serveur DHCP ne fournit d'adresse IP, l'ouverture échoue avec le code retour 70.

Une fois que l'ouverture a abouti, la méthode de configuration tente de démarrer l'unité. Si la fonction iotcl SCIOLSTART échoue, elle empêche la reconnaissance des disques durs. Un incident de SCIOLSTART est consigné dans le journal de configuration de la manière suivante :

 SCIOLSTART failed, errno = E, status_class = C, status_detail = D

Si les valeurs de C ou D pour la classe de l'état et les détails de l'état ne sont pas nulles, cela signifie que la connexion iSCSI a échoué. Les valeurs de la classe de l'état et des détails de l'état sont renvoyées dans la réponse de la connexion iSCSI. La signification de ces valeurs est expliquée dans le document iSCSI RFC 3270.

La fonction ioctl SCIOLSTART peut également échouer avant sa tentative de connexion iSCSI. Si les valeurs de la classe de l'état et des détails de l'état sont toutes deux nulles, mais que le numéro d'erreur (Errno) ne l'est pas, cela signifie que la fonction ioctl a échoué avant la connexion.

Deux valeurs de numéro d'erreur courantes renvoyées par la fonction ioctl SCIOLSTART sont 73 (ECONNRESET) et 81 (EHOSTUNREACH).

L'erreur numéro 73 indique que l'adresse IP de la cible a refusé la connexion TCP tentée par la carte iSCSI. Il se peut qu'un numéro de port TCP erroné ait été spécifié dans le fichier de configuration /etc/iscsi/targetshwx.

L'erreur numéro 81 indique que la carte iSCSI n'a pas obtenu de réponse de l'adresse IP de la cible. En d'autres termes, la carte iSCSI ne peut pas contacter l'adresse IP de la cible à l'aide d'une commande ping.

Si la carte iSCSI ne détecte pas de nouveaux disques durs et que le journal cfglog ne révèle aucune de ces erreurs, deux autres cas se présentent :
  • Si la syntaxe du fichier /etc/iscsi/targetshwx est incorrecte, la méthode de configuration ne tente pas d'ouvrir ou de démarrer l'unité et les erreurs précédentes n'apparaissent pas.
  • Si l'unité cible est accessible nais n'est affectée à aucun numéro d'unité logique, aucune erreur n'apparaît, mais un message indique que 0 numéros d'unité logique ont été détectés.

Envoyer un commentaire | Evaluer la page