fredag 27 november 2009

PXE SERVER installation av ESXi 4.0

PXE server är ett utmärkt sätt att installera OS. En gång installerad och du kan få igång installationer av de OS som du lagt till på bara någon sekund, dels går det snabbare att installera med hjälp av kabel. ESXi kan installera stateless, vilket betyder att Hypervisorn bootar in i RAM istället för disk. Med nätverksboot kan du dra upp hypervisors på löpande band. Oki nog prat om det nu:
Tre saker som du behöver på din PXELINUX server.

1. DHCP server,
2. TFTP server
3. SYSLINUX.

Som ni förstår så är detta under Linux och jag har använt mig av Ubuntu 9.10 (Kubuntu). Instruktionerna är likt under alla Linx system men har ofta lite skiftande katalogträd.

DHCP
DHCP är det första som vi bör konfigurera. Detta så att din server ska tilldelas en IP adress så att den senare kan ansluta sig mot TFTPn och SYSLINUX.

# om du inte har installerat DHCP än...

apt-get install dhcp3

# och när den är installerad så konfigurerar vi den
# genom att ändra i dess
# konfiguration fil så att den ser ut
# som följande:

vi /etc/dhcp3/dhcpd.conf

ddns-update-style ad-hoc;
allow booting;
allow bootp;

# ändra x.x.x till det subnet som
# fungerar i ditt nätverk.

subnet x.x.x.0 netmask 255.255.255.0 {
default-lease-time 3600;
max-lease-time 43200;
option ip-forwarding off;
option broadcast-address x.x.x.255;
ignore client-updates;
}


# IP här skall vara samma som din PXE server
# (kan vara en annan dator den som din DHCP server)
# glöm inte att ha din TFTP server på samma som
# du har din pxe server)

next-server x.x.x.x; //detta skall altså vara IP till den dator
filename "pxelinux.0"; //som din pxe server ligger på
}
EOL

# Och så startar vi dhcp servern:
service dhcpd start


tftp
tftp (Trivial File Transfer Protocol) är den tjänsten som erbjuder ISOLinux filer till din ESXi host under PXE boot operationen. Om du inte har xinetd installerad så behöver du även installlera den. xinetd ses generellt som ett säkerhets hot för att den låter tjänster och funktioner att köras med eller utan närvarande användare . Eftersom vi teoretiskt är på ett stängt närverk så borde detta inte innebära något stort hot. Du kan även konfigurera din brandvägg så att den täpper till trafik från alla noder utom den på ESXi:s lan som du tänker använda xinetd på.

# installera tftp servern
# i andra guiders så har jag läst att man behöver göra en del
# justeringar, för mig behövdes inte det. Vad det i så fall går ut på
# är att aktivera tftp servern i den tillhörande .conf filen

apt-get install tftpd-hpa


# starta tftp

/etc/init.d/tftpd-hpa start



syslinux
syslinux är vad som gör det mästa av jobbet syslinx som är en så kallad ”bootstrapper”, vad den gör är att den sätter igång installationen åt dig. Den läser konfigurations filer och presenterar användaren med alternativ för installationen ( allt skan ske automatiskt , beroende på konfiguration).


# installation av paketen
apt-get install syslinux

# kopiera filerna till ett passande direktiv
# du kan ändra här till ett direktiv som du själv bestämmer
# om du inte vill använda den som ges
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /usr/lib/syslinux/menu.c32 /tftpboot
cp /usr/lib/syslinux/memdisk /tftpboot
cp /usr/lib/syslinux/mboot.c32 /tftpboot
cp /usr/lib/syslinux/chain.c32 /tftpboot

# denna katalogen kommer att innehålla konfigurations filen för syslinux
mkdir /tftpboot/pxelinux.cfg

# Vi kan antingen bara lägga alla filer direkt i /tftp katalogen men det bilr
# stökigt allt eftersom vi adderar fler OS som vi vill kunna bootstrappa från
# PXE. Så vi skapar en ny katalog innom strukturen som vi använder för att
# lägga in installations filerna.
mkdir -p /tftpboot/images/esxi/4.0
mkdir -p /tftpboot/images/memtest //bara om du vill kunna utföra memtest

# nu ska vi kopiera in de filer som vi behöver in i de direktiv som vi
# skapatnow. Jag utgår ifrån att du har en ESXi ISO
# , montera/skicka/det som du behöver, vi kommer att behöva använda oss av
# rsync (för att behålla rättigheter till filerna, 90% av fallen som går fel
# hör jag att det beror på att PXE inte har rättigheter till instllations
# filerna).
# Montera median:
mount /dev/cdrom/ /media/cdrom
rsync -avW /media/cdrom/ /export/image/esx/4.0
umount /media/cdrom


# Repetera för alla OS som du vill kunna installera över nätverket.


Nu när allt är på plats så återstår att konfigurera menyn som visas för användaren och sedan och placera installations filerna på rätt plats.


# Skapa pxe fil för alla OS.PXE kommer att kolla egenom pxelinux.cfg
# katalogen letande efter konfigurations filen baserat på mac eller ip adress
# om den inte hittar en fil speciellt för en host så kommer den att ladda
# "default"
touch /tftpboot/pxelinux.cfg/default
chmod 644 /tftpboot/pxelinux.cfg/default

# alla instanser av x.x.x.x ska ändras för att fungera med ditt nätverk
# i demonstrations syfte kommer jag att använda mig av 192.168.1.1

vi /tftpboot/pxelinux.cfg/default

# Standard att boota från lokal hårddisk.
default local

# timeout period, i 10 dels av en sekund (altså med detta alternativ 30s)
timeout 300

# 1 = visa meny, 0 = visa inte menu
prompt 1

# ###########################################
# Standard alternativet
label local
localboot 0

# ####
# Boot till ESXi 4.0
label ESX4i
kernel /image/esxi/4.0/mboot.c32
append vmkboot.gz --- vmkernel.gz --- sys.vgz --- cim.vgz ---
ienviron.tgz --- image.tgz --- install.tgz

# ####
# memtest86+
label memtest
kernel images/memtest/memtest86

EOL



Om allt går som det ska så ska du nu kunna installera ESXi över nätverket.

Inga kommentarer:

Skicka en kommentar