Enige tijd geleden heb ik een post gedaan waarin ik vertelde dat ik meer info neer zou zetten als ik eruit was. Dit was me een klein beetje ontschoten hehe. Een compleet werkende PXE omgeving opzetten om Ghost images te laden is ondertussen wel allang gelukt. Hieronder zal ik beschrijven wat ik bereikt heb, wat ik precies gedaan heb om dit te bereiken en wat men nodig heeft, om een zelfde omgeving op te kunnen zetten. Als laatste ook wat achtergrond informatie over hoe de Intel PXE Server precies werkt.
Bereikt:
- Een PXE server opgezet met ondersteuning voor vrijwel alle NICs van Intel, zowel 100 als 1000 Mb.
- 10 pc`s tegelijk voorzien van een image van 2.5 GB in +/- 30 minuten (indien men gebruik maakt van een 100 Mb switched netwerk) & bij het booten deze direct voorzien van een naam en (evt.) lid maken van een domein (dmv sysprep).
- Floppy en CD-loze installatie van pc`s (door gebruik van PXE uiteraard)
Benodigdheden:
- Windows 2000/2003 of Windows NT Server OS
- Geactiveerde DHCP Scope
-
Intel PXE Server
- Intel NIC met PXE ondersteuning op de clients
- Norton Ghost
-
WinImage
-
Microsoft Deploy Tools voor Sysprep.
- Windows NT 4 Server cd-rom (optioneel)
- Utility om bootable DOS flops mee te maken (optioneel)
- 1 lege diskette (optioneel)
Men kan ervoor kiezen om tijdens de installatie van de Intel PXE Server software de Windows NT 4 Server cd-rom te laden. De zogenaamde client files zullen dan naar de harde schijf worden gekopieerd. Hiermee kan men later via een geautomatiseerde batchfile een bootdisk maken, die gebruikt zal worden voor de PXE Bootdisk image.
Dit hele stuk valt over te slaan, aangezien ik de bootdisk later nog zal uploaden. Deze bootdisk-image valt eenvoudig aan te passen d.m.v. WinImage. Indien men de bootdisk-image download zijn de optionele onderdelen niet langer nodig.
Hoe zet ik zelf een Intel PXE Server omgeving op?
Bekijk voor je begint eerst het volgende: Bevindt de geactiveerde DHCP scope zich op dezelfde NT/2K/2K3 server als waar je de Intel PXE Server software op wilt installeren, of bevindt de DHCP scope zich op een andere server. Dit kan men namelijk direct tijdens de installatie aangeven, in de sectie achtergrond info zal ik dieper ingaan op wat het verschil is. Nu men dit weet kan men beginnen met de installatie van het Intel PXE Server pakket.
Voorbereidende handeling:
Indien het Intel PXE Server pakket op dezelfde server wordt geinstalleerd als waar de DHCP scope zich bevindt dient men het volgende te doen.
- Voor Windows NT 4 Server:
Ga naar: start --> programs --> Administrative Tools (common) --> DHCP Manager
Dubbelklik hier op de gewenste scope. Ga nu in het menu naar DHCP Options à Default. Klik op New en vervolgens zodat de Add Option Type dialog box omhoog komt. In het veldje Name moet de waarde Class ID worden ingevoerd.
Zorg ervoor dat Data Type op String staat en dat het Array vinkje niet aangevinkt staat. Vul in het veld Indentifier de waarde 60. Klik nu op OK.
Men komt weer in het scherm DHCP Options: Default Values.
Selecteer optie 060 uit het Option Name lijstje. Als het goed is verschijnt er nu Class ID. Druk op de knop Value om het veld weer te geven. Vul hier in PXEClient. Klik op OK. Controleer alles nogmaals en klik vervolgens op OK om terug te gaan naar de DHCP Manager.
Het is nu tijd om Option 60 aan de scope toe te voegen. Het makkelijkste is om de opties globaal toe te wijzen.
Klik in het menu op DHCP Options --> Global om het juiste scherm op te roepen. Scroll door de lijst tot je aankomt bij option 060 Class ID. Vink hem aan en druk op Add om de optie toe te voegen aan de actieve scopes.
- Voor Windows 2000 of 2003 Server:
Hier hoeft men in principe niets voor te doen. Tijdens de Intel PXE Server setup zal er een utility draaien die de juiste aanpassingen maakt in de DHCP scope options.
Indien de DHCP Server zich op een andere server bevindt dan waar men de Intel PXE Software op installeert, hoeft men geen acties te ondernemen.
Setup van Intel PXE Server
Download het bestand PXE20-PDK.EXE, de link staat bij de benodigdheden.
[optioneel]
Tijdens de installatie zal er gevraagd worden naar de Windows NT 4.0 Server cd-rom (ook wanneer het op een Windows 2000 Server wordt geïnstalleerd), dus leg deze alvast in de cd lade.
[/optioneel]
Dubbelklik op het bestand pxe20-pdk.exe. Ga akkoord met de default installatie directory, of pas deze aan.
Op een gegeven moment zal men de volgende opties zien die men kan installeren:
· Boot Server (eigenlijk een vereist onderdeel)
· Proxy Server (eigenlijk een vereist onderdeel)
· Use the DHCP port
· Stop Built-in TFTP Service
Vink de bovenste 2 aan, en indien de software op een andere server wordt geïnstalleerd dan waar de DHCP scope op draait, moet men Use the DHCP port ook aanvinken, bij de Windows 2000/2003 Server zal er nu een utility worden gestart die de vereiste scope optiones in de DHCP server configureerd.
Wanneer men klaar is met de installatie wordt gevraagd om de pc opnieuw te starten.
Bootdisk-image aanmaken (optioneel)
Stop de lege flop in de drive en gebruik een utility om de flop (DOS)bootable te formatteren (kan bv ook vanuit Win98). Ga nu op de server waar Intel PXE geinstalleerd staat naar de volgende map:
C:\Program Files\Intel\PXE\PDK\system\images\x86pc\undi\DOSUNDI\mkimage
Bewerk het autoexec.bat bestand en voeg de volgende regels toe:
net use z: \\server\images
z:
mouse.com
ghost.exe
Bewerk vervolgens het bestand system.ini in de map 'net' (te vinden op hetzelfde pad als autoexec.bat. Vul hier de (inlog)gegevens in van je domein/werkgroep.
Als laatste dient men het bestand LMHOSTS aan te passen (zelfde map als system.ini), hier dient een vermelding in te komen van de file server die men opgegeven heeft in de autoexec.bat (als men een WINS Server in het netwerk heeft draaien is dit niet nodig).
Stop nu de bootable geformatteerde flop in de drive van de server en run de volgende batchfile:
C:\Program Files\Intel\PXE\PDK\system\images\x86pc\undi\mkdos.bat
Er vindt nu een schrijfactie plaats waarbij de benodigde bestanden automatisch naar de flop worden gekopieerd. Wanneer dit voltooid is zal de batchfile de hele flop uitlezen en hier een bestand van maken genaamd DOSUNDI.1.
Deze wordt in de map DOSUNDI geplaatst onder de 'undi' directory.
Het DOSUNDI.1 bestand (=diskimage van de bootable flop) valt later nog te bewerken mbv WinImage.
Zorg ervoor dat het pad naar de \\server\share die je in de autoexec.bat hebt ingevuld bestaat en dat er zich een ghost.exe en mouse.com bestand in bevindt. Er kunnen uiteraard ook extra tools naar keuze in geplaatst worden zoals format.com en fdisk.exe enz.
Configuratie van de Intel PXE Server
Om de PXE server verder te configureren is er een GUI-gebaseerd programma meegeïnstalleerd. C:\Program Files\Intel\PXE\PDK\system\PxeConfig.exe
Als eerste deleten we een aantal 'overbodige' opties. Klik met de rechtermuisknop op Boot Server en klik op Add/Remove Boot Server Types. Uninstall alles behalve DOSUNDI.
Ga vervolgens naar ProxyDHCP Server à Client Boot Menu --> X86PC (UNDI)
Verwijder alles behalve Local Boot en DOSUNDI, zodat er geen overbodige en niet werkende opties in het menu terechtkomen.
Controleer daarna of Use DHCP Port for Listening naar wens aangevinkt of uitgevinkt staat.
Men klikt hiervoor met de rechtermuisknop op ProxyDHCP Server --> Configure proxyDHCP Server, en controleer het vinkje.
Ga nu naar het tabblad Client Options. Vink hier Multicast Discovery en Broadcast Discovery uit. Klik op Add to Bootserver Discovery List…
Klik hier Type 3 DOSUNDI aan. Vul onderin het scherm het IP-adres in van de machine waar de bootserver op geïnstalleerd is (waarschijnlijk dezelfde server als de ProxyDHCP server). Klik dan op Add to Discovery List. Klik op OK en laat de overige opties op de default waardes staan.
Testen van de client pc
Om te kijken of de cliënt de bootdisk image kan binnenhalen moet er eerst wat geregeld worden in de BIOS van de computer. Als eerste moet de Remote LAN Boot op Enabled staan, standaard staat deze op Disabled.
Sla de instellingen op herstart de computer en ga nogmaals de BIOS in. Men zal nu een extra optie zien bij het tabblad waar men de bootvolgorde in kan stellen. Zet deze bovenaan (de woorden PXE en UNDI komen er waarschijnlijk in voor, maar dit kan per type BIOS verschillen), zodat de pc vanaf de PXE Bootrom opstart. Sla de instellingen op en reboot weer.
Als het goed is krijgt men nu een IP-adres van de DHCP service + de extra scope opties. Als Option 60 niet meegegeven wordt vanuit de DHCP Scope zal de cliënt zelf gaan broadcasten om de ProxyDHCP service te lokaliseren.
De ProxyDHCP service zal nu het IP-adres van de Bootserver kenbaar maken aan de cliënt en het menu te voorschijn toveren die men eerder heeft geconfigureerd.
Om in dit menu te komen heeft men 10 seconde de tijd om op de F8 toets te drukken. De beschikbare opties komen nu te voorschijn. Men kan kiezen voor:
· Local Boot
· DOSUNDI
Wanneer men Local Boot kiest zal de pc gewoon verdergaan met opstarten vanaf het volgende in de BIOS gedefinieerde opstartitem (harde schijf, floppy drive, cd-rom speler).
Kiest men voor DOSUNDI, dan zal de client de gemaakte bootflop-image over het netwerk binnenhalen, inloggen op het netwerk (na het invoeren van het juiste wachtwoord voor de account administrator, of een andere gemachtigde account), connectie maken met de ghost share, muisdrivers laden en vervolgens ghost.exe opstarten.
Microsoft Sysprep
Download de Deploy Tools van de bovenstaande link. Pak de bestanden uit. Je zult de volgende 3 bestanden nodig hebben om sysprep te kunnen gebruiken:
- sysprep.exe
- setupcl.exe
- sysprep.inf (zelf aanmaken)
Deze 3 bestanden dient men in de volgende folder te plaatsen: %SYSTEMDRIVE%\Sysprep
Wanneer men nu sysprep.exe draait, zal de computer afsluiten. Dit is het moment om een Ghost image te maken van de computer.
Voorbeeld inhoud sysprep.inf bestand waarmee de pc direct in het domein wordt gehangen:
;SetupMgrTag
[GuiUnattended]
OEMSkipRegional=1
TimeZone=110
AdminPassword=lokaal admin ww
[UserData]
FullName=Naam
OrgName="Bedrijfsnaam"
[Display]
BitsPerPel=16
Xresolution=1024
YResolution=768
Vrefresh=60
[TapiLocation]
CountryCode=31
AreaCode=020
LongDistanceAccess="0"
[RegionalSettings]
LanguageGroup=1
[Identification]
JoinDomain=domein
DomainAdmin=administrator
DomainAdminPassword=wachtwoord
[Networking]
InstallDefaultComponents=Yes
[Unattended]
TargetPath=\WINNT
OemSkipEula=Yes
KeepPageFile=0
[Branding]
BrandIEUsingUnattended=Yes
[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0
Achtergrond informatie over de werking van Intel PXE Server
Het principe is eigenlijk niet zo vreselijk moeilijk. Bij het opstarten van de client zal de PXE Rom op de NIC gaan broadcasten op UDP-poort 67 om een DHCP Server te lokaliseren.
De scope wijst de client een IP, Subnet en overige opties toe (DNS Server, WINS Server enz). In de scope opties kan ook worden opgegeven dat er naast de DHCP service ook een ProxyDHCP service op de server-pc draait. De cliënt pc zal nu een discovery-methode aanvragen bij de ProxyDHCP server om een Bootserver te vinden (dit gebeurt nu op UDP-poort 4011, DHCP en ProxyDHCP gebruiken standaard namelijk dezelfde poort, deze 2 services tegelijkertijd op dezelfde poort is echter niet mogelijk). Dit kan zijn d.m.v. Multicasting, Broadcasting of een vooraf gedefinieerde Bootserver lijst in de ProxyDHCP service, waarbij de laatste methode mijn voorkeur geniet.
Mocht de ProxyDHCP service zich niet op dezelfde machine bevinden als de DHCP server dan hoeft er in de Scope-opties van de DHCP server niets te worden aangepast (dus geen vermelding maken van de ProxyDHCP service). De cliënt zal dan zelf beginnen met broadcasten op UDP-poort 67 voor een ProxyDHCP server.
Nu krijgt de cliënt naast een IP-adres, subnetmask en scope opties ook het IP-adres van de Bootserver aangeleverd.
De cliënt zal nu contact opnemen met de Bootserver om op deze wijze een bootflop-image te kunnen downloaden en starten.
Al met al een lang verhaal, maar ik ben er zelf van overtuigd dat het zeer de moeite waard is om een PXE omgeving als bovenstaande te implementeren. Er valt een geweldige tijdsbesparing te realiseren bij het installeren van de pc`s in een netwerk, wat automatisch ook een flinke kostenbesparing oplevert.
Hier op me werk hebben we in +/-6 a 7 uur tijd 180 computers (geen enkele had een floppy drive of cd-romspeler) voorzien van een Windows 2000 Pro installatie, met alle software erop en eraan, en direct in het domein gehangen (2.5 GB image). Hiervoor hadden we overigens wel 2 file servers geplaatst waarop de ghost images stonden, beide voorzien van 2 40 GB IDE schijven in een (software)RAID stripe opstelling, en elk 2 100 MB netwerkkaarten.