Seriellkonsoll

Slik går man fram for å få seriell-konsoll på konsoll-prod01 for en Linux-maskin eksempelvis på USITs maskinrom, etter at maskinen er konfigurert på konsoll-prod01.uio.no (lagt til /etc/conserver.cf og conserver reloadet):

1   For RHEL7

Legg til rollen host_with_serial_console via bofh:

jbofh> host policy_add <maskinnavn> host_with_serial_console
Policy host_with_serial_console added to host <maskinnavn>.

CFEngine vil deretter fikse i løpet av en times tid.

Merk at CFEngine-koden er avhengig av å vite hvilke COM-port og baud-rate som skal benyttes for ulike servere eller klasser av servere. Dersom dette er en ny modell kan det tenkes av CFEngine-koden må oppdateres med korrekt informasjon.

1.1   Dell-servere

For Dell-servere blir Openmanage Server Administrator (OMSA) automatisk installert, men man må manuelt konfigurere BIOS og iDRAC som beskrevet i avsnittet om Dell-servere under.

2   For eldre OS (RHEL6)

2.1   Konfigurasjon av GRUB

GRUB står for Grand Unified Boot Loader, og er den vanligste bootloaderen på Linux for tiden. Vi bruker GRUB på alle Linux-maskiner på UiO.

Tips

Istedenfor å følge denne oppskriften kan du kjøre scriptet uio-config-serialconsole for RHEL6, som konfigurer filene /etc/grub.conf, /etc/inittab og /etc/securetty for deg.

Editer filen /etc/grub.conf:

  • I global section, legg til:

    serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
    terminal --timeout=10 --dumb serial
    
  • Og fjern eller kommenter ut følgende:

    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    
  • For kjerne-image som skal ha seriell-konsoll, legg til på slutten av linjen:

    console=tty0 console=ttyS0,9600n81
    
  • Og fjern evt. disse to kjerneparametrene:

    rhgb quiet
    

Her er et eksempel på /etc/grub.conf konfigurert for seriellkonsoll:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 --dumb serial
title Red Hat Enterprise Linux WS (2.6.9-11.ELsmp)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-11.ELsmp ro root=LABEL=/ console=tty0 console=ttyS0,9600n81
        initrd /boot/initrd-2.6.9-11.ELsmp.img
title Red Hat Enterprise Linux WS (2.6.9-11.EL)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ console=tty0 console=ttyS0,9600n81
        initrd /boot/initrd-2.6.9-11.EL.img

2.2   Annen nødvendig konfigurasjon

  • Legg ttyS0 til i /etc/securetty, slik at vi får logget på som root:

    # echo ttyS0 >>/etc/securetty
    
  • Legg til i /etc/inittab, slik at vi får prompt:

    # Serial terminal on ttyS0
    S0:12345:respawn:/sbin/agetty ttyS0 9600 vt100
    
  • Endre konfigurasjonen for kudzu til å kjøre i safe mode i filen /etc/sysconfig/kudzu:

    SAFE=yes
    

3   Seriellkonsoll på Dell PowerEdge med DRAC management-kort

Advarsel

Dette er veldig USIT-spesifikt...

På Dell PowerEdge med DRAC har vi muligheten til å bruke seriellkonsoll uten å bruke en fysisk kabel mot en seriell-switch eller tilsvarende. Vi konfiguerer RAC-kortet til å gjøre en intern kobling mellom seriellporten og kortet, og bruker telnet mot kortet for å få ut seriellkonsoll.

3.1   Installer Dell OpenManage (kun RHEL6)

Dell OMSA installeres slik:

# uio-config-dellserver

Notat

Dette gjøres av CFEngine for RHEL7.

3.2   Oppsett av BIOS

Man kan konfigurere BIOS vha. omreport. For å konfigurere en 2950 for BIOS til seriellkonsoll (som over) vha. omreport, gjør (cut'n'paste):

omconfig chassis biossetup attribute=serialcom setting=com2
omconfig chassis biossetup attribute=crab setting=disabled
omconfig chassis biossetup attribute=fbr setting=115200

Forsiktig!

For gamle Dell-servere, f.eks. 2650, 2850 og 2950, skal man bruke baudrate på 57600 istedenfor 115200.

