NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Fun with iSCSI target and initiator
I've got the pkgsrc iSCSI target and initiator speaking well together; in
fact, it Just Worked.
I'm now jumping ahead and trying 3rd party targets and initiators.
Aside: iscsifs man page issues:
-------------------------------
-v flag does not perform as described in the man page.
I'm struggling to parse the -t flag description "Connect to
the number of the iSCSI target running as the argument".
virtdir(3) referred to in iscsifs(8) doesn't exist.
It appears to be mandatory to provide a username with the -u option even
though the man page says (tersely) "The mandatory parameter is the local
mount point.":
builder# iscsifs -h 192.168.1.101 /mnt
pid 21735:iscsifs.c:593: ***ERROR*** user must be specified with -ubuilder#
(all on one line - yes, there is a missing CR after the error message).
NetBSD target + 3rd party initiator:
------------------------------------
- The Windows XP initiator v1.08 works brilliantly.
- XenServer 5.5 finds the IQN, but fails to find any LUNs. The GUI error
message is unhelpful "failed to complete the operation". From the command
line:
[root@xenserver1 ~]# xe sr-create name-label=NetBSDiSCSI content-type=user
device-config-target=192.168.1.1 device-config-targetIQN=iqn.1994-04.org.netbsd.iscsi-target:target0 device-config-localIQN=iqn.2008-10.com.example:004d2823 type=lvmoiscsi
shared=false device-config-LUNid=0
There was an SR backend failure.
status: non-zero exit stdout:
stderr: Traceback (most recent call last):
File "/opt/xensource/sm/LVMoISCSISR", line 245, in ?
SRCommand.run(LVHDoISCSISR, DRIVER_INFO)
File "/opt/xensource/sm/SRCommand.py", line 148, in run
sr = driver(cmd, cmd.sr_uuid)
File "/opt/xensource/sm/SR.py", line 118, in __init__
self.load(sr_uuid)
File "/opt/xensource/sm/LVMoISCSISR", line 86, in load
self._LUNprint(sr_uuid)
File "/opt/xensource/sm/LVMoISCSISR", line 147, in _LUNprint
self.iscsi.print_LUNs()
File "/opt/xensource/sm/ISCSISR.py", line 541, in print_LUNs
obj._query(vdi_path, LUNid)
File "/opt/xensource/sm/LUNperVDI.py", line 34, in _query
self.uuid =
scsiutil.gen_uuid_from_string(scsiutil.getuniqueserial(path))
File "/opt/xensource/sm/scsiutil.py", line 73, in gen_uuid_from_string
raise util.CommandException(1)
iscsiadm looks healthy to my untrained eyes:
[root@xenserver1 ~]# iscsiadm -m session
iscsiadm: No active sessions.
[root@xenserver1 ~]# iscsiadm -m discovery -p 192.168.1.1 -l
192.168.1.1:3260,1 iqn.1994-04.org.netbsd.iscsi-target:target0
[root@xenserver1 ~]# iscsiadm -m session
iscsiadm: No active sessions.
[root@xenserver1 ~]# iscsiadm -m node -T
iqn.1994-04.org.netbsd.iscsi-target:target0 -p 192.168.1.1 -l
Login session [iface: default, target:
iqn.1994-04.org.netbsd.iscsi-target:target0, portal: 192.168.1.1,3260]
3rd party target + NetBSD initiator:
------------------------------------
Target is an IBM DS3300 SAN. This requires host access to be configured
which involves defining the initiator IQNs and then granting them access
to the storage with a given LUN. The initiator OS must be given; I tried a
few different ones including Linux and Windows 2003. After connecting for
the first time, the SAN spots the initiator IQN "iqn.1994-04.org.netbsd.iscsi-initiator:agc"
(how can the initiator IQN be altered? Why agc beside it being the
author's name?). I then granted access to the storage from this IQN.
builder# iscsifs -u nulltest -h 192.168.1.101 /mnt
pid 15494:initiator.c:702: ***ERROR*** Target is not allowing access
pid 15494:initiator.c:1160: ***ERROR*** enqueue_worker: discovery_phase()
failed (ignoring command)
The same process with XenServer + IBM SAN works fine (of course).
I'm going to attempt to try the initiator in -current.
--
Stephen
Home |
Main Index |
Thread Index |
Old Index