Re: iSCSI boot mussings

2007-03-17 Thread Danny Braniss
 On 16.03.2007, at 16:59, John Nielsen wrote:
  A truly standalone iSCSI client will most likely want to use a TOE  
  card, which
  to the OS looks like any other SCSI adapter. (I'm unsure which if  
  any such
  cards are currently supported in FreeBSD, but that's a tangential  
  question.)
 
 Maybe someone feels like playing with these: http://www.myri.com/ 
 Myri-10G/10gbe_solutions.html
 
 
 Achim

as far as I can tell, this is a 10G card, without any iSCSI support.

danny


___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: iSCSI boot mussings

2007-03-17 Thread Tom Samplonius

...
 A truly standalone iSCSI client will most likely want to use a TOE
 card, which 
 to the OS looks like any other SCSI adapter. (I'm unsure which if any
 such 
 cards are currently supported in FreeBSD, but that's a tangential
 question.)

  I really doubt this.  TOE iSCSI cards are quite rare.  Qlogic has one, and it 
could work under FreeBSD, as it looks similar the other Qlogic HBA cards.  But 
they are still pretty rare.

  And TOE doesn't necessarily imply iSCSI.  Various cards existing ethernet 
cards have various levels of offload support now.  I think the general case is 
going to succeed:  ethernet cards with acceleration, not iSCSI HBAs.


 Machines with iSCSI-capable BIOS'es are an inbetween case. Allowing
 such 
 machines to be standalone clients would require things like the
 initiator 
 name, the initiator's IP address and netmask, the target's IP address,
 and 
 the target's (volume) name to be hard-coded in the kernel. It would be
 nice 
 to support this scenario, but IMO it's the one with the lowest
 benefit/cost 
 ratio.

  Maybe, maybe not.  Probably more people have iSCSI BIOSes in their servers 
now, than iSCSI dedicated HBAs.  IBM introduced iSCSI boot code into many of 
their server BIOSes last year.

  I don't think it is that hard either.  I don't think you will have to hard 
code into the kernel, but at least make sure the targets match what the BIOS 
has.  It could just be a boot option, as the boot loader just uses BIOS calls, 
which would hit read from iSCSI.

  If you don't have an iSCSI BIOS in your server (which probably every Dell, 
IBM, and HP server will have standard in every server this year), and you don't 
have one of the very rare iSCSI dedicated HBAs, then PXE booting an iSCSI 
enabled kernel is probably the way to go.

 Making it easy to integrate iSCSI into existing environments (diskless
 or not) 
 is IMO the biggest hole in the current implementation (the missing rc
 and 
 fstab bits I mentioned before).
 
 JN


Tom
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]



iSCSI boot mussings

2007-03-16 Thread Danny Braniss
Hi,
Now that I have my hands on a server that can boot iSCSI,
I started to look into it. After figuring out what magic is needed
in the dhcpd.conf (just add option root-path iscsi:target-iptarget-name)
I can boot FreeBSD to the point that it can't find a root device, and
assuming that some more magic can be applied (ala NFS), I'm just
wondering aloud, if it's realy worth the efford.
For a PXE based diskless solution, you need
1 - a working dhcpd
2 - a working tftpd
3 - a working NFS server with the exported root fs.
appplying some minor magic, you can have only one read-only 
fs.
For an iSCSI based diskless solution, you need
1- a working dhcpd
2- a working iscsi-initiator, unless the BIOS can be used.
3- a working target with a root fs
   (one for each client, unless applying 3 from the above).
Hybrid solution:
boot via PXE, but mount root via iSCSI

So, what say you all?

danny


___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: iSCSI boot mussings

