SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


Postranní lišta


Provozují SPOJE.NET.
Nejlepší internet v Praze.

howto:hosting:ipmi

Remote management

IPMI/SOL

Doporučené nastavení

  • Terminal type: VT100, zapnuta podpora VT-UTF8
  • Baudrate: 115200
  • data bits: 8
  • stop bits: 1
  • Redirect after BIOS post: always enable

Serial over Lan se detekuje v systemu jako dalsi seriova rozhrani za standardnim portem. Pokud tedy máte na desce zapojené dva COM porty, bude SOL v systému vystupovat jako ttyS2 a v grubu tedy jako --unit 2

Následující nastavení je potřeba provést v systému - tj. nastavujeme GRUB, Kernel a Getty a postupujeme stejně jako v případě Console Redirection

Pro připojení k SOL můžeme použít v linuxu příkaz ipmtool nebo využít java apletu, dodávaného výrobcem. Ja preferuju ipmtool:

USER
gandalf@sirius:~$ ipmitool -I lanplus -H adresa -U user -P heslo sol activate [SOL Session operational. Use ~? for help]

CentOS release 6.5 (Final) Kernel 2.6.32-042stab084.20 on an x86_64

aquila login:

-I lanplus definuje IPMI 2.0 sol. u jinych verzi je potreba použít jiného interfacu - viz. man ipmtool

U Supermicro serverů lze použít rovnou vestavěný ssh server. Po přihlašení na ssh spustíme SOL zadáním následujícího příkazu:

ATEN SMASH-CLP System Management Shell, version 1.04
Copyright (c) 2008-2009 by ATEN International CO., Ltd.
All Rights Reserved 
 
 
-> cd system1/sol1
/system1/sol1
 
-> start

SuperMicro iKVM

V současnosti používáme iKVM na serverech od Supermicra. Java konzole se spousti pres webove rozhrani

Je tam ovsem chyba a v 64bitovem systemu konzole nefunguje spravne. U 32bitoveho systemu tento problem neni. Pokud pouzivate 64bitovy system (problem jsem zjistil na mem Debian x64 systemu), je nutne po stisknuti tlacitka "launch" stahnout soubor launch.jnlp a tento oeditovat. Naleznete níže uvedenou sekci a přidejte tam řádky, zařinajicí property

launch.jnlp
  <resources os="Linux" arch="amd64">
    <nativelib href="liblinux_x86_64.jar" download="eager" version="1.0.3"/>
        <property name="jnlp.packEnabled" value="true"/>
        <property name="jnlp.versionEnabled" value="true"/>
  </resources>

Pokud problém najdete i v jiné verzi systému, stačí uvedené řádky překopírovat do uvedené sekce. Při každém novém přihlášení ale budete muset soubor stáhnout a editovat znova. Casem to snad bude upraveno v nove verzi FW.

Takto vypadá zobrazeni biosu přes IKVM v java apletu. Na obrazku je rovnou zobrazene potrebnme nastaveni pro funkcni Serial Over Lan - viz. dale.

smcipmitool

Zajimave taky vypada tenhle program… Je sice taky v jave, ale vypada zajimavejc a umi ovladat supermicro ipmi i pres prikazovy radek…

Přídavné PCI karty

ATEN IP8000

Tahle PCI karta za 5-6k kč dokaze pridat do pocitace IPMI… ATEN IP8000 user manual

aten_ip8000_2.jpg

IBM Remote Supervisor Adapter

Neco podobnyho od IBM, nevim jak je to s kompatibilitou a cenou: IBM_Remote_Supervisor_Adapter

HP ILO

Do linuxu je potreba nainstalovat driver pro IPMI/HP ILO. Driver je ke stazeni na adrese http://downloads.linux.hp.com/SDR/downloads/ProLiantSupportPack/Debian/pool/non-free Budeme potřebovat baličky

Před instalací je nutné nainstalovat knihovnu libc6-i386 32bitové sdílené knihovny pro AMD64.

apt-get install libc6-i386
dpkg -i hponcfg_3.1.0.0.18-11_amd64.deb hp-health_8.5.0.1.2-2_amd64.deb 

Následně pridame tyto moduly

/etc/modules
ipmi_devintf
ipmi_si

A ted jiz muzeme pouzivat prikaz ipmitool pro spravu ILO

root@ametyst:~# ipmitool bmc info
Device ID                 : 18
Device Revision           : 1
Firmware Revision         : 4.4
IPMI Version              : 2.0
Manufacturer ID           : 11
Manufacturer Name         : Hewlett-Packard
Product ID                : 0 (0x0000)
Product Name              : Unknown (0x0)
Device Available          : yes
Provides Device SDRs      : no
Additional Device Support :
    Sensor Device
    SDR Repository Device
    SEL Device
    FRU Inventory Device
    IPMB Event Receiver
    Bridge
    Chassis Device