For 10.generasjon blades (M610 m.m.):

omconfig chassis biossetup attribute=serialcom setting=onwithconsole
omconfig chassis biossetup attribute=crab setting=disabled
omconfig chassis biossetup attribute=fbr setting=115200
omconfig chassis biossetup attribute=serialportaddr setting=com1

Sjekk så at du har konfigurert riktig:

# omreport chassis biossetup

3.3   Konfigurer RAC-kortet

USIT har laget et script som gjør dette:

# uio-config-drac

3.4   Konfigurer for seriellkonsoll (kun RHEL6)

Konfigurasjon av /etc/grub.conf m.m. kan gjøres slik:

# uio-config-serialconsole --idrac

Finn ut hvilken opsjon som skal brukes med --help:

# uio-config-serialconsole --help
Usage: usit-config-serialconsole [OPTIONS...]

OPTIONS:
    -h, --help      This help text
    -a, --add       Add serial console config (default)
    -r, --remove    Remove serial console config
        --drac3     Configure for Dell PE2650 with DRAC3
        --drac4     Configure for Dell PE2850 with DRAC4
        --drac5     Configure for Dell PE2950 with DRAC5
        --bidrac    Configure for Dell M*** with iDRAC
        --idrac     Configure for Dell R*** with iDRAC
        --ilo       Configure for HP Proliant DL* with iLO
        --bilo      Configure for HP Proliant Blade BL* with iLO

Notat

Dette gjøres av CFEngine for RHEL7.

3.5   Konfigurer på konsollserver

Konfigurer så seriellkonsollet på konsoll-prod01.uio.no ved å editere /etc/conserver.cf med rcsed. Følgende skal legges inn:

console <maskinnavn> { include <XdracX>; <maskinnavn>-lc.uio.no; }

Erstatt <dracX> med drac5, drac4, idrac eller hva som enn er aktuelt.

Reload så conserver med service conserver reload.

4   Seriellkonsoll på HP ProLiant-maskiner med iLO management-kort

Advarsel

Dette er veldig USIT-spesifikt...

Sett maskinen opp med HPs management-verktøy. Det gjøres ved å kjøre et script uio-config-hpserver:

# uio-config-hpserver

Etter at scriptet er kjørt, konfigurer iLO-kortet. Det gjøres ved å kjøre et script uio-config-ilo:

# uio-config-ilo

For at uio-config-ilo skal fungere, må maskinens iLO-kort ha adresse i DNS, dvs. maskinnavn-lc.uio.no.

Dersom iLO-kortet har gammel firmware, bør denne oppgraderes. Sjekk firmware-versjon med hponcfg:

# hponcfg -g
Firmware Revision = 1.22 Device type = iLO 2 Driver name = cpqci
Host Information:
                        Server Name: maskin.uio.no
                        Server Number: 000000000

Dersom maskinen er av nyere dato, f.eks. siste modell fra HP, trenger man ikke konfigurere BIOS for seriellkonsoll. Dersom maskinen er en eldre generasjon, må BIOS konfigureres. Dette kan gjøres fra programmet hpasmcli:

# hpasmcli
HP management CLI for Linux (v1.0)
Copyright 2004 Hewlett-Packard Development Group, L.P.

--------------------------------------------------------------------------
NOTE: Some hpasmcli commands may not be supported on all Proliant servers.
      Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> set serial bios com2 115200
Successfully set BIOS serial port to COM2/115200.

Notat

Kun for RHEL6

Deretter må seriellkonsollet settes opp i Linux. Kjør følgende script:

# uio-config-serialconsole --ilo

Eksemplet over gjelder for normale (standalone) HP-maskiner. Dersom maskinen er et C-klasse blade, skal man gi opsjonen --bilo istedenfor, slik:

# usit-config-serialconsole --bilo

Konfigurer så seriellkonsollet på konsoll-prod01.uio.no ved å editere /etc/conserver.cf med rcsed. Følgende skal legges inn:

console <maskinnavn>  { include hpilo; host <maskinnavn>-lc.uio.no; }

Reload så conserver med service conserver reload.

Av Trond Hasle Amundsen
Publisert 5. okt. 2016 14:02 - Sist endret 5. okt. 2016 14:04