2007-03-16 Thread John Nielsen
On Friday 16 March 2007 07:34, Danny Braniss wrote:
 Hi,
   Now that I have my hands on a server that can boot iSCSI,
 I started to look into it. After figuring out what magic is needed
 in the dhcpd.conf (just add option root-path
 iscsi:target-iptarget-name) I can boot FreeBSD to the point that it
 can't find a root device, and assuming that some more magic can be applied
 (ala NFS), I'm just
 wondering aloud, if it's realy worth the efford.
   For a PXE based diskless solution, you need
   1 - a working dhcpd
   2 - a working tftpd
   3 - a working NFS server with the exported root fs.
   appplying some minor magic, you can have only one read-only 
 fs.
   For an iSCSI based diskless solution, you need
   1- a working dhcpd
   2- a working iscsi-initiator, unless the BIOS can be used.
   3- a working target with a root fs
  (one for each client, unless applying 3 from the above).
   Hybrid solution:
   boot via PXE, but mount root via iSCSI

 So, what say you all?

From the kernel's perspective (at the moment just prior to mounting root), is 
there a difference between the last two approaches? The situation as I see it 
(in both cases) is that the kernel is loaded into memory (by some magical 
means which is at this point irrelevant), and now has to locate a root device 
using only what it already has to bootstrap the process. If what it already 
has includes BOOTP code then it's possible to get some additional information 
externally. Whether the initial magic was PXE or BIOS-based iSCSI, the kernel 
has to have its own storage drivers and do its own network setup, right?

I think there are some benefits to being able to do this, but perhaps 90% of 
them could be realized with what we already have (iscontrol and the 
iscsi_initiator kernel module) plus some rc and fstab glue. Any kind of 
diskless server farm needs at least one master server to run dhcpd, and if 
you have it doing that you might as well have it do NFS and tftpd as well. 
Pretty much any client you'd want to use as an iSCSI initiator will have a 
decent NIC which nowadays implies PXE support. So it shouldn't be hard to get 
root mounted using currently available means (local disk or PXE+NFS), and 
from there have the option of using iSCSI for other partitions 
(including /usr).

A truly standalone iSCSI client will most likely want to use a TOE card, which 
to the OS looks like any other SCSI adapter. (I'm unsure which if any such 
cards are currently supported in FreeBSD, but that's a tangential question.)

Machines with iSCSI-capable BIOS'es are an inbetween case. Allowing such 
machines to be standalone clients would require things like the initiator 
name, the initiator's IP address and netmask, the target's IP address, and 
the target's (volume) name to be hard-coded in the kernel. It would be nice 
to support this scenario, but IMO it's the one with the lowest benefit/cost 
ratio.

Making it easy to integrate iSCSI into existing environments (diskless or not) 
is IMO the biggest hole in the current implementation (the missing rc and 
fstab bits I mentioned before).

JN
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: iSCSI boot mussings

2007-03-16 Thread Danny Braniss
 Hi,
  Now that I have my hands on a server that can boot iSCSI,
 I started to look into it. After figuring out what magic is needed
 in the dhcpd.conf (just add option root-path
 iscsi:target-iptarget-name) I can boot FreeBSD to the point that it
 can't find a root device, and assuming that some more magic can be applied
 (ala NFS), I'm just
 wondering aloud, if it's realy worth the efford.
  For a PXE based diskless solution, you need
  1 - a working dhcpd
  2 - a working tftpd
  3 - a working NFS server with the exported root fs.
  appplying some minor magic, you can have only one 
read-only fs.
  For an iSCSI based diskless solution, you need
  1- a working dhcpd
  2- a working iscsi-initiator, unless the BIOS can be used.
  3- a working target with a root fs
 (one for each client, unless applying 3 from the above).
  Hybrid solution:
  boot via PXE, but mount root via iSCSI

 So, what say you all?

From the kernel's perspective (at the moment just prior to mounting root), is 
there a difference between the last two approaches?

with PXE, all the information, including the nfs-file-handle used to access
the root partition is passed to the kernel (pxeboot), and
nfsdiskless.c does the rest. With iSCSI zero, will need to be done.

The situation as I see it 
(in both cases) is that the kernel is loaded into memory (by some magical 
means which is at this point irrelevant), and now has to locate a root device 
using only what it already has to bootstrap the process. If what it already 
has includes BOOTP code then it's possible to get some additional information 
externally.

with PXE this is done via pxeboot (and my modified libstand/bootp.c which
copies the dhcp obtained tags to the kernel environment).

 Whether the initial magic was PXE or BIOS-based iSCSI, the kernel 
has to have its own storage drivers and do its own network setup, right?

true, since FreeBSD does not like to use BIOS provided 'drivers'.
the problem is 'discovering' the device used to boot, and here there is an
added complication, the iSCSI is on top of the network card, so initializing
the NIC will probably disconnect the iSCSI connection.
It would be nice to use the BIOS supplied 'glue' to mount root, so
that it can read /boot/loader.conf etc, then once the kernel is ready,
remount root, 

I think there are some benefits to being able to do this, but perhaps 90% of 
them could be realized with what we already have (iscontrol and the 
iscsi_initiator kernel module) plus some rc and fstab glue.

but this can happen only after the kernel is running. horse/cart ...

Any kind of 
diskless server farm needs at least one master server to run dhcpd, and if 
you have it doing that you might as well have it do NFS and tftpd as well. 
Pretty much any client you'd want to use as an iSCSI initiator will have a 
decent NIC which nowadays implies PXE support. So it shouldn't be hard to get 
root mounted using currently available means (local disk or PXE+NFS), and 
from there have the option of using iSCSI for other partitions 
(including /usr).

I think that PXE is already concidered 'legacy' :-)