Aux Firmware Rev Info     : 
    0x03
    0x01
    0x00
    0x00
root@ametyst:~# ipmitool lan print
Set in Progress         : Set Complete
Auth Type Support       : NONE MD5 PASSWORD 
Auth Type Enable        : Callback : NONE MD5 PASSWORD 
                        : User     : NONE MD5 PASSWORD 
                        : Operator : NONE MD5 PASSWORD 
                        : Admin    : NONE MD5 PASSWORD 
                        : OEM      : NONE MD5 PASSWORD 
IP Address Source       : Static Address
IP Address              : 10.11.23.23
Subnet Mask             : 255.255.255.192
MAC Address             : 18:a9:05:75:ae:3b
SNMP Community String   : public
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
Default Gateway IP      : 10.11.23.1
802.1q VLAN ID          : 1234
802.1q VLAN Priority    : 0
RMCP+ Cipher Suites     : 0,1,2,3
Cipher Suite Priv Max   : OOOOXXXXXXXXXXX
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM

ILO na sdilenych sitovkach

Pokud nemam na serveru dedikovany sitovy port pro ILO, nastavim v BIOSu volbu BMC NIC allocation na shared a nasledne provedu nastaveni dalsich parametru napr. pres impitool z linuxu po nabootovani: Na mem serveru bylo sdilene IPMI dle biosu na channel 02, takze nastaveni je nutne provadet takto:

ipmitool lan set 2 ipsrc static
ipmitool lan set 2 ipaddr 10.11.12.13
ipmitool lan set 2 netmask 255.255.255.0
ipmitool lan set 2 defgw ipaddr 10.11.12.1
ipmitool lan set 2 vlan id 1234
ipmitool user enable 3 #povolime uzivatele admin
ipmitool user set password 3 <PUT THE PASSWORD FOR USER#3 HERE>  #uzivateli admin nastavime heslo
ipmitool mc reset cold

a nasledne jeste provedeme pro jistotu restart restart, at vime jestli vse funguje jak ma.

POZOR: pokud u sdilenych sitovek bude ILO/IPMI fungovat jen pri nastaveni VLAN ID. Proto doporucuji pouzivat nejakou management vlanu.

ILO na dedikovane sitovce

FIXME

Intel AMT

FIXME

Nektery desky mají v setupu funkci "Enter AMTBx setup", která při dalším bootu zobrazí i setup AMTčka. Starší verze BIOSu AMT obsahovat nemusí, takže všechno může začít fungovat až po upgradu BIOSu… Stejne tak je možné, že AMT nebude v neoficiálních rebranded BIOSech, v takovém případě je vhodné přeflashovat takový BIOS oficiálním BIOSem z webu intelu.

  • Podporovany desky
    • neuplny seznam (vicemene jen ty, ktere fyzicky mame ve firme)
      • Desky s "vPro"
      • Desky s chipsetem Qxy (třeba Q45, nevím jestli úplně všechny, ale asi většina)
      • Některé ThinkPady
      • S3000AH
      • S3200SH
      • S3210SH

Používané porty

Dle /etc/services používá AMT následující porty (jak TCP, tak UDP)

služba port
amt-esd-prot 1082
amt 2268
amt-blc-port 2848
amt-cnf-prot 3054
amt-soap-http 16992
amt-soap-https 16993
amt-redir-tcp 16994
amt-redir-tls 16995

Web UI

  • Webove rozhraní je dostupné na následujících portech
    • 16992 (HTTP)
    • 16993 (HTTPS)
  • Kodovani je asi Windows CP 1250 a pri mejch pokusech se spatne detekovalo, ale moc to nevadi…

SOL a Klientský SW

  • Software
      • amtterm, gamt (pristup k SOL konzoli, TCP port 16994)
      • amttool (reboot, atd… vyuziva webovy rozhrani a SOAP)
      • Vetsinou lze predat heslo v promenne prostredi AMT_PASSWORD (pouzivani parametru -p bych se radeji vyhnul)
      • Po prihlaseni doporucuju prikaz export TERM=xterm
    • moduly do kernelu
      • ipmi_*, hlavne asi ipmi_si
        • seriovka je zrejme jen logicka, nebo nejaka chytrejsi, protoze mi fungovala bez ohledu na nastaveni baudrate
      • mei (tezko rict k cemu to je, asi pro nejakou jinou verzi???)
      • openamt (neni standartni soucasti kernelu, nejaky pridavny ovladace pro OS na stroji s AMT???)
amtterm
root@charon:~/# #export AMT_PASSWORD='NaseHeslo'
root@charon:~/# amtterm 10.11.1.1
AMT password for host 10.11.1.1: 
amtterm: NONE -> CONNECT (connection to host)
ipv4 10.11.1.1 [10.11.1.1] 16994 open
amtterm: CONNECT -> INIT (redirection initialization)
amtterm: INIT -> AUTH (session authentication)
amtterm: AUTH -> INIT_SOL (serial-over-lan initialization)
amtterm: INIT_SOL -> RUN_SOL (serial-over-lan active)
serial-over-lan redirection ok
connected now, use ^] to escape

