Takže, trochu jsem si s tím ještě pohrál, nakonec to rozchodil a mám tu "Windows7 diskless boot via iSCSI HOWTO"
Potřebujeme:
(1) server s dostatečnou diskovou kapacitou a operačním systémem Linux (v našem případě Atom + 3x 1.5TB disk v RAID5 pomocí mdraid a Linux Debian Squeeze)
(2) klient s DVD mechanikou a síťovkou podporující PXE boot a se síťovou konektivitou na (1) (v našem případě běžný desktop s Pentiem E5200, 4GB RAM a onboard síťovkou Atheros na desce ASUS P5QL-E)
Step-by-step:
a. zvolit na serveru místo, kam budou ukládána (já jsem zvolil soubor na disku; dd if=/dev/zero of=/mnt/data/volumes/iscsi_hdd_01.img bs=1M count=16384)
b. na serveru nainstalovat iSCSI target, v našem případě zvolen IET (apt-get install iscsitarget iscsitarget-dkms)
c. nakonfigurovat IET. V defaultu je všechno povoleno a není třeba konfigurovat autentifikaci, stačí přidat konfiguraci konkrétního targetu
Kód:
Target iqn.2003-08.net.myslenka.grisu:vFile1
Lun 0 Path=/mnt/data/volumes/iscsi_hdd_01.img,Type=fileio,IOMode=wt
d. nainstalovat a nakonfigurovat tftp server (apt-get install tftpd)
d1. vytvořit /tftpboot s plnými právy pro všechny
e. stáhnout si iPXE image pro Intel UNDI - undionly.kpxe - a uložit ho do /tftpboot (tudíž není nutné updatovat Boot ROM na síťovce)
f. na serveru nainstalovat ISC DHCP server, pozor na stávající DHCP v síti (apt-get install isc-dhcp-server)
g. nakonfigurovat ISC DHCP server pro pevný lease pro našeho klienta (2) dle MAC adresy.
g0. nastavit adresu serveru našemu pevnému leasu (next-server ...)
g1. předhodit PXE image s iPXE našemu pevnému leasu (filename ...)
g2. zabránit "boot loopu" z důvodu opakovaného načítání iPXE image (if exists user-class...)
g3. při načteném iPXE sdělit adresu iSCSI targetu (option root-path... - toto už je option pro iPXE) - POZOR! Pro začátek necháme zakomentovaný, protože z něj ještě nechceme přímo bootovat.
Kód:
host blackwhite {
hardware ethernet 00:23:54:5e:7a:89;
fixed-address 192.168.0.10;
next-server 192.168.0.250;
if exists user-class and option user-class = "iPXE" {
filename "";
# option root-path "iscsi:192.168.0.250::::iqn.2003-08.net.myslenka.grisu:vFile1";
} else {
filename "undionly.kpxe";
}
}
...takže teď máme funkční a nakonfený iSCSI target i ISC DHCP server včetně TFTP. Můžeme začít instalovat Windows
h. na (2) použijeme DVD s Windows 7 (v mém příkladu Win7 HP x64), v BIOSu nastavíme bootování z DVD jako primární (měl jsem i odpojený HDD)
i. zapneme (2) a v bootmenu vybereme boot ze sítě. Komp by měl dostat adresu od DHCP a spustit iPXE. Pomocí Ctrl-B se dostaneme do příkazové řádky iPXE.
j. nakonfíme iPXE, tedy přidělíme adresu z DHCP a "namountujeme" iSCSI disk
j1. dhcp net0
j2. sanhook iscsi:192.168.0.250::::iqn.2003-08.net.myslenka.grisu:vFile1
j3. exit
k. mělo by se pustit bootování z DVD a s tím instalace Windows.
l. až bude po instalaci Windows, odkomentujeme řádek v konfigu DHCP a další bootování už pojede samo od sebe
A teď moje zkušenost s rychlostí - je to na 100Mb síti, takže nic moc reprezentativního až trochu poladím ten target, tak to zkusím po gigu.
Čerstvá instalace Windows 7 HP x64, jak dlouho trvaly části bootování:
10s inicializace PXE
5s inicializace iPXE a spuštění bootování z iSCSI
45s logo windows
10s od zobrazení kurzoru až po loginscreen
10s od odklepnutí hesla po zobrazení plochy
Uff