PDA

View Full Version : solaris iscsi initiator



remko
10-07-2006, 07:22 PM
Hi,

We are having some problems with the solaris 10 initiator. Everything works quite well but as soon as we remove or create a target in the web interface, all our iscsi connections are dropped.

this is what happens:
I've mounted a volume on /mnt, next I either remove or add add a new target

the logs shows:

Oct 7 15:56:51 rbgz02 iscsi: WARNING: iscsi connection(55) login failed - can't accept MaxOutstandingR2T 0
Oct 7 15:56:51 rbgz02 iscsi: NOTICE: iscsi session(54) iqn.2006-09.com.iw:iscsi.target1 offline
Oct 7 15:56:57 rbgz02 scsi: WARNING: /iscsi/disk@0000iqn.2006-09.com.iw%3Aiscsi.target1FFFF,5 (sd5):
Oct 7 15:56:57 rbgz02 transport rejected fatal error
Oct 7 15:57:02 rbgz02 ufs: WARNING: Error writing master during ufs log roll
Oct 7 15:57:02 rbgz02 ufs: WARNING: ufs log for /mnt changed state to Error
Oct 7 15:57:02 rbgz02 ufs: WARNING: Please umount(1M) /mnt and run fsck(1M)
Oct 7 15:57:50 rbgz02 iscsi: NOTICE: iscsi session(54) iqn.2006-09.com.iw:iscsi.target1 online

the first and most interesting thing is the message: login failed - can't accept MaxOutstandingR2T 0

after I run format: the logs show: NOTICE: iscsi session(54) iqn.2006-09.com.iw:iscsi.target1 online
now I can unmount and remount the volume to get it back online

We have tried the following setups:

* static and dynamic discovery
* chap and no login setup
* combinations of InitialR2T Yes/No and UmmediateData Yes/No (http://sunsolve.sun.com/search/document.do?assetkey=1-1-6378143-1)

We are running the latest open-e server (same problem with the last 2 releases). Our initiators run on solaris 10 with the latest patch level and iscsi patch 119091-20

some more strange things:

root@rbgz02:~# iscsiadm list static-config
Static Configuration Target: iqn.2006-09.com.iw:iscsi.target1,192.168.0.220:3260


root@rbgz02:~# iscsiadm list target-param
Target: iqn.2006-09.com.iw:iscsi.target1
Alias: -
Target: iqn.2006-10:iscsi.target10
Alias: -

I have 1 static target but iscsiadm list target-param shows 2 targets?

gr,

remko

To-M
10-08-2006, 02:32 PM
Please send logs to support@open-e.com

remko
10-10-2006, 02:29 PM
I've some more info on the "MaxOutstandingR2T value. The rfc states it's a positive int, the open-e implementation returns 0.

The solaris drive only checks on positive numbers.

if (isp->sess_type == ISCSI_SESS_TYPE_DISCOVERY) {
/* EMPTY */
} else if (strcmp(value, "1")) {
cmn_err(CE_WARN, "iscsi connection(%u) "
"login failed - can't accept "
"MaxOutstandingR2T %s",
icp->conn_oid, value);
return (ISCSI_STATUS_NEGO_FAIL);
}
text = value_end;

To-M
10-10-2006, 03:46 PM
Can you disable the bond and try your tests again with out the bond.

remko
10-11-2006, 08:35 AM
turning off bonding didn't work....

The initiator code clearly shows my error code from the log:

logentry:

login failed - can't accept MaxOutstandingR2T 0

initiator code:

else if (strcmp(value, "1"))
{
cmn_err(CE_WARN, "iscsi connection(%u) login failed - can't accept MaxOutstandingR2T %s", icp->conn_oid, value);
return (ISCSI_STATUS_NEGO_FAIL);
}

This code also returns true if the 'value' == 0 as is the case. We can argue if this programming is corrent (strcmp return either: positive, negative or zero and the if statement is a boolean check) but the RFC (section 12.17) states:

MaxOutstandingR2T=<numerical-value-from-1-to-65535>

some more logoutput:

the target disconnects al my mounts and the will remain offline until I run something like format or devfsadm.

Oct 10 17:33:58 rbgz02 iscsi: [ID 274514 kern.warning] WARNING: iscsi connection(5) login failed - can't accept MaxOutstandingR2T 0
Oct 10 17:33:58 rbgz02 iscsi: [ID 328943 kern.notice] NOTICE: iscsi session(4) iqn.2006-10.com.iw:iscsi.target1 offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,12 (sd12) offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,11 (sd11) offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,8 (sd8) offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,7 (sd7) offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,9 (sd9) offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,3 (sd3) offline
Oct 10 17:33:58 rbgz02 genunix: [ID 408114 kern.info] /iscsi/disk@0000iqn.2006-10.com.iw%3Aiscsi.target1FFFF,5 (sd5) offline

To-M
10-11-2006, 02:35 PM
After adding removing targets the IET is restarted - this is how our iSCSI works. We have reviewd logs and nothing was noticable. Remko, for furture assistence could you please contact our UK office for technical assistence:

Europe, Asia, Africa and Australia.
Monday through Friday, 9:00 to 18:00 (German time), (excluding German national holidays)
Telephone: +49 (89) 800 777 - 16

dfisher
10-16-2006, 08:02 PM
FYI - Our company has been using Cisco's version of the iscsi initiator for Solaris without any issues. It is much easier to setup than Sun's version. It is based on Solaris 8 and we have not tried it on Solaris 10. In the iscsi.conf, the only line you really need is DiscoveryAddress=x.x.x.x . You can't get much simpler than that.

To-M
10-16-2006, 09:38 PM
Thanks for that info!! Let us know on the Solaris 10!