Obsah
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:
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
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
- hp-health - pro Debian Wheezy jsem použil http://downloads.linux.hp.com/SDR/downloads/ProLiantSupportPack/Debian/pool/non-free/hp-health_8.5.0.1.2-2_amd64.deb
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.
ILO na dedikovane sitovce
Intel AMT
- Manuály
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
-
- 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
- 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
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
/system console disable 0
/port set serial0 baud-rate=115200 data-bits=8 parity=none stop-bits=1
- Můžete zkusit
/port set serial0 baud-rate=auto
/system serial-terminal serial0
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.