Hi,

As suggested, I'm trying iscsistart -b. The be2iscsi module is already
loaded at this point. The iscsi_tcp stuff is irrelevant, that's just
what i've used to get the system booted so I can capture more detailed
log output.

At the moment i'm in a debian initramfs, which is being booted by the
be3 card's int13h boot (using grub, etc). I've made the initramfs have
a few extra utilities in it for fiddling with things.

On boot, the be2iscsi module (i've tried 2.6.39, and 3.0.0-rc3 with
the same result) detects both be3 devices:

(initramfs) dmesg| grep scsi0
[   10.075882] scsi0 : ServerEngines 10Gbe open-iscsi Initiator Driver
(initramfs) dmesg| grep scsi1
[   16.267943] scsi1 : ServerEngines 10Gbe open-iscsi Initiator Driver

iscsistart -f also spits out the expected boot info:

(initramfs) iscsistart -f
iscsistart: transport class version 2.0-870. iscsid version 2.0-872
# BEGIN RECORD 2.0-872
iface.initiatorname = iqn.2011-05.com.travelfusion.testserver
iface.hwaddress = d4:85:64:56:90:c9
iface.bootproto = STATIC
node.name = iqn.2003-10.com.lefthandnetworks:thm-san:25:testserver
node.conn[0].address = 10.10.12.100
node.conn[0].port = 3260
# END RECORD

The expected bits & pieces do appear in /sys/firmware/iscsi_boot_*
however, i'm slightly concerned that the transport version is 2.0-870
and the iscsid version is 2.0-872. I can't figure out how to get the
kernel modules in the open-iscsi git source to compile against 2.6.39
or 3.0.0-rc3

Detection with sendtargets via the be2iscsi interfaces does seem to
work correctly, assuming I run the following commands:

(initramfs) iscsiadm -m iface -I be2iscsi.d4:85:64:56:90:c9 -o update
-n iface.initiatorname -v iqn.2011-05.com.travelfusion.testserver
(initramfs) iscsiadm -m discovery -t st -I be2iscsi.d4:85:64:56:90:c9
-p 10.10.12.100

Running iscsistart -b *does* detect the correct target and attempt to
login to it, but fails:

(initramfs) iscsistart -b
iscsistart: transport class version 2.0-870. iscsid version 2.0-872
iscsistart: version 2.0-872
iscsistart: Logging into
iqn.2003-10.com.lefthandnetworks:thm-san:25:thm-vmutil01-root
10.20.128.100:3260,1
[ 2468.736422] (beiscsi_process_cq():1953):CQ Error 13, reset CID 0x100...
[ 2468.800091]  connection3:0: detected conn error (1011)
[ 2589.374409]  session3: session recovery timed out after 120 secs

At this point the machine is effectively hung, in that it accepts
keyboard input, but because i'm in an initramfs i can't ctrl-c the
iscsistart process and get my prompt back. I'm having trouble getting
another machine on the network between the initiator and target that i
can run tcpdump on, as this is all in a HP blade environment.

Any ideas?

On 9 June 2011 19:12, Mike Christie <[email protected]> wrote:
> On 06/09/2011 02:38 AM, Seth Simons wrote:
>> Hi Mike,
>>
>> Thanks for the speedy reply!
>>
>> I've set the initiator name the same in the bios and in the OS. Do
>> they *have* to be different? I can see the logic in having each
>
> No. For things like boot they will actually be the same.
>
> I was just trying to say that if they are different make sure that in
> the target you have them in any initiator ACLs you might have set up.
>
>
>> transport have a different name, but it seems not to be the case with
>> the other qlogic iscsi HBAs i'm using.
>>
>> As for Log output, there's a whole load of iscsid output which repeats
>> several times until timeout. I've attached the last iteration below.
>>
>> The target is an HP/Lefthand P4300, which as far as I can tell is just
>> a linux box with a fancy frontend and lots of SAS disks attached. It
>> seems to just be a wrapper around  open-iscsi, but obviously I can't
>> tell for sure as it's locked down and fiddling with it would
>> invalidate the warranty. It is not forthcoming with any log output.
>>
>> I use this little snippet in the initramfs to get the initial
>> connection to the boot device defined in the HBA bios:
>
>>
>> ifconfig eth0 10.10.12.70 netmask 255.255.255.0
>> modprobe iscsi_tcp
>> iscsistart -i `cat /sys/firmware/iscsi_boot0/initiator/initiator-name`
>> -t `cat /sys/firmware/iscsi_boot0/target0/target-name` -g 1 -a `cat
>> /sys/firmware/iscsi_boot0/target0/ip-addr`
>
>
> Ah so you are doing iscsi boot?  Are you doing the initiator root from
> the initramfs with iscsi_tcp then when the system is booted starting
> be2iscsi and trying to use that?
>
> If do then for 2.6.39 you should just use be2iscsi in the initramfs. In
> there you need to do:
>
> // this module will read the boot info that was used by the bios and
> export it in sysfs
> modprobe iscsi_boot_sysfs
> // this will load be2iscsi
> modprobe be2iscsi
> // this will have iscsid/iscsistart read the iscsi_boot_sysfs info and
> have be2iscsi create sessions using that info
> iscsistart -b
>
> // you can run iscsistart -f to see the info in sysfs if you wanted or
> you can just cd to /sys/firmware/iscsi_boot_*
>
>
> When the system has switched to the real root and the init scripts run
> then you just need to start iscsid and log into any other sessions you
> wanted running.
>

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.

Reply via email to