A truly standalone iSCSI client will most likely want to use a TOE card, 
which
to the OS looks like any other SCSI adapter. (I'm unsure which if any such 
cards are currently supported in FreeBSD, but that's a tangential question.)

This was my thinking too, but the few TOEs I've seen do not emulate a scsi 
device!
and they are not cheap (last i checked they were over 1000$).

Machines with iSCSI-capable BIOS'es are an inbetween case. Allowing such 
machines to be standalone clients would require things like the initiator 
name, the initiator's IP address and netmask, the target's IP address, and 
the target's (volume) name to be hard-coded in the kernel. It would be nice 
to support this scenario, but IMO it's the one with the lowest benefit/cost 
ratio.
and some more, if you want password/CHAP ...

Making it easy to integrate iSCSI into existing environments (diskless or 
not)
is IMO the biggest hole in the current implementation (the missing rc and 
fstab bits I mentioned before).

yes, but this is not a real problem, I have an almost working script.


JN



___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: iSCSI boot mussings

2007-03-16 Thread Achim Patzner

On 16.03.2007, at 16:59, John Nielsen wrote:
A truly standalone iSCSI client will most likely want to use a TOE  
card, which
to the OS looks like any other SCSI adapter. (I'm unsure which if  
any such
cards are currently supported in FreeBSD, but that's a tangential  
question.)


Maybe someone feels like playing with these: http://www.myri.com/ 
Myri-10G/10gbe_solutions.html



Achim

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: iSCSI boot mussings

2007-03-16 Thread Kip Macy

On 3/16/07, Achim Patzner [EMAIL PROTECTED] wrote:

On 16.03.2007, at 16:59, John Nielsen wrote:
 A truly standalone iSCSI client will most likely want to use a TOE
 card, which
 to the OS looks like any other SCSI adapter. (I'm unsure which if
 any such
 cards are currently supported in FreeBSD, but that's a tangential
 question.)

Maybe someone feels like playing with these: http://www.myri.com/
Myri-10G/10gbe_solutions.html


There are at least a half dozen if not a dozen HBA iSCSI initiators.
The only gating factor is price. A pxebooted ramdisk image with an
iSCSI software initiator in it is probably the best way to go for most
people. I don't think that there is a FreeBSD driver for any of the
current hardware iSCSI HBAs.

 -Kip
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]