170 lines
5.7 KiB
Text
170 lines
5.7 KiB
Text
= Kickstart Infrastructure SOP
|
|
|
|
Kickstart scripts provide our install infrastructure. We have a plethora
|
|
of different kickstarts to best match the system you are trying to
|
|
install.
|
|
|
|
== Contact Information
|
|
|
|
Owner::
|
|
Fedora Infrastructure Team
|
|
Contact::
|
|
#fedora-admin, sysadmin-main
|
|
Location::
|
|
Everywhere we have machines.
|
|
Servers::
|
|
batcave01 (stores kickstarts and install media)
|
|
Purpose::
|
|
Provides our install infrastructure
|
|
|
|
== Introduction
|
|
|
|
Our kickstart infrastructure lives on _batcave01_. All install media and
|
|
kickstart scripts are located on _batcave01_. Because the RHEL binaries
|
|
are not public we have these bits blocked. You can add needed IPs to
|
|
(from _batcave01_):
|
|
|
|
....
|
|
ansible/roles/batcave/files/allows
|
|
....
|
|
|
|
== Physical Machine (kvm virthost)
|
|
|
|
[NOTE]
|
|
====
|
|
PXE Booting: If PXE booting just follow the prompt after doing the pxe boot (most
|
|
hosts will pxeboot via console hitting f12).
|
|
====
|
|
|
|
=== Prep
|
|
|
|
This only works on an already booted box, many boxes at our colocations
|
|
may have to be rebuilt by the people in those locations first. Also make
|
|
sure the IP you are about to boot to install from is allowed to our IP
|
|
restricted _infrastructure.fedoraproject.org_ as noted above (in
|
|
Introduction).
|
|
|
|
Download the vmlinuz and initrd images.
|
|
|
|
For a rhel6 install:
|
|
|
|
....
|
|
wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL6-x86_64/images/pxeboot/vmlinuz \
|
|
-O /boot/vmlinuz-install
|
|
wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL6-x86_64/images/pxeboot/initrd.img \
|
|
-O /boot/initrd-install.img
|
|
|
|
grubby --add-kernel=/boot/vmlinuz-install \
|
|
--args="ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-6-nohd \
|
|
repo=https://infrastructure.fedoraproject.org/repo/rhel/RHEL6-x86_64/ \
|
|
ksdevice=link ip=$IP gateway=$GATEWAY netmask=$NETMASK dns=$DNS" \
|
|
--title="install el6" --initrd=/boot/initrd-install.img
|
|
....
|
|
|
|
For a rhel7 install:
|
|
|
|
....
|
|
wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL7-x86_64/images/pxeboot/vmlinuz -O /boot/vmlinuz-install
|
|
wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL7-x86_64/images/pxeboot/initrd.img -O /boot/initrd-install.img
|
|
....
|
|
|
|
For iad2 hosts:
|
|
|
|
....
|
|
grubby --add-kernel=/boot/vmlinuz-install \
|
|
--args="ks=http://10.5.126.23/repo/rhel/ks/hardware-rhel-7-nohd \
|
|
repo=http://10.5.126.23/repo/rhel/RHEL7-x86_64/ \
|
|
net.ifnames=0 biosdevname=0 bridge=br0:eth0 ksdevice=br0 \
|
|
ip={{ br0_ip }}::{{ gw }}:{{ nm }}:{{ hostname }}:br0:none" \
|
|
--title="install el7" --initrd=/boot/initrd-install.img
|
|
....
|
|
|
|
(You will need to setup the br1 device if any after install)
|
|
|
|
For non iad2 hosts:
|
|
|
|
....
|
|
grubby --add-kernel=/boot/vmlinuz-install \
|
|
--args="ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-ext \
|
|
repo=https://infrastructure.fedoraproject.org/repo/rhel/RHEL7-x86_64/ \
|
|
net.ifnames=0 biosdevname=0 bridge=br0:eth0 ksdevice=br0 \
|
|
ip={{ br0_ip }}::{{ gw }}:{{ nm }}:{{ hostname }}:br0:none" \
|
|
--title="install el7" --initrd=/boot/initrd-install.img
|
|
....
|
|
|
|
Fill in the br0 ip, gateway, etc
|
|
|
|
The default here is to use the hardware-rhel-7-nohd config which
|
|
requires you to connect via VNC to the box and configure its drives. If
|
|
this is a new machine or you are fine with blowing everything away, you
|
|
can instead use
|
|
https://infrastructure.fedoraproject.org/rhel/ks/hardware-rhel-6-minimal
|
|
as your kickstart
|
|
|
|
If you know the number of hard drives the system has there are other
|
|
kickstarts which can be used.
|
|
|
|
2 disk system::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-02disk
|
|
or external::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-02disk-ext
|
|
4 disk system::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-04disk
|
|
or external::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-04disk-ext
|
|
6 disk system::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-06disk
|
|
or external::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-06disk-ext
|
|
8 disk system::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-08disk
|
|
or external::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-08disk-ext
|
|
10 disk system::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-10disk
|
|
or external::
|
|
ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-10disk-ext
|
|
|
|
Double and triple check your configuration settings (On RHEL-6
|
|
`cat /boot/grub/menu.lst` and on RHEL-7 `cat /boot/grub2/grub.cfg`),
|
|
especially your IP information. In places like ServerBeach not all hosts
|
|
have the same netmask or gateway. Once everything you are ready to run
|
|
the commands to get it set up to boot next boot.
|
|
|
|
RHEL-6:
|
|
|
|
....
|
|
echo "savedefault --default=0 --once" | grub --batch
|
|
shutdown -r now
|
|
....
|
|
|
|
RHEL-7:
|
|
|
|
....
|
|
grub2-reboot 0
|
|
shutdown -r now
|
|
....
|
|
|
|
=== Installation
|
|
|
|
Once the box logs you out, start pinging the IP address. It will
|
|
disappear and come back. Once you can ping it again, try to open up a
|
|
VNC session. It can take a couple of minutes after the box is back up
|
|
for it to actually allow vnc sessions. The VNC password is in the
|
|
kickstart script on _batcave01_:
|
|
|
|
....
|
|
grep vnc /mnt/fedora/app/fi-repo/rhel/ks/hardware-rhel-7-nohd
|
|
|
|
vncviewer $IP:1
|
|
....
|
|
|
|
If using the standard kickstart script, one can watch as the install
|
|
completes itself, there should be no need to do anything. If using the
|
|
hardware-rhel-6-nohd script, one will need to configure the drives. The
|
|
password is in the kickstart file in the kickstart repo.
|
|
|
|
=== Post Install
|
|
|
|
Run ansible on the box asap to set root passwords and other security
|
|
features. Don't leave a newly installed box sitting around.
|