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:
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!