4.9 KiB
Basic Installation
Linux systems are installed using PXE and Kickstart. The Kickstart configuration is auto-generated base on the configuration stored in sysdb/bob.
!!! note When PXE boot is not an option, e.g. in restricted networks, it is possible to start iPXE from a USB stick or other media.
The general process for a installation is:
- (Hardware) Register the machine in Package-Fence: https://enter.psi.ch:1443 to give it access to the PSI network
- (Hardware Machine / static ip address) Register a static ip in https://qip.psi.ch/qip (or via request to the Network Team (via ServiceNow)) for the console
- Register and configure the system with sysdb
- Tell sysdb to perform an installation on the next boot
- Reboot the system and trigger a PXE boot (usually by pressing F12 during POST)
The default way to interact with sysdb is to use bob. bob is already set up on lxsup.psi.ch for general use. Remember that you need a valid Kerberos ticket before modifying a sysdb entry via bob.
As a first time user ensure that you are part of the group unx-puppet_usr for accssing lxsup.psi.ch and of the respective administrator group of your environment (third column in the output of bob env list -v).
Alternatively you many have on your workstation a local copy of bob. This can be done by installing the RPM from the pli-misc repository - https://repos.psi.ch/rhel8/latest/pli-misc/ or by installing the Python package manually. More details regarding bob can be found here.
Hardware/VM Requirements
For hardware based system please check the Hardware compatibility page for
In any case these are the minimal system requirements:
- RHEL8
- RAM: 4GB
- Harddisk: 33GB
- RHEL9
- RAM: 4GB
- Harddisk: 64GB
Sysdb Configuration
Add node to sysdb with the following command (replace the parameters in angle brackets with the actual values):
bob node add --environment <hiera_environment> --mac <mac_address> --install rhel9 --boot netboot <fqdn>
Optionally you can set additional attributes for the node, e.g. to configure a static IP address, to use hiera groups and sub-groups or to use a different puppet environment. All these attributes can also be passed as option to the bob node add command, but they can also be set afterwards with the following commands:
# static IP address (options: static, dhcp), only for RHEL7 and RHEL8
bob node set-attr $FQDN network=static
# if you want to use hiera groups and sub-groups
bob node set-attr $FQDN puppet_group=cluster
bob node set-attr $FQDN puppet_subgroup=compute
# use a different puppet environment
bob node set-attr $FQDN puppet_env=prod
Example
Minimal example:
bob node add --environment lx --mac 00:00:00:00:00:00 --install rhel9 --boot netboot test.psi.ch
# show the configuration
bob node list -v test.psi.ch
# start network boot on the machine
Special Settings
Custom Kernel Commandline Arguments
For custom kernel commandline arguments for the installer (e.g. to provide drivers) the sysdb attribute kernel_cmdline can be used:
bob node set-attr lx-test-02.psi.ch kernel_cmdline=inst.dd=https://linuxsoft.cern.ch/elrepo/dud/el8/x86_64/dd-megaraid_sas-07.725.01.00-1.el8_9.elrepo.iso
Custom/Fixed System Disk
By default the whole space available on the first block device is used and any existing partition is removed.
Alternatively you might set the sysdb attribute system_disk with the device name of the disk which should be used instead:
bob node set-attr $FQDN system_disk=md126
The ordering of disks (sda, sdb, ...) might sometimes not be stable.
To explicitly select the disk you might use one of the links below /dev/disk like
bob node set-attr $FQDN system_disk=disk/by-path/pci-0000:a1:00.0-ata-1
Custom Partitioning
Partitions system are configured with a standard schema using LVM, so that they can be possibly changed afterwards.
It is also possible to customize the partitioning by using the partitions attribute on sysdb. See https://gitea.psi.ch/linux/bob for more details.
BIOS / UEFI Boot
All systems should use UEFI boot for booting! BIOS based boot should only be used where UEFI is not an option.
UEFI
!!! note After the installation the boot order will be changed to localboot again! So if you reinstall make sure that you re-set the bootorder via the efi menu or the commandline: https://linux.die.net/man/8/efibootmgr
[root@lx-test-02 ~]# efibootmgr
BootCurrent: 0004
BootOrder: 0004,0002,0000,0001,0003
Boot0000* EFI Virtual disk (0.0)
Boot0001* EFI VMware Virtual SATA CDROM Drive (0.0)
Boot0002* EFI Network
Boot0003* EFI Internal Shell (Unsupported option)
Boot0004* Red Hat Enterprise Linux
[root@lx-test-02 ~]# efibootmgr --bootorder 2,4,0,1,3
(there is no need to have the leading 000 )