====== Kickstart ====== ===== Overview ===== Kickstart provides a means of rapid, unattended deployment of the OS. The process briefly consists of: * Server is booted using PXE (network boot) to syslinux provided by tftp.\\ * Desired image is selected from the menu screen presented to the user.\\ * OS is deployed to server.\\ * Post-installation script makes appropriate changes to configurations and installs any additional packages requried.\\ * Build is complete.\\ ===== Server Details ===== Kickstart is currently running on [[ops01|ops01]]. Files can be browsed at http://192.168.123.45/ks ===== Directory Structure ===== ^ Directory ^ Description ^ | /kickstart | Base directory for all Kickstart related files | | | | | /kickstart/**backup** | Contains backups and scripts | | /kickstart/**http** | All files published by http used by Kickstart clients | | /kickstart/**tftpboot** | PXE boot configs and files | | | | | /kickstart/**http**/cfg | Kickstart Configuration Files | | /kickstart/**http**/extra | Additional scripts and packages | | /kickstart/**http**/extra/scripts/ks_post_install | Post-install scripts | | /kickstart/**http**/os | Repo/OS/Packages used for deployment | | | | | /kickstart/**tftpboot**/isolinux| Kernel and initrd files | | /kickstart/**tftpboot**/msgs| Menus displayed once PXE is booted | | /kickstart/**tftpboot**/isolinux| Kernel and initrd files | | /kickstart/**tftpboot**/pxelinux.0| File used to boot syslinux PXE | | /kickstart/**tftpboot**/pxelinux.cfg| Names boot labels used for booting after syslinux phase | The following files are worthy of note: ^ File ^ Description ^ | /kickstart/http/extra/scripts/ks_post_install/config_server.sh | The main post-install script. Everything happens from here once the initial Kickstart build has completed and the OS is installed. | | /kickstart/http/extra/scripts/ks_post_install/mac.db | Used during post-build to match the MAC address of the server to apply the appropriate network settings. | | /kickstart/http/extra/scripts/ks_post_install/update_tar.sh | **IMPORTANT!!** If you make any changes to any files you MUST run this file to update the tar file the server retrieves to run all the post install scripts. | ===== Post Install Scripts ===== After using the *.ks kickstart file to configure the server, at the bottom of the ks file is a command to wget and extract http://KS_SERVER/ks/ks_post_install.tar to /root/ks_post_install. **config_server.sh** is run. This is the main file containing all directives which makes the following changes: \\**Note the variables at the top of the script.**\\ - Sets timezone to UTC - Syncs clock to internal NTP servers - Set modprobe aliases for bnx2 and be2net NICs - Set networking: - Hostname - IP Address, Netmask, Gateway - Disable IPv6 - Hosts file (and additional entries only for DB servers) - /etc/resolve.conf - Create NIC bonding for eth0/1 (bond0) (mode=1) - DB Only: create bond1 for eth2/3 (mode=0) - Disable uncessary services (chkconfig off) - Set permissions on some system dirs to tighten security - RGS servers only: set some RGS specific OS parameters - Create users and groups where applicable: wworks, nagios, gi-hpsim with consistent GIDs and UIDs - Set .ssh dir such as SSH keys for wworks, nagios - Configure server for LDAP authentication - Set sudoers file - Set PS1 prompt, using RED colour for root, green for non-root. (export PS1="\u@\h \$ ") - Tighten sshd security and disable remote root login. - Set login prompt (issue/banner) - Set boot resolution to 1024x768 - Configure exim - Set NTP sources - Configure local yum repo - Configure Spacewalk and register server - Configure Syslog to gi-log01 - For servers with HBA, add recommended QLogic/HP modprobe.conf kernel options - Configure multipath.conf with recommended HP parameters for EVA8400 or MSA P2000 G3 - DB Only: Retrieve and configure Oracle binaries, set some system parameters - DB Only: Setup keyless SSH for Oracle between DB servers - Install HP Support Pack RPMs - Set VCA config and passwords (HP Version Control Agent) to gi-sma01 - Configure SNMP and set traps to gi-sma01 (HP SIM) - Configure iLO: - Set/update iLO Name (also appears as Blade name in Onboard Administrator GUI) - Set/update iLO Hostname (gi-**__i__**) - Create/set usernames/passwords: gibtechops, uktechops, lvtechops - Set SNMP traps to point to gi-sma01 (HP SIM) - * Note: These run at first boot and you may lose access to iLO while it resets. - Write all logs and output to /root/kickstart_logs - Send email notification of server build