POWER7 information

Config logging information

It might be helpful to use the config log facility when trying to debug the iSCSI environment.

The most common error scenario is when cfgmgr -vl ics0 completes successfully, but does not create any hdisks, or creates fewer hdisks than expected. Several common configuration errors can lead to this scenario. The cfglog can be used to determine which of several common errors may have occurred.

You can run the following command to display any captured config log data:

	alog -o -t cfg 

To display information about the log file configuration, such as the location of the log file, run:

	alog -L -t cfg 

If config logging is not enabled, it can be enabled as follows:

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

A useful debug method is to perform the following steps:

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

Some common errors will cause the open of the iSCSI protocol device driver to fail. In this case, the cfglog will contain a message such as the following, where XX is an error number from errno.h

	open of /dev/iscsi0 returned XX" where XX is an error number from errno.h.

The value returned by the open can indicate the problem. Two common values that can be caused by a configuration error are 69 (ENETDOWN) and 70 (ENETUNREACH).

The return code 69 indicates that the link attached to the iSCSI adapter is physically down. Check to see if the cable is correctly plugged in.

The return code 70 indicates that the link is up, but that the adapter was unable to obtain a client address from DHCP. If the adapter's host_addr attribute is not set to a valid IP address, the adapter will attempt to acquire an IP address from a DHCP server. If no DHCP server provides an IP address, the open will fail with a return code 70.

After a successful open, the configuration method will attempt to start the device. If the SCIOLSTART ioctl fails, it will prevent the discovery of the hdisks. A failure of SCIOLSTART will be recorded in the config log as follows:

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

If the values of C or D for the Status Class and Status Detail are nonzero, it indicates that the iSCSI login failed. The Status Class and Status Detail are values returned in the iSCSI login response. The meaning of the Status Class and Status Detail values are documented in the iSCSI RFC 3270.

The SCIOLSTART ioctl may also fail before it attempts the iSCSI login. If the Status Class and Status Detail are both zero but Errno is nonzero, then the ioctl failed before the login occurred.

Two common errno values returned by the SCIOLSTART ioctl are 73 (ECONNRESET) and 81 (EHOSTUNREACH).

The errno 73 indicates that the target IP address refused the TCP connection that the iSCSI adapter attempted. One possible cause is that the wrong TCP port number is specified in the /etc/iscsi/targetshwx configuration file.

The errno 81 indicates that the iSCSI adapter did not get any response from the target's IP address. In other words, the iSCSI adapter cannot ping the target's IP address.

If the iSCSI adapter does not discover any new hdisks, and the cfglog does not reveal any of those errors, the following are other possibilities.

  • If the syntax of the /etc/iscsi/targetshwx file is incorrect, the configuration method will not attempt to open or start the device, so the preceding errors will not appear.
  • If the target device is accessible but no LUNs are assigned to the device, no error will appear, but there will be a message indicating 0 luns found.


Send feedback Rate this page

Last updated: Wed, January 17, 2018