Console redirection

BIOS

Použití Mikrotiku se sériovkou nebo USB portem ke správě redirectnutýho serveru:

Nastaveni BIOSu

  • BaudRate 115200 - nejvyssi spolecny pro vsechny zucastneny systemy (abysme nemuseli furt prepinat)
  • Legacy OS Redirection mi zpusobovalo zacykleni v rebootech, takze vypinam\
  • Terminal Type jsem nakonec dal na VT-UTF8

GRUB Legacy

FIXME - tohle momentalne nejak zlobi, chtelo by to znovu otestovat (ale v zasade doporucuju GRUB2…)

/boot/grub/menu.lst
serial --unit=0 ---speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=0 serial console
  • V Centosu s GRUB Legacy zda se neni vubec potreba. Staci zadat jako dalsi parametry pro kernel - napr. serial console=ttyS0,115200n8 console=tty0 a presmerovani fungovalo/

GRUB2

Existují 2 způsoby, jak zapnout sériovku. Jeden horší Debianí:

/etc/default/grub
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"

Ten má však zásadní nevýhodu v tom, že zároveň deaktivuje VGA výstup, což je poměrně nepraktické. Proto použijeme tuto lepší metodu:

/etc/grub.d/40_custom
serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1
terminal_input --append  serial
terminal_output --append serial
#set timeout=5
#play 480 440 1

Timeout jsem zakomentoval pac uz je v /etc/default/grub a play jsem zakomentoval, protoze podle dokumentace mam pocit, ze to jenom piska reprackem, tudiz to asi nebude mit zadnej vyznam. Dokumentace je pomerne obsahla: http://www.gnu.org/software/grub/manual/grub.html

Kernel

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="sysrq_always_enabled=1 fsck.repair=yes systemd.crash_shell=1 systemd.crash_reboot=1 console=ttyS0,115200 console=tty0"

(naopak parametr quiet jsem dal pryc…) polozek console muze byt v cmdline vic, ale ta posledni bude hlavni (tj. krome vypisu kernelu tam prijdou i hlasky initu, spousteni sluzeb atd, ale to neni problem upravit v grubu pokud se teda podari ho zprovoznit pres seriovku)

GETTY

Getty umí login screen zobrazit nejen na obrazovce, ale také na sériovce:

Debian

V inittabu jsem odkomentoval tohle (upravil jsem jen baudrate):

/etc/inittab
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
T1:23:respawn:/sbin/getty -L ttyS1 115200 vt100

Muze se to lisit distro od distra… Ale bez rebootu jsem to aktivoval prikazy init 3; init 2.

Taky overime, ze pozadovany porty jsou v securetty, jinak by nam pam mohl odmitnout root login… nevim jak jinde, ale na Debianu tam uz byly:

/etc/securetty
...
ttyS0
ttyS1
...
ttyUSB0

CentOS

/etc/init/ttyS0.conf
stop on runlevel [S016]
start on runlevel [23]
 
respawn
exec agetty -L /dev/ttyS0 115200 vt100

Systemd

Systemd si automaticky nacte konfiguraci z GRUBu. Pokud ovsem mate potrebu povolit konzoli manualne, muzete pouzit tohle:

systemctl start getty@ttyS0.service
systemctl enable getty@ttyS0.service

na bugovitejch systemech muze bejt potreba misto prikazu enable pouzit:

ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service

ScreenDump

Pokud si i tak pripadate dost odriznuty, tak doporucuju prikaz screendump, kterej dokaze odkudkoliv (vcetne SSH) zobrazit presne obsah libovolny virtualni konzole (defaultne VT 1).

Jak se ke konzoli pripojit

  • screen /dev/ttyUSB0 115200 - ukonci se ctrl-A K (+ potvrdime Y)
    • je mozne poslat break (na Linuxu aktivuje SysRq) pomoci ctrl-A ctrl-B.
      • napr. napoveda SysRq: ctrl-A ctrl-B h
      • pozor, xen ma break/sysrq premapovanej na ctrl-O
  • putty - GUI, ale v defaultnim nastaveni ma problemy (nefunguje treba F2 a dalsi klavesy)
  • MikroTik - Pristup na dalku pres IP jak pres SSH tak pres WinBox

Konzolový server

Na konzolový server postačí slabší/menší HW s Linuxem nebo MikroTikem. Tohle je ALIX.2 s Debianem a 12ti portovým hubem, částečně osazeným levnými čínskými USB↔RS232 převodníky.

console_server.jpg

howto/hosting/ipmi.txt · Poslední úprava: 2017/06/20 18:17 autor: harvie