Jump to content











Photo
- - - - -

boot over iscsi


  • Please log in to reply
85 replies to this topic

#26 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 06:05 PM

do you specify the boot-rom filename in the vmx to improve performance or why ?
I did not need to do that in my tests.
It worked with vlance and e1000 without problem


by specifying your nic rom, you dont have to serve the pxe bootstrap in your pxe server
so you skip one step and only have to specify the root path in your dhcp server (thus no need for a tftp server).

right now not very useful : indeed, in gpxe you have the "config" command where you can specify all your pxe settings (root path, dhcp server, tftp server, etc) but i dont know yet how to set these settings as you would save you vmware bios settings.

if i manage to do that then i dont need any dhcp and/or pxe server at all then but only a iscsi target :D

/Erwan

#27 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 May 2009 - 06:31 PM

Hallo Erwan.l

Right now it is my first look into your topic. And I have some difficulties to 'understand' all the posts made.

If you look into other posts of mine, I usually avoid to visit links in the posts.
I personally prefer to see facts inside a post.

Can you please try (fool proofed!) to explain the goal and benefits of your post?

Sorry, that is not meant agressively, but there are a lot of members who have difficulties to understand the offer of a post.

Thanks!

Peter

#28 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 07:00 PM

Hallo Erwan.l

Right now it is my first look into your topic. And I have some difficulties to 'understand' all the posts made.

If you look into other posts of mine, I usually avoid to visit links in the posts.
I personally prefer to see facts inside a post.

Can you please try (fool proofed!) to explain the goal and benefits of your post?

Sorry, that is not meant agressively, but there are a lot of members who have difficulties to understand the offer of a post.

Thanks!

Peter


Hi Peter,
No problem, as said in the first post, i am new to this forum and not yet trained to how to post.

The goal here is to explained how to network boot a diskless computers onto an image of a hard drive served thru the ISCSI protocol.

What is it exactly that would make this easier to understand? steps in that thread?

Regards,
Erwan.

#29 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 May 2009 - 07:10 PM

Hi Peter,
No problem, as said in the first post, i am new to this forum and not yet trained to how to post.

The goal here is to explained how to network boot a diskless computers onto an image of a hard drive served thru the ISCSI protocol.

What is it exactly that would make this easier to understand? steps in that thread?

Regards,
Erwan.

Just try to imagine that me and other users do not understand your main intention.

