PXE boot notes (storage test platform)

At work I’ve recently had the task of setting up a performance test platform for a storage project. Without going into vast amounts of detail of the hardware, the physical environment was a $VENDOR1 clustered & replicated storage platform split across two locations with identical systems at either end; in conjunction with a blade system from $VENDOR2.

Conveniently, with help from colleagues in our network team, the whole system was put into private (RFC1918) network space with a number of VLANs for different tasks. The VLANs spanned both locations.

One blade was provisioned as a VMware ESXi host with a couple of CentOS7 virtual machines on it. One of these VMs was setup as a DHCP, TFTP, web and management server to run performance testing applications across the subsequent test platform.

This post is my notes – a HOWTO, if you like – on the setup of the platform.


Firstly, a very ‘skinny’ CentOS 7 install was put on the VM using a mounted ISO image from my local machine (CentOS-7-x86_64-Minimal). I booted it to the bootloader, interrupted the boot process and told it to use a Kickstart configuration on a local webserver:

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Don't run the Setup Agent on first boot
firstboot --disable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=gb --xlayouts='gb'
# System language
lang en_GB.UTF-8

# Network information
network --bootproto=static --device=eth0 --gateway=10.30.110.1 --ip=10.30.110.40 --nameserver=[LIST_REMOVED] --netmask=255.255.255.0 --noipv6 --activate
network --hostname=perf-mgmt

# Root password
rootpw --iscrypted [SHA_REMOVED]
# System timezone
timezone Europe/London --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.547 --fstype="lvmpv" --ondisk=sda --size=101899
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.547
logvol swap --fstype="swap" --size=32768 --name=swap --vgname=centos
logvol / --fstype="xfs" --size=69127 --name=root --vgname=centos

%packages
@^minimal
@core
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

All reasonably default so far. That file was put on a local webserver, accessible to the new VM, which was told to load it from the bootloader by adding the following options to the appropriate line thus:

inst.ks=http://webserver/ks.cfg ip=10.30.110.40::10.30.110.1:255.255.255.0:perf-mgmt:eth0:none

Once it had installed and booted, useful packages were then installed using yum:

dhcp
httpd
xinetd
tftp-server
ntp
ntpdate
mlocate
tcpdump
wget
curl
rsync
[group] Development Tools

…and a few other bits & pieces.

Now we get on to the really meaty bit: turning this into a DHCP, TFTP and webserver that can build all the other blades without user interaction. See the next post!

Advertisements

2 comments

  1. Pingback: PXE boot notes (part 2, DHCP) « Random Ramblings

  2. Pingback: PXE boot notes (part 5, kickstart config) « Random Ramblings


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s