Download presentation
Presentation is loading. Please wait.
1
Serial Consoles in the age of IPMI
Alex Owen Particle Physics Research Centre Queen Mary University of London
2
Console Access: VT Who How What Power Clipboard VT220 Printer Switch
March 2014
3
Console Access: Conserver
Who How What Power Clipboard VT220 Printer Switch Syslog Conserver March 2014
4
Console Access: Conserver+iPDU
Who How What Power Clipboard VT220 Printer Switch Syslog Conserver iPDU March 2014
5
“Perfect” Serial Setup
DEMO Cyclades console server ssh Ctrl-P for power menu Cyclades iPDU's Logs on syslog server March 2014
6
Cyclades Screen Shot March 2014
7
Serial Console Setup Serial Console IPMI Console - BIOS
Bootloader (Grub) Kernel Getty March 2014
8
Serial Setup Grub Config Grub2 Config Kernel Arguments Getty Config
#/boot/grub/menu.lst timeout=5 serial --unit=1 –speed=115200 terminal --timeout=5 serial console Grub2 Config #/etc/default/grub GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --unit=1 -- speed= –word=8 --parity=no --stop=1" Kernel Arguments console=tty0 console=ttyS1,115200n8 Getty Config #/etc/inittab T1:23:respawn:/sbin/getty -L ttyS vt102 BIOS This varies! March 2014
9
The Age of IPMI Intelligent Platform Management Interface
Baseboard Management Controller (BMC) Out of band systems management and monitoring Network capable Standardised Insecure – need management LAN Setup varies (key point enable LAN interface!) March 2014
10
IPMI Serial Console Setup
IPMI Console - IPMI BIOS Bootloader (Grub) Kernel Getty March 2014
11
The Age of IPMI: Simple Commands!
ipmitool -I lanplus -U $user -P $pass -H $host sol activate ipmitool -I lanplus -U $user -P $pass -H $host power on ipmitool -I lanplus -U $user -P $pass -H $host power soft ipmitool -I lanplus -U $user -P $pass -H $host power off March 2014
12
Console Access: ipmitool
Who How What Power Clipboard VT220 Printer Switch Syslog Conserver iPDU - ipmitool March 2014
13
Buy a Solution Opengear ACM5508-2-I 8 port serial conosle server
Dual power supplies Management LAN port + DHCP Integrate with iPDU's or use IPMI Mentioned IPMI and ipmitool in marketing blurb Details ipmitool in documentation March 2014
14
Buy a Solution Opengear ACM5508-2-I Great bit of kit... BUT...
DOES NOT INTEGRATE IPMI Serial Over LAN March 2014
15
Build a Solution Requirements Permanent ipmi sol connection
Ability to disconnect and reconnect Permanent ipmi sol connection Logging of who and what Power control menu Toolbox GNU Screen / Tmux + ipmitool + glue March 2014
16
Build a Solution March 2014
17
Install Conlog Docs in init script: Prerequisites User/group Git clone
Copy + symlink Config file Init script Coming Soon for SL/CentOS ##### #Howto setup as system service running as conlog user ## Install pre-reqs # $SUDO apt-get install git tmux ## NB: bash 4 required for "declare -A" ## Create conlog user and group # $SUDO adduser --system --group --disabled-login --home /usr/local/share/conlog --gecos "ConLog User" conlog # $SUDO passwd -l conlog ## become conlog user # sudo -sH -u conlog ## as conlog user # cd # mkdir git # cd git # git clone # exit ## back as root install in /usr/local/bin/ # cd /usr/local/bin/ # $SUDO cp ~conlog/git/conlog/conlogd ./ # $SUDO ln -s conlogd conlog ## create config file: # cp ~conlog/git/conlogexample-conlogd.conf /etc/conlogd.conf ## edit /etc/conlogd.conf to local setup ## Add users to conlog group # $SUDO adduser user1 conlog # $SUDO adduser user1 conlog ## copy this init script to /etc/init.d/conlogd # chmod 755 and ## Link into boot process: # update-rc.d conlogd defaults ##### March 2014
18
Conlog Config File March 2014
####################### ## example config file ## /etc/conlogd.conf for system ## or ~/.conlogd.conf for user ####################### # NB: This is a bash script fragment which is sourced. # Take care when using what bash thinks are special characters! ##Override default variables if needed #ALT_CLIENT_NAME=ipmiconsole #CONLOGDSOCKET=/tmp/conlogd-socket #GROUP=staff ##Default vars restartsol #NORMALRESTARTPAUSE=4 #MINELAPSED=20 #GOODRUNTIME=$(( 12 * 60 * 60 )) # 12 hours # If you don't have DNS for ipmi clients but a formular/mapping from regular DNS # then implememt a getip function for example if the host IP is in DNS # as aaa.bbb.ccc.ddd and the bmc has IP ccc.ddd then: genip(){ #$1=hostname local output1 local output2 if output1="$(getent hosts $1)" >/dev/null 2>&1 ; then output2="${output1%% *}" echo " ${output2#*.*.}" else return 1 fi } # Now define hosts # IPMI host with generated/mapped IP conlog batman batman)" # IPMI host with dns entry for bmc conlog robin ### NOT YET IMPLEMENTED # Local KVM host #conlog zoro "qemu:///system" # Remote KVM host - conlog user needs ssh keys in place #conlog test # Serial console via a cyclade console server #conlog cyclades ####################### March 2014
19
Conlog Demo Lets hope this works! March 2014
20
Conlog Screenshots March 2014
21
Console Access: conlog
Who How What Power Clipboard VT220 Printer Switch Syslog Conserver iPDU - ipmitool Conlog March 2014
22
Build conlog appliance
MiraBox or DreamPlug MiraBox more Capable Dream Plug has more Debian support (right now) Chose DreamPlug March 2014
23
Demo Dreamplug USB Serial console Uboot
Flash Uboot (with debian version) Netboot debian installer JTAG (use openocd from debian testing) March 2014
24
Conclusions Serial Consoles are not dead
They have also evolved into IPMI consoles “ipmitool” is not “ipmisolution” Conlog aims towards being “ipmisolution” Dreamplug is a great platform for building your own conlog (or other) appliance Thanks for listening and patches welcome! March 2014
25
Resources https://github.com/raowen/conlog
March 2014
26
Extra Slides March 2014
27
In The Rack March 2014
28
Serial/RJ45 Adapters Opengear Cyclades March 2014
29
.Xresources *XTerm*VT100.translations: #override \n\ Shift<Key>F1: string(0x1b) string("1") \n\ Shift<Key>F2: string(0x1b) string("2") \n\ Shift<Key>F3: string(0x1b) string("3") \n\ Shift<Key>F4: string(0x1b) string("4") \n\ Shift<Key>F5: string(0x1b) string("5") \n\ Shift<Key>F6: string(0x1b) string("6") \n\ Shift<Key>F7: string(0x1b) string("7") \n\ Shift<Key>F8: string(0x1b) string("8") \n\ Shift<Key>F9: string(0x1b) string("9") \n\ Shift<Key>F10: string(0x1b) string("0") \n\ Shift<Key>F11: string(0x1b) string("!") \n\ Shift<Key>F12: string(0x1b) \n\ Ctrl<Key>F1: string(0x1b) string("OP") \n\ Ctrl<Key>F2: string(0x1b) string("OQ") \n\ Ctrl<Key>F3: string(0x1b) string("OR") \n\ Ctrl<Key>F4: string(0x1b) string("OS") \n\ Ctrl<Key>F5: string(0x1b) string("OT") \n\ Ctrl<Key>F6: string(0x1b) string("OU") \n\ Ctrl<Key>F7: string(0x1b) string("OV") \n\ Ctrl<Key>F8: string(0x1b) string("OW") \n\ Ctrl<Key>F9: string(0x1b) string("OX") \n\ Ctrl<Key>F10: string(0x1b) string("OY") \n\ Ctrl<Key>F11: string(0x1b) string("OZ") \n\ Ctrl<Key>F12: string("[BH") \n\ March 2014
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.