Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sanboot:win2k8_iscsi_install [2009/04/10 03:57]
meteger Added note about how to workaround some bug + link to MS page
sanboot:win2k8_iscsi_install [2011/01/22 12:16]
leeph [What to do if the installation can't find the iSCSI disk.]
Line 12: Line 12:
   - Boot from DVD-ROM.   - Boot from DVD-ROM.
  
-===== Configuring ​gPXE for iSCSI boot =====+<​sub>//​If you can't boot from gPXE from your BIOS read: [[/​howtos#​how_to_deploy_gpxe|How to Deploy gPXE]]. Specifically [[/​pxechaining|Boot gPXE for your PXE enabled network card]] and [[/​removable#​creating_a_bootable_floppy_disk|Loading gPXE from a bootable floppy]] or the ultimate [[/​romburning|Replace your legacy network card PXE ROM]]//</​sub>​ 
 + 
 +===== Configure DHCP gPXE options ​for iSCSI boot ===== 
 + 
 +Refer to [[/​howtos#​how_to_use_advanced_dhcp_options|advanced dhcp options]] 
 + 
 +==== ISC dhcpd ==== 
 +See [[dhcpd]] for more info on the following settings
  
 Place the following lines in ///​etc/​dhcpd.conf//:​ Place the following lines in ///​etc/​dhcpd.conf//:​
Line 29: Line 36:
  
     root@chipmunk#​ /​etc/​init.d/​dhcpd restart     root@chipmunk#​ /​etc/​init.d/​dhcpd restart
 +
 +==== Microsoft DHCP Server ====
 +See [[msdhcp]] for more info on the following settings
 +
 +{{:​sanboot:​msdhcpiscsiwds.png|}}
 +
 +<​sup>​NOTE:​ //The above picture shows settings for a specific windows deployment environment//​. Configure your settings to meet your needs.</​sup>​
 +
 +  Option 17 Root Path iscsi:​my.target.dns.name::::​iqn.2007-08.name.dns.target.my:​iscsiboot
 +  Option 67 Bootfile ""​
 +  Option 175 gPXE_Options 08 01 01 FF
 +
 +Where //​freenas1.domain.local//​ == //​my.target.dns.name//​ == is the DNS name (or IP address) of your iSCSI target, and //​iqn.2007-09.local.domain.freenas1.target:​disk1//​ == //​iqn.2007-08.name.dns.target.my:​iscsiboot//​ == the iSCSI target IQN that you wish to boot from.\\
 +See [[/​pxechaining#​using_the_windows_dhcp_server|PXE Chaining]] for the two //Option 67// entries pictured above, if your **not** using [[/​pxechaining#​using_the_windows_dhcp_server|PXE Chaining]] set //Option 67// as a //blank entry//\\
 +See [[/​msdhcp#​setting_up_a_gpxe_encapsulated_options_on_windows_dhcp|gPXE Encapsulated options]] for information on //Option 175//, 08 01 01 FF is the Hex entry for //keep-san 1//
  
 ===== Starting the installation ===== ===== Starting the installation =====
Line 37: Line 59:
  
 {{ :​screenshots:​win2k8_iscsi_install.png?​800x600 |Windows Server 2008 installation disk selection}} {{ :​screenshots:​win2k8_iscsi_install.png?​800x600 |Windows Server 2008 installation disk selection}}
 +===== Alternative Method (using WinPE) =====
 +
 +Some BIOS programs will not fall back to another boot device after loading gPXE.
 +In such cases, you can proceed by executing [[:​winpe|pxe boot to WinPE 2.1]].
 +(make sure it's WinPE 2.1, WinPE 2.0 won't detect iSCSI drives)
 +
 +After you've reached the WinPE command prompt, you can execute setup.exe from the installation media or network share. (this method was tested with Windows Server 2008 x86, Windows 7 x86 and Windows 7 x64. For installing Windows 7, you will probably want to try using WinPE 3.0 instead of 2.1)
 +
 +The required gPXE command sequence to achieve this should be like:
 +<​code>​
 +dhcp net0
 +set keep-san 1
 +sanboot iscsi:​192.168.1.11::::​iqn.2007-08.name.dns.target.my:​iscsiboot
 +chain tftp://​192.168.1.11/​boot/​pxeboot.n12
 +</​code>​
 +
 +**NOTE:**
 +When using tftpd32, bootmgr.exe should reside inside the root tftp directory and inside the boot directory.
 +
 +**NOTE:**
 +If the Windows Setup cannot recognize your iSCSI drive be sure that WinPE is recognized your network card. Type "route print" to the WinPE command prompt and look for your network interface. If it is not there, you should load your network card's driver by using the "​loaddrv"​ command of the WinPE. Go to a local or a network folder which has your driver and execute "​loaddrv file.inf"​ to load the driver.
 +
 +===== Alternative Method (simple) =====
 +
 +As stated before, some BIOS won't fall back properly. And if you don't need the whole WinPE stuff, have a look [[http://​www.lrz-muenchen.de/​~bernhard/​grub-chain-cd.html|here]].
 +
 +To give a proper short receipe:
 +In you tftp directory do:
 +Put [[http://​www.lrz-muenchen.de/​~bernhard/​memdisk.bin|memdisk.bin]] and [[http://​www.lrz-muenchen.de/​~bernhard/​sbootmgr.dsk|sbootmgr.dsk]] into it
 +Place also a copy of [[http://​syslinux.zytor.com/​wiki/​index.php/​PXELINUX|pxelinux]] there.
 +
 +Edit your pxelinux config file (if you dont have one: Make a directory called "​pxelinux.cfg"​ in your tftp directory and put the folling into a file named "​default"​ to your new pxelinux.cfg-directory):​
 +
 +<​code>​
 +label torito
 +kernel memdisk
 +append initrd=sbootmgr.dsk
 +</​code>​
 +
 +Kick off you machine, load some gPXE and press Ctrl+B as it appears. Now do:
 +
 +<​code>​
 +dhcp net0
 +set keep-san 1
 +sanboot iscsi:​192.168.1.11::::​iqn.2007-08.name.dns.target.my:​iscsiboot
 +chain tftp://​192.168.1.11/​pxelinux.0
 +</​code>​
 +
 +After some curious stuff enter torito and enter. Now it starts of your Windows 2008 DVD. 
 +(May show error if dvd drive is not ready yet. Just try by pressing enter again and again)
 +
 +This is might also work for you, without the PXE menu if you have no HD or boot PXE after your HD boot order
 +Kick off you machine, load some gPXE and press Ctrl+B as it appears. Now do:
 +
 +<​code>​
 +dhcp net0
 +set keep-san 1
 +sanboot iscsi:​192.168.1.11::::​iqn.2007-08.name.dns.target.my:​iscsiboot
 +exit
 +</​code>​
 + 
 +You should now have a message that says insert media and press a key.  Insert your CD and wait a few seconds then press a key
  
 ===== Completing the installation ===== ===== Completing the installation =====
Line 46: Line 130:
 {{ :​screenshots:​win2k8_iscsi_boot.png?​800x600 |Windows Server 2008 booted from an iSCSI target}} {{ :​screenshots:​win2k8_iscsi_boot.png?​800x600 |Windows Server 2008 booted from an iSCSI target}}
  
 +
 +==== What to do if the installation can't find the iSCSI disk. ====
 +
 +  - Ensure the iSCSI target is working by connecting it with existing os. To make your life easy, You can unset the password for the iSCSI target for testing.
 +  - Reboot the into gPXE, then press <​code>​Ctrl-B</​code>​ to get the command line.
 +  - In the command line, type <​code>​dhcp net0</​code>​ You'll see response which is like: <​code>​DHCP (net0 xx:​xx:​xx:​xx:​xx:​xx)... ok</​code>​
 +  - In the command line, type <​code>​set keep-san 1</​code>​
 +  - And in command line, type <​code>​sanboot iscsi:​my.target.dns.name::::​iqn.2007-08.name.dns.target.my:​iscsiboot</​code>​ If you see something like "​Preserving connection to SAN disk." in response, You are on the half way.
 +  - In the command line, type <​code>​exit</​code>​
 +  - Go on with the installation above.
 +
 +**NOTE:** If you are installing vista, be sure to read the NOTE in [[sanboot:​winvista|Vista install guide]] to save your time.
 +
 +**NOTE:** Windows Setup creates an explicit route to your your iSCSI target using your default gateway. This means if your target is on the same LAN, your router must be prepared to route local LAN traffic (which normally it would not do as the initiator and target could communicate directly). You can examine the route settings by pressing SHIFT+F10 when the drive selection window is displayed, then typing "route print" at the DOS command prompt.
 +
 +Some strict firewall settings will prevent this kind of routing which will cause Windows Setup to be unable to see the iSCSI drive. For example, using Shorewall you need to enable the "​routeback"​ setting on the LAN interface. If using OpenWrt (without shorewall) add this to /​etc/​firewall.user (create this file if absent):
 +
 +    iptables -A forwarding_lan -i br-lan -o br-lan -j ACCEPT
 +
 +To avoid that behaviour, put your iSCSI into it's very own subnet and omit a gateway. Like say your LAN is 192.168.1.0,​ you could say target is 192.168.**2**.1 and initiator 192.168.**2**.2. Configure your DHCP server accordingly and windows won't do that curious explicit route (static route).
 +
 +**NOTE:** With Windows 7 the above routing problem affects normal boot as well, not just the setup.
 +
 +**NOTE:** When using Microsoft iSCSI Software Target 3.1.3412, The aforementioned explicit routing may cause WinPE 2.1 (Windows Server 2008 / Vista SP1) to BSOD (IRQL_NOT_LESS_OR_EQUAL),​ and WinPE 3.0 (Windows 7 / Windows Server 2008 R2) won't recognize the iSCSI drive at all.
 +
 +- To avoid this problem, you can set the gateway (received from the DHCP server) to the IP of the machine running Microsoft iSCSI Software Target. (or use the "set gateway"​ command from the gPXE console, after the "​dhcp"​ command)
 +
 +- Another way around this is to configure your DHCP server to give the target host as the default gateway for the initial gPXE boot, and then give your normal gateway for the Windows boot proper. This avoids routing the SAN traffic through an IP router when it isn't necessary (in my case, my LAN is gigabit but routing through the gateway reduced effective throughput to 100mbit - not ideal!). Add the following lines to your dhcpd config (to the stanza that defines the host to be booted):
 +
 +  if exists user-class and option user-class = "​gPXE"​ {
 +    option routers <iSCSI target IP>;
 +  } else {
 +    option routers <normal default gateway IP>;
 +  }
 +
 + - Alternatively,​ you can install to another software target, and then [[transfer]] the installation to the Microsoft iSCSI Software Target.
 +
 +===== What to do if the installation says: "​Ensure that the disk's controller is enabled in the computer'​s BIOS menu" =====
 +
 +If you can't continue with windows installation on iSCSI Target with an error message
 +  Windows cannot be installed to this disk. This computer'​s hardware may not support booting to this disk. Ensure that the disk's controller is enabled in the computer'​s BIOS menu
 +Solution for this error is quite simple, just add a drive for installation time, if the drive is a Serial-ATA connected then set it to //​Compatibile Mode// not //AHCI// (for Windows 7 this doesn'​t matter, you can leave it as AHCI). If you start windows installer once again you will see an error message only at the physical drive, select iSCSI target and just click next.
 +
 +XFGolden Begin Edit -> This is totally contradictory to the above. But it worked for me when the above did not.
 +
 +In some cases such as mine using an asus m3n-HT Deluxe motherboard with the latest pheonix/​award bios having Serial ATA mode set to IDE(compatibility mode) caused the Windows 7 Ultimate x86_64 installer to view the the iscsi connected drive as a non-bios boot drive. There are three options in this bios for how Serial ATA drives are handled IDE/​AHCI/​RAID . Once the access mode for Serial ATA drives was set to AHCI the Windows Installer saw the physically attached drive as non-bios bootable and the iSCSI attached drive as a valid install target. On subsequent boots the installer completed and I was presented with a freshly installed Windows 7 desktop served from my SAN.
 +
 +<- End Edit XFGolden

QR Code
QR Code sanboot:win2k8_iscsi_install (generated for current page)