(Maybe I do(???), but I'm thinking as 'rest of the world')

Peter :D

#30 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 11 May 2009 - 07:11 PM

What I was saying was (and limited to VDK):
  • there is "normally" no need to use a descriptor file, as VDK can mount a "RAW" .img directly
  • since the "RAW" .img is anyway a "flat" one, you can, instead of creating a vmdk descriptor file, use a .pln one.

A .pln one is simpler that the one you are using, besides making it through the batch (given link), it is easy to create one by hand.

Here is the descriptor for the same image you posted, in .pln format:
DRIVETYPE	  ide

CYLINDERS	 65

HEADS		255

SECTORS	   63

ACCESS "C:\test\starwind-compatible.img" 0 1048576
(path can be relative, as long as .pln and .img are in the same directory).

:D

jaclaz

#31 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 08:11 PM

What I was saying was (and limited to VDK):

  • there is "normally" no need to use a descriptor file, as VDK can mount a "RAW" .img directly
  • since the "RAW" .img is anyway a "flat" one, you can, instead of creating a vmdk descriptor file, use a .pln one.

A .pln one is simpler that the one you are using, besides making it through the batch (given link), it is easy to create one by hand.

Here is the descriptor for the same image you posted, in .pln format:
DRIVETYPE	  ide

CYLINDERS	 65

HEADS		255

SECTORS	   63

ACCESS "C:\test\starwind-compatible.img" 0 1048576
(path can be relative, as long as .pln and .img are in the same directory).

:D

jaclaz


oki, nice to know indeed. never hard of these pln+vdk file before.
thx!

/Erwan

#32 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 08:16 PM

Just try to imagine that me and other users do not understand your main intention.

(Maybe I do(???), but I'm thinking as 'rest of the world')

Peter :D


Oki, I'll think of something then but I realise that booting over the network using iscsi is not something that everyone will do everyday hence a rather difficult topic.

/Erwan

#33 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 08:36 PM

... hence a rather difficult topic.


May I object here ?
I never played with booting from iSCSI before and I had first results maybe two hours later.
After three hours I started getting my own ideas of using this.

Peter - this is very easy - Erwans PXE server is very easy to setup - if you also use starwind -iscsi target you can have first results very very soon.

You sure have no doubts about TFTP and PXE booting - many folks do that.
This is similar - easier to setup and maybe faster and surely more scalable.
I am just playing with booting a 16 Gb image over my home network ...

And that on the second evening :D

#34 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 08:44 PM

plein disks = old vmdk-format used by Workstation 2 - readable by Workstation 3 - no longer used in Workstation 4 and higher

a split plein disk looked like this

#vm|TOOLSVERSION	  4

DRIVETYPE	  ide

#vm|VERSION		   2

CYLINDERS  16383

HEADS		 16

SECTORS	   63

#vm|CAPACITY	 25165824

ACCESS "C:\machines\3-plein-disk\12g-plein-disk1.dat" 0 4189248

ACCESS "C:\machines\3-plein-disk\12g-plein-disk2.dat" 4189248 4189248

ACCESS "C:\machines\3-plein-disk\12g-plein-disk3.dat" 8378496 4189248

ACCESS "C:\machines\3-plein-disk\12g-plein-disk4.dat" 12567744 4189248

ACCESS "C:\machines\3-plein-disk\12g-plein-disk5.dat" 16756992 4189248

ACCESS "C:\machines\3-plein-disk\12g-plein-disk6.dat" 20946240 4189248

ACCESS "C:\machines\3-plein-disk\12g-plein-disk7.dat" 25135488 30336


#35 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 12 May 2009 - 11:51 PM

:D

Erwan - I just managed to boot my first 2003 via iSCSI.

iSCSI-target and your PXE-server was running on top of BartPE

thank you for this great howto

Ulli

#36 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 13 May 2009 - 01:16 PM

:D

Erwan - I just managed to boot my first 2003 via iSCSI.

iSCSI-target and your PXE-server was running on top of BartPE

thank you for this great howto

Ulli

Hi Ulli,
Good news ;)
The boot time is rather good is not it?
At 100mb, it is already quite good and at 1gb you hardly notice it under windows.

For the PXE server, interface is not very user friendly (my weak point), sorry for that :D
In a distant future, I'd like to make a all in one pxe / iscsi / http (gpxe can boot over http) server.

Regards,
Erwan.

#37 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 13 May 2009 - 03:38 PM

For the PXE server, interface is not very user friendly (my weak point), sorry for that ...


don't worry about that - a user only has to set a few parameters a you explained them good enough. ;)

I just noticed that I can give even boot more than one BartPE in one session
- I just have to wait until the first one has finished booting - then I can load another one without changing anything in gPXE.

Verry nice - this makes a poor mans VDI-environment :D

One iSCSI-server holds the boot-images for the ThinClients - which is BartPE running VMplayer.
Once the bartPE has loaded next it can load VMs via iSCSI ...
cool stuff - don't know if it really makes sense though :D

Boottime - in my limited environment I can't say much. The full 2003 boots pretty fast - loading the BartPEs is not so fast.
But here I can only test booting inside VMs - real hardware doesn't work ...

Ulli

Do you have any idea how to serve different boot-images for different clients with gPXE ?

#38 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 13 May 2009 - 05:03 PM

Do you have any idea how to serve different boot-images for different clients with gPXE ?


what do mean different boot images : different format (img, sdi, iso, etc) or just different O.S (linux, windows, etc) ?
different clients : hardware wise or simultaneously?

i know how to boot bartpe iso (but not img) via pxe/tftp in ram.
i know how to boot full o.s via pxe/iscsi.
currently looking at sdi thru pxe.

maybe you mean having a set of thin clients (disk less) that would boot their o.s thru network?
if so, to me iscsi or sdi are the best alternatives.
either on the server side, based on the mac or ip you would send a specific image or client side you could specify which image you want to boot.
i would prefer to control it server wise.

for this you would need a multi connection enabled (like the registered starwind) to enable concurent bootint.

hope this answers your question.

/Erwan

#39 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 13 May 2009 - 05:34 PM

currently looking at sdi thru pxe.


SDI for XPembedded ? - or do you want to use SDI to get a ramloading BartPE ?
I use img-files for ramloading BartPE - works like a charm and doesn't need that SDI-stuff at all.

maybe you mean having a set of thin clients (disk less) that would boot their o.s thru network?


yes - lets say I have a single fileserver with Starwind or maybe Openfiler.
Then use several Thinclients on diskless hosts and every one of them use a different bootimage via iSCSI.

say client with MAC A is served bootimage A
client with MAC B is served bootimage B
and so on ...

.. just thinking loud ...

By the way - Erwan - do you think a BartPE could use iSCSI at boot-time ?
Right now I only load the img-file via iSCSI but being able to also mount that iSCSI-target during regular boot would be great

Ulli

#40 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 13 May 2009 - 06:12 PM

SDI for XPembedded ? - or do you want to use SDI to get a ramloading BartPE ?
I use img-files for ramloading BartPE - works like a charm and doesn't need that SDI-stuff at all.



yes - lets say I have a single fileserver with Starwind or maybe Openfiler.
Then use several Thinclients on diskless hosts and every one of them use a different bootimage via iSCSI.

say client with MAC A is served bootimage A
client with MAC B is served bootimage B
and so on ...

.. just thinking loud ...

By the way - Erwan - do you think a BartPE could use iSCSI at boot-time ?
Right now I only load the img-file via iSCSI but being able to also mount that iSCSI-target during regular boot would be great

Ulli


About SDI, i use it with BartPE inside.
And maybe you are right, the hassle then is useless.
An img file should do just fine : how did you put BartPE in an img file?

About your diskless setup for several diskless clients, this is quite easy :
instead of one unique "default" file (in pxelinux.cfg) for gpxelinux, make one per mac address.
See here on howto : http://syslinux.zyto...ex.php/PXELINUX.

Booting BartPE over iSCSI would be great : we need to enable iscsi boot on san in BartPE (like for WindowsXP in my howto).
Only concern for W2K3 / XP : you cannot change network card.
Because of that I would use VistaPE which does not care about which card is used for iscsi boot.

/Erwan

#41 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 13 May 2009 - 07:07 PM

An img file should do just fine : how did you put BartPE in an img file?


first create blank image with fsz.exe from the dsfok-tools.
Then mount it with vdk.exe - format it with NTFS compressed.
Then I use robocopy to populate the image.

winnt.sif to boot it looks like

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdpath=MAX.IMG"


if you are interested - the BartPE I use is created with this setup - tool:
http://sanbarrow.com...opic.php?t=1361

it also creates this ramloading images i use

#42 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 13 May 2009 - 07:55 PM

first create blank image with fsz.exe from the dsfok-tools.
Then mount it with vdk.exe - format it with NTFS compressed.
Then I use robocopy to populate the image.

winnt.sif to boot it looks like



if you are interested - the BartPE I use is created with this setup - tool:
http://sanbarrow.com...opic.php?t=1361

it also creates this ramloading images i use


Nice : going to play with it :D
About your img, i get it.
If you inject startrom and setupldr, you may also be able to use it in iscsi booting : just a wild thought thus.

/Erwan

#43 bilou_gateux

bilou_gateux

    Frequent Member

  • Expert
  • 230 posts
  •  
    France

Posted 14 May 2009 - 02:37 PM

1st issue with IP Tools DHCP / PXE Server

"TFTP...." followed by "PXE-E32: TFTP open timeout"

SYMPTOM

When being started, the PXE client comes up with the PXE copyright message and completes the DHCP phase, but then displays:

TFTP....

After a while, the following error message is displayed:

PXE-E32: TFTP open timeout

RESOLUTION

Make sure that TFTP server is running:
click TFTPD button and "Power ON" server (click ON button)



Next issue:
Could not initialize iSCSI device: no such device

Found infos about DHCP Option 17, Root Path:

iSCSI boot

Option 17 is used to pass the iSCSI target information to the iSCSI client.

The format of the root path as defined in IETC RFC 4173 is:

"iscsi:"<servername>":"<protocol>":"<port>":"<LUN>":"<targetname>


log file from StarWind Target
5/14 17&#58;37&#58;07.296 96c Srv&#58; Accepted iSCSI connection from 192.168.0.3&#58;1024. &#40;Id = 0xf&#41;



5/14 17&#58;37&#58;07.296 96c C&#91;f&#93;, FREE&#58; Event - CONNECTED.



5/14 17&#58;37&#58;07.296 96c C&#91;f&#93;, XPT_UP&#58; T3.



5/14 17&#58;37&#58;07.296 b34 C&#91;f&#93;, XPT_UP&#58; Login request&#58; ISID 0x400027230000, TSIH 0x0000.



5/14 17&#58;37&#58;07.296 b34 C&#91;f&#93;, XPT_UP&#58; Event - LOGIN.



5/14 17&#58;37&#58;07.296 b34 C&#91;f&#93;, IN_LOGIN&#58; T4.



5/14 17&#58;37&#58;07.671 b34 Params&#58; <<< String param &#39;InitiatorName&#39;&#58; received &#39;iqn.2000-09.org.etherboot&#58;UNKNOWN&#39;, accepted &#39;iqn.2000-09.org.etherboot&#58;UNKNOWN&#39;



5/14 17&#58;37&#58;07.671 b34 Params&#58; <<< String param &#39;TargetName&#39;&#58; received &#39;d530usdt&#39;, accepted &#39;d530usdt&#39;



5/14 17&#58;37&#58;07.671 b34 Params&#58; <<< Enum param &#39;SessionType&#39;&#58; received &#39;Normal&#39;, accepted &#39;Normal&#39;



5/14 17&#58;37&#58;07.671 b34 Params&#58; <<< Enum param &#39;AuthMethod&#39;&#58; received &#39;None&#39;, accepted &#39;None&#39;



5/14 17&#58;37&#58;07.671 b34 T&#91;f,1&#93;&#58; Login request&#58; target &#39;d530usdt&#39; does not exists.



5/14 17&#58;37&#58;07.671 e48 C&#91;f&#93;, IN_LOGIN&#58; Event - LOGIN_REJECT.



5/14 17&#58;37&#58;07.671 e48 C&#91;f&#93;, FREE&#58; T7.



5/14 17&#58;37&#58;07.671 b34 C&#91;f&#93;, FREE&#58; recvData returned 10058

Edited by bilou_gateux, 18 May 2009 - 02:45 PM.


#44 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 14 May 2009 - 06:55 PM

Hi bilou_gateux,
Indeed in the dhcp server window, push the online button.
Also, once you have configured the fields (as in the picture), click on the tftp button and put it online as well.

Root-path is "iscsi:192.168.1.100:tcp:3260:0:test".
Adapt the ip to your iscsi target (server).
Also adapt test to your iscsi target name.

In the iscsi server, this is the issue I believe
"5/14 17:34:19.125 7cc T[d,1]: Login request: target 'd530usdt' does not exists."
"5/14 17:35:04.078 f5c C[e], IN_LOGIN: Event - LOGIN_REJECT."

What is your iscsi initiator?

At my place I get
"5/8 20:00:28.375 1e04 T[2,1]: Anonymous connection allowed."
"5/8 20:00:28.375 13d4 C[2], IN_LOGIN: Event - LOGIN_ACCEPT."

Regards,
Erwan.

#45 bilou_gateux

bilou_gateux

    Frequent Member

  • Expert
  • 230 posts
  •  
    France

Posted 15 May 2009 - 03:46 PM

What is your iscsi initiator?

At my place I get
"5/8 20:00:28.375 1e04 T[2,1]: Anonymous connection allowed."
"5/8 20:00:28.375 13d4 C[2], IN_LOGIN: Event - LOGIN_ACCEPT."

Regards,
Erwan.

To check if my StarWind Target Server is up and running and i can get access to mounted image file, i use Microsoft iSCSI Initiator installed to the same PC (localhost) or installed to an other PC on my LAN.

I've followed your tutorial and i have may be missed one step.

Will try again starting from scratch and check Sanbarrow successfull story in his own forum.

#46 bilou_gateux

bilou_gateux

    Frequent Member

  • Expert
  • 230 posts
  •  
    France

Posted 15 May 2009 - 04:02 PM

By the way - Erwan - do you think a BartPE could use iSCSI at boot-time ?
Right now I only load the img-file via iSCSI but being able to also mount that iSCSI-target during regular boot would be great

Ulli


After installing Microsoft iSCSI Initiator 1.08 on windows XP Professional, check %Systemroot%\iSCSI\uguide.doc appendix E.

Appendix E – Integrating iSCSI Support in Windows PE
is about integrating iSCSI Initiator into WinPE 2.0 but we may probably use the same settings to add it into BartPE.

#47 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 15 May 2009 - 06:10 PM

I believe Ulli manage to boot an img file where BartPe was installed.
Also, since boot on iscsi is supported on xp/windows2003 (with some tweakings), I would say it should work with all O.S variants of these.

Vista and up natively support boot on iscsi, so it should even be even more reliable.

Regards,
Erwan.

#48 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 15 May 2009 - 06:12 PM

To check if my StarWind Target Server is up and running and i can get access to mounted image file, i use Microsoft iSCSI Initiator installed to the same PC (localhost) or installed to an other PC on my LAN.

I've followed your tutorial and i have may be missed one step.

Will try again starting from scratch and check Sanbarrow successfull story in his own forum.



Hello Bilou_gateux,
Let me know if you find a missing step in my howto so that i can have others benefits from an updated howto.

Thanks for your feedback,
Erwan.

#49 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 15 May 2009 - 10:38 PM

Appendix E – Integrating iSCSI Support in Windows PE
is about integrating iSCSI Initiator into WinPE 2.0 but we may probably use the same settings to add it into BartPE.



Bilou - iSCSI-support in general is no problem with BartPE - I already use a LODR-pack which can load the MS iSCSI-initiator - you can also easily install Starport silently.
The doc you suggested also only seems to speak about iSCSI support in general.

Hmm - when we want to use iSCSI directly at boot time - must I then disable nic-detection in BartPE ?
Do I have to make special builds for every different NIC ?
In a regular OS this all is no problem ...

#50 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 16 May 2009 - 07:26 PM

There's a bit of a funny thing in regards to booting BartPE via iSCSI. When I refer to BartPE, I just mean in general an XP/2003 Windows PE build, even though this is not technically correct.

Let's pretend that BartPE has two "modes" for this discussion: A network mode and a block-device mode.

In the network mode, startrom.0 tells SETUPLDR that we are performing a network boot, and sniffing the network would reveal the BINL transaction, whereby the client tells a RIS service (Microsoft's or Sherpya's) the PCI DEVice and VENdor codes for the booted-from NIC, and the service will tell them which driver to load. In this scenario, files are requested via TFTP and then later, via SMB.

In the block-device mode, files are loaded from the FS on the media, be it ODD (optical disc drive), HDD, RAMDisk or floppy. An iSCSI- or AoE-attached SAN qualifies as an HDD block device.

Now let's discuss the case of a BartPE running from an iSCSI-attached HDD (not in a RAMDisk): This BartPE boots and looks for the underlying boot device. If the BartPE's SETUPREG.HIV is pre-loaded with the MS iSCSI Initiator and needed services are all set to boot-start and static IP info is set (or alternatively, Michael Brown's SANBootConf package from the gPXE web-site is used), then the BartPE will find the iSCSI-attached HDD and boot just fine. Unfortunately, this means that the BartPE loses some of its portability, since you had to pre-populate it with the network device of the computer you are going to boot it on. One of the most enjoyable aspects of BartPE is that it boots on pretty much any hardware, since HAL and kernel detection are performed. So this is a problem.

Now let's suppose that you want the network device auto-detection and auto-installation which SETUPDD.SYS provides for the network-boot mode, then you are using the network-boot mode and the boot device is not the iSCSI-attached HDD anyway. So either way, it's difficult to have a portable BartPE which boots from iSCSI.

Something I messed around with was having TXTSetup.SIF include a BootDevice parameter under the SetupData section. With this, you can get Windows in a RIS setup to actually load files from HDD, instead of via TFTP, which is interesting. Taste the idea: You get the startrom.0 BINL behaviour where the network driver is "negotiated", but you are still booting your BartPE from HDD. I just got a little way with that last night, but got a BSoD with 0x...BB, which is a network-boot failure code. Heheh.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users