I recently fought with a StorageTek 2510 for a couple days trying to get it hooked up to a server running RHEL 4 (then 5). I won’t replicate the documentationprovided by Sun, or othertutorials but I will tell how I solved the incredibly stupid problem I was having.

I successfully set the array up and presented it to a Solaris 10 host, which was able to see and use it, so I knew the array worked. I moved it to a RHEL 4.8 i386 host (later RHEL 5.5 ×64) and was able to manage it out-of-band with the CAM software, but could not for the life of me get the target discovery to work. Everything was set up just like on the Solaris host, and I did make the required changes on the array for the new host, but I was always presented with:

The array’s firmware was at the latest, and so was iscsi-initiator-utils. I fiddled with the options in iscsi.conf thinking the spoken protocol just needed to be tweaked, to no avail. I tried telling the array that the data host was Solaris, Windows, even Irix, but that made no difference. I undid and redid my entire configuration. I retested with a Solaris data host – still worked there.

Finally, I added

InitiatorAlias server-shortname

to /etc/iscsi/initiatorname.iscsi (this on RHEL5.5 now) …. and it started working. Why? The FQDN of my server was more than 31 characters. By default the InitiatorAlias is the FQDN, and my FQDN was 32. The array literally became discoverable when I explicitly set the Alias to a 31-character string (less works too). My Solaris 10’s FQDN, by the way, was 25 characters.