postheadericon Kickstart für VMware ESX 4.0

Ein kleines How-To zur Kickstart-Installation eines ESX 4.0 Servers.

Da Anleitungen zur vollautomatisierten Installation von ESX Servern im Internet etwas rar sind, wollen wir mit dem folgenden Artikel demonstrieren, wie so etwas via PXELINUX und Kickstart funktionieren kann. Das Starten (Kicken) des ESX 4.0 Systems wird mittels BOOTP erfolgen, die Installation der eigentlichen Software erfolgt dann über HTTP. Es ist daher notwendig, diese Dienste im Installationsnetz zur Verfügung zu haben. Alternativ zu HTTP, ist die Softwareinstallation auch über NFS oder FTP möglich, dies wird hier jedoch nicht näher beschrieben. Eine Installation von ESX 3.5 Servern über dieses Setup sollte ebenso möglich sein.

1. Wir benötigen ein (ubuntu) Linux-System mit den nachfolgenden Software-Komponenten:

Die fiktive IP-Adresse des Linux Kickstart Systems ist 10.0.0.1

# apt-get install dhcp3-server
# apt-get install atftpd
# apt-get install syslinux
# apt-get install apache2-mpm-prefork

2. VMware ESX 4.0 iso Image ausgepackt im Filesystem

# mount -o loop esx-DVD-4.0.0-171294.iso /mnt/disk
# mkdir -p /tftpboot/esx4 ; cp -pr /mnt/disk /tftpboot/esx
# umount /mnt/disk

3. PXE-fähiges System, das wir über BOOTP kicken.

Die fiktive MAC-Adresse des zukünftigen ESX Systems ist 00:11:22:33:44:55, die IP-Adresse 10.0.0.2

# cat /etc/dhcp3/dhcpd.conf
group {
use-host-decl-names on;

next-server 10.0.0.1;
filename “pxelinux.0″;

host esx { hardware ethernet 00:11:22:33:44:55; }
}
# cat /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol     = udp
wait     = yes
user     = root
server   = /usr/sbin/in.tftpd
server_args = /tftpboot
per_source   = 11
cps = 100 2
flags    = IPv4
}

4. Konfiguration des Apache Webservers

Folgenden Eintrag in /etc/apache2/sites-enabled/000-default schreiben

<VirtualHost 10.0.0.1>
ServerName 10.0.0.1
DocumentRoot /tftpboot

<Directory /tftpboot/>
Options +Indexes
AllowOverride AuthConfig
order allow,deny
allow from all
</Directory>
CustomLog /var/log/apache2/tftpboot_access.log combined
ErrorLog /var/log/apache2/tftpboot_error.log

</VirtualHost>

5. Konfiguration von SYSLINUX bzw. pxelinux

# mkdir -p /tftpboot/pxelinux.cfg
# cp /usr/lib/syslinux/menu.c32 /tftpboot
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot
# cat /tftpboot/pxelinux.cfg/01-00-11-22-33-44-55
DEFAULT menu.c32
PROMPT 0
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW 24
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU TITLE VMware ESX
MENU AUTOBOOT Kickstart VMware ESX 4.0 in 5 seconds
LABEL esx4
MENU LABEL esx
MENU DEFAULT
TIMEOUT 50
KERNEL esx/isolinux/vmlinuz
APPEND initrd=esx/isolinux/initrd.img mem=512M ks=
http://10.0.0.1/esx/ks/esx-ks.cfg

6. Last but not least benötigen wir ein Kickstart-File für den neuen ESX Server.

Anbei eine Beispiel-kickstart-Datei, natürlich muss sie in jedem Einzelfall angepasst werden. Eine Beschreibung der möglichen Parameter und ihre Bedeutung findet sich unter http://www.vmware.com/files/de/pdf/vsp_40_esx_vc_installation_guide_de.pdf ab Seite 50 ff.

#  cat /tftpboot/esx/ks/esx-ks.cfg
accepteula
keyboard us
auth –enablemd5 –enableshadow
clearpart –overwritevmfs –drives=mpx.vmhba0:C0:T0:L0
install url
http://10.0.0.1/esx
rootpw –iscrypted <root password hash>
timezone –utc ‘Europe/Berlin’
network –addvmportgroup=true –device=vmnic0 –bootproto=static –ip=10.0.0.1 –netmask=255.255.255.0 –gateway=10.0.0.1 –nameserver=10.0.0.1 –hostname=esx
part ‘/boot’  –fstype=ext3 –size=1100  –ondisk=mpx.vmhba0:C0:T0:L0
part ‘none’  –fstype=vmkcore –size=110  –ondisk=mpx.vmhba0:C0:T0:L0
part ‘esx-local’  –fstype=vmfs3 –size=26029 –grow  –ondisk=mpx.vmhba0:C0:T0:L0
virtualdisk ‘esxconsole’ –size=25029 –onvmfs=’esx1-local1′
part ‘/’  –fstype=ext3 –size=15000 –maxsize=15000 –onvirtualdisk=’esxconsole’
part ‘swap’  –fstype=swap –size=1024 –maxsize=1024 –onvirtualdisk=’esxconsole’
part ‘/var’  –fstype=ext3 –size=8000 –maxsize=8000 –onvirtualdisk=’esxconsole’
part ‘/tmp’  –fstype=ext3 –size=1000 –maxsize=1000 –onvirtualdisk=’esxconsole’
reboot

Ich wünsche allgemein gutes Gelingen und viel Spaß!

1 Kommentar zu „Kickstart für VMware ESX 4.0“

Kommentieren