Erinevus lehekülje "IPMI" redaktsioonide vahel

Allikas: Kuutõrvaja
(Uus lehekülg: ===Sissejuhatus=== Ipmi on lühend sõnast Intelligent Platform Management Interface Kujutab ta endast kasutajaliidese standartit mida kasutatakse management kaartidel/süsteemidel m...)
 
(Seadistus käsureal)
 
(ei näidata 4 kasutaja 55 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
  
Ipmi on lühend sõnast Intelligent Platform Management Interface
+
IPMI on lühend fraasist Intelligent Platform Management Interface.
Kujutab ta endast kasutajaliidese standartit mida kasutatakse
+
Kujutab ta endast operatsioonisüsteemist sõltumatut arvutisüsteemide haldamise liidest, mille spetsifikatsiooni on loonud Intel, HP, Dell ja NEC.[http://www.intel.com/design/servers/ipmi/spec.htm] IPMI kasutamist toetab enamik serveritootjaid.
management kaartidel/süsteemidel mida toodavad serverite tarbeks firmad nagu IBM, Dell, HP, Intel ja NEC.
+
IPMI võimaldab üle tavalise TCP/IP võrgu servereid sisse-välja lülitada, vaadelda riistvara seisundit ning erinevate andurite näite (temperatuur, ventilaatorite pöörlemiskiirused jms), ''serial over LAN'' (SOL) abil suhelda serveri konsooliga, jne. Lisaks defineerib IPMI võimaluse teavitada administraatorit riistvara vigadest SNMP protokolli abil. Paljudel serveritel on IPMI vaikimisi integreeritud, osadel juhtudel on võimalik IPMI kasutamine vastava lisakaardi abil.
IMPI võimaldab üle tcp/ip saada ette serveri konsooli, lülitada seda sisse ja välja, haakida
 
külge virtuaalseid meediafaile ja vaadata andurite näite. IPMI on realiseeritud
 
tavaliselt serveri lisakaardi abil, tarvilik on ka vastav emaplaat millel on ipmi toetus olemas.
 
  
 +
IPMI eelisteks on see,et ta on üsnagi hästi standardiseeritud ja töötab põhimõtteliselt kõigil tootjatel ühtemoodi. Konsool (mis IPMI puhul on serial-over-lan) võib eri IPMI versioonides olla erinevalt lahendatud, aga siiani on nad kõik siiski tööle saanud. Linuxis tuleb siis muidugi ka konsool serialporti suunata. IPMI tugev külg on eelkõige see, et häda korral saab üle SSH konsooli ja ipmitooli abil kätte nt rebooti vajava serveri suvalisest kohast ja ei pea mingite tootjaspetsiifiliste javajunnidega mässama.
  
Asjad mida IPMI 2.0 võimaldab on näiteks Virtual Media Over LAN, Dedicated LAN, KVM-Over-LAN
+
Üks tavaline IPMI toega halduskaart näeb välja selline
  
http://dpw.threerings.net/projects/ipmi-kmod/
+
[[Pilt:Supermicro aoc-ipmi20-e.jpg]]
  
http://gfs.wikidev.net/IPMI_Fencing
+
IPMI kontrolleriga suhtlemiseks on olemas mitmeid vabavaralisi vahendeid, nagu ipmitool[http://ipmitool.sourceforge.net/], ipmiutil[http://ipmiutil.sourceforge.net/] ja openipmi[http://openipmi.sourceforge.net/].
 +
Järgnevalt vaatame põgusalt IPMI kasutamist FreeBSD/Linux süsteemil ipmitool-i näitel.
  
IPMI 2.0 with Virtual Media Over LAN, Dedicated LAN, KVM-Over-LAN
+
===Paigaldus FreeBSD7 süsteemis===
  
 +
# cd /usr/ports/sysutils/ipmitool
 +
# make install clean
  
Ipmi võimaldab ligipääsu nii http,https kui ssh ja telneti vahendusel.
+
Seejärel võib anda käsu
Ipmi kontrolleri seadistuseks on olemas käsurea vahend nimega ipmitool
 
järgnevalt vaatame põgusalt lähemalt selle paigaldust FreeBSD/Linux süsteemile
 
ja mõningaid enimkasutatavaid käske.
 
  
 +
# kldload ipmi
  
===Install FreeBSD7 süsteemis===
+
Ipmi mooduli püsivaks laadimiseks rida faili /boot/loader.conf
  
  /usr/ports/sysutils/ipmitool
+
  ipmi_load="YES"
make install clean
 
  
Seejärel võib anda käsu
+
===Paigaldus Linuxile===
  
kldload ipmi
+
Enamike distributsioonide kernelis on juba IPMI tugi olemas, kui see mingil põhjusel puudub siis tuleb tuuma kompileerimisel menuconfigus defineerida järgnev
  
 +
Device Drivers  --->
 +
  Character devices  --->
 +
  <M> IPMI top-level message handler  --->
 +
    --- IPMI top-level message handler                                             
 +
    [ ]  Generate a panic event to all BMCs on a panic                                                       
 +
    <M>  Device interface for IPMI                                                                       
 +
    <M>  IPMI System Interface handler                                                                   
 +
    <M>  IPMI Watchdog Timer
 +
    <M>  IPMI Poweroff 
  
===Gentoo===
+
Ja loome ning paigaldame uued moodulid
  
Kernelisse tuleb kompileerida ipmi tugi ja seejärel laadida järgnevad moodulid
+
make && make modules_install         
  
modprobe ipmi_si,ipmi_devintf,ipmi_msghandler.
+
IPMI kasutamiseks laadida moodulid
  
Messages failis peaks nägema järgnevaid teateid
+
modprobe ipmi_msghandler
 +
modprobe ipmi_si
 +
modprobe ipmi_devintf
 +
 
 +
Kerneli teadete hulka peaksid ilmuma järgnevad read
  
 
  ipmi message handler version 39.2
 
  ipmi message handler version 39.2
48. rida: 59. rida:
 
  IPMI kcs interface initialized
 
  IPMI kcs interface initialized
  
 +
Moodulite automaatseks laadimiseks tuleb need lisada vastavasse faili.
  
Automaatseks laadimiseks tuleks nimetada moodulid failis
+
Gentoo:
  
  /etc/modules.autoload.d/kernel-2.6  
+
  /etc/modules.autoload.d/kernel-2.6
  
Ipmitooli installiks piisab käsust
+
Debian:
 +
/etc/modules
  
emerge ipmitool
+
Ipmitooli paigaldamine.
  
 +
Gentoo:
  
 +
# emerge ipmitool
  
===Debian===
+
Debian:
  
 +
# apt-get install ipmitool
  
Vaikimisi kernelis on impi moodulid loodud
+
Versiooni ja nime näeme
piisab kui anda käsud
 
 
 
modprobe ipmi_msghandler
 
modprobe ipmi_devintf
 
modprobe ipmi_si
 
 
 
Ja seejärel installida ipmitool
 
 
 
# apt-get install ipmitool
 
  
 +
# ipmitool mc info
 +
Device ID                : 32
 +
Device Revision          : 1
 +
Firmware Revision        : 0.62
 +
IPMI Version              : 2.0
 +
Manufacturer ID          : 343
 +
Manufacturer Name        : Intel Corporation
 +
Product ID                : 41 (0x0029)
 +
Product Name              : S5000PSL
 +
Device Available          : yes
 +
Provides Device SDRs      : no
 +
Additional Device Support :
 +
    Sensor Device
 +
    SDR Repository Device
 +
    SEL Device
 +
    FRU Inventory Device
 +
    IPMB Event Receiver
 +
    Chassis Device
 +
Aux Firmware Rev Info    :
 +
    0x00
 +
    0x42
 +
    0x00
 +
    0x03
  
 
===Seadistus käsureal===
 
===Seadistus käsureal===
  
Esimesena tuleks muuta vaikimisi olev
+
Esimesena tuleks muuta vaikimisi olev administraatori parool. Antud näites on administraatori kasutajanimeks Operator ja parooliks password.
administraatori kasutajanimi ning parool
 
Sageli on see näiteks Operator ja passord
 
  
 
Vaatame kasutajate nimekirja
 
Vaatame kasutajate nimekirja
87. rida: 115. rida:
 
  2  Operator        true    false      true      ADMINISTRATOR
 
  2  Operator        true    false      true      ADMINISTRATOR
  
Muudame kasutaja Operator konto parooli kes on administraatoriks
+
Muudame kasutaja Operator konto parooli
  
 
  # ipmitool user set password 2
 
  # ipmitool user set password 2
93. rida: 121. rida:
 
  Password for user 2:
 
  Password for user 2:
  
 +
Vahel on abiks kasutaja sisse lülitada
  
 +
# ipmitool user enable 2
  
Seejärel on enamasti vajalik seadistada ipmitoolile mingi ip aadress
+
Kiire admin kasutaja loomine (kanalisse 2 (esimene kaks viimasel real) luua kasutaja 2 (teine kaks viimasel real) privileegiga 4(admin) )
vaikimisi küsib ta seda dhcp abil. Olemasolevaid seadistusi saab vaadata käsuga  ipmitool lan print
 
  
 +
# ipmitool user set name 2 admin
 +
# ipmitool user enable 2
 +
# ipmitool user set password 2
 +
# ipmitool channel setaccess 2 2 link=on ipmi=on callin=on privilege=4
  
Seadistame ipmi ip aadressi, netmaski ning gateway
+
Enamasti hangib IPMI kontroller endale võrguaadressi DHCP abil. Olemasolevate võrguseadete vaatamine:
 
 
# ipmitool lan set 1 ipaddr 192.168.1.19
 
Setting LAN IP Address to 192.168.1.19
 
# ipmitool lan set 1 netmask 255.255.255.0
 
Setting LAN Subnet Mask to 255.255.255.0
 
# ipmitool lan set 1 arp respond on
 
Enabling BMC-generated ARP responses
 
# ipmitool lan set 1 arp generate on
 
Enabling BMC-generated Gratuitous ARPs
 
# ipmitool lan set 1 arp interval 5
 
BMC-generated Gratuitous ARP interval: 5.0 seconds
 
# ipmitool lan set 1 defgw ipaddr 192.168.1.1
 
Setting LAN Default Gateway IP to 192.168.1.1
 
 
 
Võrguseadete nägemiseks
 
  
 
  # ipmitool lan print
 
  # ipmitool lan print
145. rida: 163. rida:
 
                         :    O=OEM  
 
                         :    O=OEM  
  
Vaatame kontrolliks seadme hetkeseisu, st kas töötab ja vool küljes
+
Kui ei soovita DHCP kasutamist, siis tuleb kõigepealt muuta IP aadressi konfiguratsioon staatiliseks:
 +
 
 +
# ipmitool lan set 1 ipsrc static
 +
 
 +
Seejärel võib asuda võrguparameetrite seadmisele:
 +
 
 +
# ipmitool lan set 1 ipaddr 192.168.1.19
 +
# ipmitool lan set 1 netmask 255.255.255.0
 +
# ipmitool lan set 1 defgw ipaddr 192.168.1.1
 +
 
 +
Lubame haldusmoodulil ka ARP päringutele vastamise:
 +
 
 +
# ipmitool lan set 1 arp respond on
 +
# ipmitool lan set 1 arp generate on
 +
# ipmitool lan set 1 arp interval 5
 +
 
 +
Vaatame kontrolliks serveri hetkeseisu:
 +
 
 +
# ipmitool chassis status
 +
System Power        : on
 +
Power Overload      : false
 +
Power Interlock      : inactive
 +
Main Power Fault    : false
 +
Power Control Fault  : false
 +
Power Restore Policy : always-off
 +
Last Power Event    :
 +
Chassis Intrusion    : inactive
 +
Front-Panel Lockout  : inactive
 +
Drive Fault          : false
 +
Cooling/Fan Fault    : false
 +
Front Panel Control  : none
 +
 
 +
Tutvume sensorite infoga:
 +
 
 +
# ipmitool sdr
 +
CPU 0 Temp      | 36 degrees C      | ok
 +
CPU 1 Temp      | 39 degrees C      | ok
 +
Ambient Temp0    | 29 degrees C      | ok
 +
Ambient Temp1    | 35 degrees C      | ok
 +
Vcc 12V          | 12.40 Volts      | ok
 +
DDRP0 1.8V      | 1.83 Volts        | ok
 +
DDRP1 1.8V      | 1.83 Volts        | ok
 +
Vcc 3.3V        | 3.30 Volts        | ok
 +
Vcc 5V          | 5.08 Volts        | ok
 +
Vcc 3.3V STB    | 3.25 Volts        | ok
 +
Blower Fan 0    | 4194.40 RPM      | ok
 +
Blower Fan 1    | 4429.60 RPM      | ok
 +
Axial Fan 0      | 10579 RPM        | ok
 +
Axial Fan 1      | 10579 RPM        | ok
 +
Processor 0      | 0x00              | ok
 +
Processor 1      | 0x00              | ok
 +
 
 +
IPMI seadmega suhtlemisel saab kasutada erinevaid Cipher Suite'isid. Seadme juures on IPMI seadistustega määratud, millise šifrit kasutamist ühe või teise privieegiga kasutaja pöördumisel eeldatakse, tavaliselt vaikimisi nii
 +
 
 +
RMCP+ Cipher Suites    : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
 +
Cipher Suite Priv Max  : Xaaaaaaaaaaaaaa
 +
                        :    X=Cipher Suite Unused
 +
                        :    c=CALLBACK
 +
                        :    u=USER
 +
                        :    o=OPERATOR
 +
                        :    a=ADMIN
 +
                        :    O=OEM
 +
 
 +
kus
 +
 
 +
* 0,1,2 ... - šifrite nimekiri (0 - ilma krüptot, 1 - Auth-HMAC-SHA1; Int = None; Conf = None), .... vt man bmc-config
 +
 
 +
0 - Authentication Algorithm = None; Integrity Algorithm = None; Confidentiality Algorithm = None
 +
1 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm = None; Confidentiality Algorithm = None
 +
2 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm = HMAC-SHA1-96; Confidentiality Algorithm = None
 +
3 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm = HMAC-SHA1-96; Confidentiality Algorithm = AES-CBC-128
 +
...
 +
 
 +
* Xaaaaaaaaaaaaaa - šifri ja kasutaja privileegi vastavus (antud juhul ilma krüpota pöördumine on keelatud, kõigi muudega saab administaator ja temast madalama privileegiga kasutajad pöörduda)
 +
 
 +
===Kaughaldus ipmitooli abil===
 +
 
 +
Toimub käsuga
 +
 
 +
ipmitool -I lan -H HOST_IP_ADDRESS -U USERNAME -a IPMI_COMMAND
 +
 
 +
Näiteks
 +
 
 +
ipmitool -I lan -H 192.168.1.19 -U Operator -a chassis status
 +
 
 +
Restardi tegemiseks sobib käsk
 +
 
 +
ipmitool -I lan -H 10.40.4.14 -U admin -a power reset
 +
 
 +
Konsooli pilti näeb järgneva käsuga
 +
 
 +
ipmitool -I lanplus -H 192.168.1.19 -U Operator sol activate
 +
 
 +
Vähemalt ILO100 puhul näeb vaid bios'i ning loaderist
 +
edasise pildi vaatamiseks tuleb näiteks FreeBSD'd seadistada serialkonsool manualis juhendatud viisil
 +
http://www.freebsd.org/doc/en/books/handbook/serialconsole-setup.html või Gentoos http://www.gentoo-wiki.info/HOWTO_Linux_serial_console
 +
 
 +
Kui käsu peale teatatakse
 +
 
 +
IPMI v1.5 Serial Over Lan (ISOL) not supported!
 +
 
 +
Tuleb vastav featuur BIOSis lubada.
 +
 
 +
===Kaughaldus freeipmi abil===
 +
 
 +
iDrac seadistuste küsimiseks
 +
 
 +
# bmc-config -D LAN_2_0 -v -u root -p parool -h 10.1.200.50 --checkout | less
 +
 
 +
kus
 +
 
 +
* -D - protokoll
 +
 
 +
===Probleemid===
 +
 
 +
Probleemide korral võib proovida kontrollerile teha kas külm
 +
 
 +
# ipmitool mc reset cold
 +
Sent cold reset command to MC
 +
 
 +
Või kuumtaaskäivitust:
 +
 
 +
# ipmitool mc reset warm
 +
Sent warm reset command to MC
 +
 
 +
Kanaleid võib üritada otsida skriptiga
 +
 
 +
  # Channel
 +
  for i in $(seq 0 10); do
 +
    response=$(ipmitool lan print ${i} 2>/dev/null|grep "IP Address Source")
 +
    if [ "$response" ]; then echo "IPMI is on channel ${i}"; channel=$i; break; fi
 +
  done
 +
 
 +
FreeBSD's tuleb '''seq''' asemel kasutada '''jot 0 10'''
 +
 
 +
===IPMI Watchdog===
 +
 
 +
TODO
 +
 
 +
Valvekoera ülesanne seisneb teha masinale reboot kui see peaks kokku jooksma või muid rumalusi tegema.
 +
 
 +
Põhimõtteliselt on seadistatud IPMI kaardile teatud ajaga mahalugemine (countdown) nt 300 sekundit, mille
 +
möödudes masin teeb reboodi. Kuni aga deemon masinas töötab siis lükkab see näiteks iga 5 sekundi tagant
 +
mahalugemist taas nulli ehk tagasi 300 peale. Kui nüüd juhtub masin kinni jooksma ei saa deemon enam rebooti edasi lükatata, lugemine jookseb lõpuni ja serverile tehakse restart.
 +
 
 +
Linuxi kernelisse peab olema kompileeritud eelnevalt '''IPMI Watchdog Timer''' (vaata ülespoole kerneli seadistust).
 +
 
 +
Selleks, et vaadata watchdogi infot (antud juhul ei ole watchdog sisse lülitatud)
 +
 
 +
# ipmitool mc watchdog get
 +
Watchdog Timer Use:    Reserved (0x00)
 +
Watchdog Timer Is:      Stopped
 +
Watchdog Timer Actions: No action (0x00)
 +
Pre-timeout interval:  0 seconds
 +
Timer Expiration Flags: 0x00
 +
Initial Countdown:      0 sec
 +
Present Countdown:      0 sec
 +
 
 +
Sisselülitamiseks
 +
 
 +
# ipmitool mc watchdog on
 +
 
 +
Linuxis on deemoniks watchdogd
 +
 
 +
# watchdogd
 +
 
 +
Deemon ja IPMI suhtlevad omavahel  /dev/watchdog seadme kaudu.
 +
 
 +
FreeBSDs kasutamiseks tuleb paigaldada freeipmi pakett. Freeipmi paketist tuleb kaasa utiliit bmc-watchdog nimeline utiliit.
 +
 
 +
Setup a bmc-watchdog daemon that resets the machine after 15 minutes (900 seconds) if the OS has crashed (see default bmc-watchdog rc script /etc/init.d/bmc-watchdog for a more complete example):
 +
 
 +
# bmc-watchdog -d -u 4 -p 0 -a 1 -i 900
 +
 
 +
*-d, Run bmc-watchdog as a daemon.
 +
*-u INT, Set timer use. The timer use value can be set to one of the following: 1 = BIOS FRB2, 2 = BIOS POST, 3 = OS_LOAD, 4 = SMS OS, 5 = OEM.
 +
*-p INT, Set pre-timeout interrupt. The pre timeout interrupt can be set to one of the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messaging Interrupt.
 +
*-a INT, Set timeout action. The timeout action can be set to one of the following: 0 = No action, 1 = Hard Reset, 2 = Power Down, 3 = Power Cycle.
 +
*-i SECONDS, Set initial countdown in seconds.
 +
 
 +
Lingid:
 +
 
 +
*http://blog.bofh.it/id_125
 +
 
 +
*http://www.zomers.eu/knowledge/pfSense/Pages/Configure-pfSense-2.0-RC1-to-use-Watchdog-functionality.aspx
 +
 
 +
===FreeIPMI kasutamine===
 +
 
 +
FreeIPMI http://www.gnu.org/software/freeipmi/ tarkvara võimaldab sooritada praktiliselt samu tegevusi nagu IPMItool. Tarkvara paigaldamiseks sobib öelda nt
 +
 
 +
# apt-get install freeipmi-tools
 +
 
 +
Kõigi seadistuste salvestamiseks sobib öelda
 +
 
 +
# bmc-config --checkout > bmc-config.output.txt
 +
 
 +
Sektsioonide nimekirja küsimiseks
 +
 
 +
# bmc-config -L
 +
User1
 +
...
 +
User16
 +
Lan_Channel
 +
Lan_Conf
 +
Lan_Conf_Auth
 +
Lan_Conf_Security_Keys
 +
Lan_Conf_User_Security
 +
Lan_Conf_Misc
 +
Rmcpplus_Conf_Privilege
 +
Serial_Channel
 +
Serial_Conf
 +
SOL_Conf
 +
 
 +
Konkreetse sektsiooni seadistuste küsimiseks
 +
 
 +
# bmc-config -S Lan_Conf -o
 +
#
 +
# Section Lan_Conf Comments
 +
#
 +
# In the Lan_Conf section, typical networking configuration is setup. Most users
 +
# will choose to set "Static" for the "IP_Address_Source" and set the
 +
# appropriate "IP_Address", "MAC_Address", "Subnet_Mask", etc. for the machine.
 +
#
 +
Section Lan_Conf
 +
        ## Possible values: Unspecified/Static/Use_DHCP/Use_BIOS/Use_Others
 +
        IP_Address_Source                            Static
 +
        ## Give valid IP address
 +
        IP_Address                                    10.1.1.130
 +
        ## Give valid MAC address
 +
        MAC_Address                                  00:30:05:FC:9F:80
 +
        ## Give valid Subnet Mask
 +
        Subnet_Mask                                  255.255.255.0
 +
        ## Give valid IP address
 +
        Default_Gateway_IP_Address                    10.1.1.4
 +
EndSection
 +
 
 +
Parameetri väärtuse salvestamiseks, nt
  
  # ipmitool chassis power status
+
  # bmc-config --commit --key-pair="lan_conf:Subnet_Mask=255.255.255.0"
Chassis Power is on
 
  
edasi saab juba oma lemmik brauseriga pöörduda juba seadistatud ip suunas ning logida sisse
+
Tundub, et FreeIPMI puhul on selles mõttes mõnus seadistusi muuta, et saab küsida mõne sektsiooni kohta olemasoleva seadistuse, teha tekstis vajalikud muudatused ja laadida nad sisse
Kasutajaga Operator ja parooliga mis määrasite
 
  
 +
TODO
  
http://sources.redhat.com/cluster/wiki/IPMI_FencingConfig
+
===Kasulikud lisamaterjalid===
  
ipmitool -I lan -H HOST_IP_ADDRESS -U USERNAME -a channel info
+
* http://www.intel.com/design/servers/ipmi/
 +
* http://sources.redhat.com/cluster/wiki/IPMI_FencingConfig
 +
* http://dpw.threerings.net/projects/ipmi-kmod/
 +
* http://gfs.wikidev.net/IPMI_Fencing
 +
* http://wiki.adamsweet.org/doku.php?id=ipmi_on_linux
 +
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaai/ipmi/BPipmi.pdf
 +
* http://en.wikipedia.org/wiki/Out-of-band_management
 +
* http://securfox.wordpress.com/2009/10/01/howto-setup-ipmi-under-linux-rhel-centos-5/
 +
* http://openipmi.sourceforge.net/

Viimane redaktsioon: 19. jaanuar 2018, kell 04:25

Sissejuhatus

IPMI on lühend fraasist Intelligent Platform Management Interface. Kujutab ta endast operatsioonisüsteemist sõltumatut arvutisüsteemide haldamise liidest, mille spetsifikatsiooni on loonud Intel, HP, Dell ja NEC.[1] IPMI kasutamist toetab enamik serveritootjaid. IPMI võimaldab üle tavalise TCP/IP võrgu servereid sisse-välja lülitada, vaadelda riistvara seisundit ning erinevate andurite näite (temperatuur, ventilaatorite pöörlemiskiirused jms), serial over LAN (SOL) abil suhelda serveri konsooliga, jne. Lisaks defineerib IPMI võimaluse teavitada administraatorit riistvara vigadest SNMP protokolli abil. Paljudel serveritel on IPMI vaikimisi integreeritud, osadel juhtudel on võimalik IPMI kasutamine vastava lisakaardi abil.

IPMI eelisteks on see,et ta on üsnagi hästi standardiseeritud ja töötab põhimõtteliselt kõigil tootjatel ühtemoodi. Konsool (mis IPMI puhul on serial-over-lan) võib eri IPMI versioonides olla erinevalt lahendatud, aga siiani on nad kõik siiski tööle saanud. Linuxis tuleb siis muidugi ka konsool serialporti suunata. IPMI tugev külg on eelkõige see, et häda korral saab üle SSH konsooli ja ipmitooli abil kätte nt rebooti vajava serveri suvalisest kohast ja ei pea mingite tootjaspetsiifiliste javajunnidega mässama.

Üks tavaline IPMI toega halduskaart näeb välja selline

Supermicro aoc-ipmi20-e.jpg

IPMI kontrolleriga suhtlemiseks on olemas mitmeid vabavaralisi vahendeid, nagu ipmitool[2], ipmiutil[3] ja openipmi[4]. Järgnevalt vaatame põgusalt IPMI kasutamist FreeBSD/Linux süsteemil ipmitool-i näitel.

Paigaldus FreeBSD7 süsteemis

# cd /usr/ports/sysutils/ipmitool
# make install clean

Seejärel võib anda käsu

# kldload ipmi

Ipmi mooduli püsivaks laadimiseks rida faili /boot/loader.conf

ipmi_load="YES"

Paigaldus Linuxile

Enamike distributsioonide kernelis on juba IPMI tugi olemas, kui see mingil põhjusel puudub siis tuleb tuuma kompileerimisel menuconfigus defineerida järgnev

Device Drivers  --->
 Character devices  --->
  <M> IPMI top-level message handler  ---> 
   --- IPMI top-level message handler                                              
   [ ]   Generate a panic event to all BMCs on a panic                                                         
   <M>   Device interface for IPMI                                                                        
   <M>   IPMI System Interface handler                                                                     
   <M>   IPMI Watchdog Timer
   <M>   IPMI Poweroff   

Ja loome ning paigaldame uued moodulid

make && make modules_install          

IPMI kasutamiseks laadida moodulid

modprobe ipmi_msghandler
modprobe ipmi_si
modprobe ipmi_devintf 

Kerneli teadete hulka peaksid ilmuma järgnevad read

ipmi message handler version 39.2
IPMI System Interface driver.
ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca2, slave address 0x20, irq 0
ipmi: Found new BMC (man_id: 0x000157,  prod_id: 0x0029, dev_id: 0x20)
IPMI kcs interface initialized

Moodulite automaatseks laadimiseks tuleb need lisada vastavasse faili.

Gentoo:

/etc/modules.autoload.d/kernel-2.6

Debian:

/etc/modules

Ipmitooli paigaldamine.

Gentoo:

# emerge ipmitool

Debian:

# apt-get install ipmitool

Versiooni ja nime näeme

# ipmitool mc info
Device ID                 : 32
Device Revision           : 1
Firmware Revision         : 0.62
IPMI Version              : 2.0
Manufacturer ID           : 343
Manufacturer Name         : Intel Corporation
Product ID                : 41 (0x0029)
Product Name              : S5000PSL
Device Available          : yes
Provides Device SDRs      : no
Additional Device Support :
    Sensor Device
    SDR Repository Device
    SEL Device
    FRU Inventory Device
    IPMB Event Receiver
    Chassis Device
Aux Firmware Rev Info     : 
    0x00
    0x42
    0x00
    0x03

Seadistus käsureal

Esimesena tuleks muuta vaikimisi olev administraatori parool. Antud näites on administraatori kasutajanimeks Operator ja parooliks password.

Vaatame kasutajate nimekirja

# ipmitool user list
ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
1                    true    false      true       NO ACCESS
2   Operator         true    false      true       ADMINISTRATOR

Muudame kasutaja Operator konto parooli

# ipmitool user set password 2
Password for user 2:
Password for user 2:

Vahel on abiks kasutaja sisse lülitada

# ipmitool user enable 2

Kiire admin kasutaja loomine (kanalisse 2 (esimene kaks viimasel real) luua kasutaja 2 (teine kaks viimasel real) privileegiga 4(admin) )

# ipmitool user set name 2 admin
# ipmitool user enable 2
# ipmitool user set password 2
# ipmitool channel setaccess 2 2 link=on ipmi=on callin=on privilege=4

Enamasti hangib IPMI kontroller endale võrguaadressi DHCP abil. Olemasolevate võrguseadete vaatamine:

# ipmitool lan print
Set in Progress         : Set Complete
Auth Type Support       : NONE MD2 MD5 PASSWORD
Auth Type Enable        : Callback : NONE MD2 MD5 PASSWORD
                        : User     : NONE MD2 MD5 PASSWORD
                        : Operator : NONE MD2 MD5 PASSWORD
                        : Admin    : NONE MD2 MD5 PASSWORD
                        : OEM      : NONE MD2 MD5 PASSWORD
IP Address Source       : DHCP Address
IP Address              : 192.168.1.19
Subnet Mask             : 255.255.255.0
MAC Address             : 00:e0:81:b0:9c:e3
SNMP Community String   : public
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 2.0 seconds
Default Gateway IP      : 192.168.1.1
Default Gateway MAC     : 00:00:00:00:00:00
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
RMCP+ Cipher Suites     : 0,1,2,3,6,7,8,11,12
Cipher Suite Priv Max   : aaaaaaaaaaaaaaa
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM 

Kui ei soovita DHCP kasutamist, siis tuleb kõigepealt muuta IP aadressi konfiguratsioon staatiliseks:

# ipmitool lan set 1 ipsrc static

Seejärel võib asuda võrguparameetrite seadmisele:

# ipmitool lan set 1 ipaddr 192.168.1.19
# ipmitool lan set 1 netmask 255.255.255.0
# ipmitool lan set 1 defgw ipaddr 192.168.1.1

Lubame haldusmoodulil ka ARP päringutele vastamise:

# ipmitool lan set 1 arp respond on
# ipmitool lan set 1 arp generate on
# ipmitool lan set 1 arp interval 5

Vaatame kontrolliks serveri hetkeseisu:

# ipmitool chassis status
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : always-off
Last Power Event     : 
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false
Front Panel Control  : none

Tutvume sensorite infoga:

# ipmitool sdr
CPU 0 Temp       | 36 degrees C      | ok
CPU 1 Temp       | 39 degrees C      | ok
Ambient Temp0    | 29 degrees C      | ok
Ambient Temp1    | 35 degrees C      | ok
Vcc 12V          | 12.40 Volts       | ok
DDRP0 1.8V       | 1.83 Volts        | ok
DDRP1 1.8V       | 1.83 Volts        | ok
Vcc 3.3V         | 3.30 Volts        | ok
Vcc 5V           | 5.08 Volts        | ok
Vcc 3.3V STB     | 3.25 Volts        | ok
Blower Fan 0     | 4194.40 RPM       | ok
Blower Fan 1     | 4429.60 RPM       | ok
Axial Fan 0      | 10579 RPM         | ok
Axial Fan 1      | 10579 RPM         | ok
Processor 0      | 0x00              | ok
Processor 1      | 0x00              | ok

IPMI seadmega suhtlemisel saab kasutada erinevaid Cipher Suite'isid. Seadme juures on IPMI seadistustega määratud, millise šifrit kasutamist ühe või teise privieegiga kasutaja pöördumisel eeldatakse, tavaliselt vaikimisi nii

RMCP+ Cipher Suites     : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
Cipher Suite Priv Max   : Xaaaaaaaaaaaaaa
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM

kus

  • 0,1,2 ... - šifrite nimekiri (0 - ilma krüptot, 1 - Auth-HMAC-SHA1; Int = None; Conf = None), .... vt man bmc-config
0 - Authentication Algorithm = None; Integrity Algorithm = None; Confidentiality Algorithm = None
1 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm = None; Confidentiality Algorithm = None
2 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm = HMAC-SHA1-96; Confidentiality Algorithm = None
3 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm = HMAC-SHA1-96; Confidentiality Algorithm = AES-CBC-128
...
  • Xaaaaaaaaaaaaaa - šifri ja kasutaja privileegi vastavus (antud juhul ilma krüpota pöördumine on keelatud, kõigi muudega saab administaator ja temast madalama privileegiga kasutajad pöörduda)

Kaughaldus ipmitooli abil

Toimub käsuga

ipmitool -I lan -H HOST_IP_ADDRESS -U USERNAME -a IPMI_COMMAND

Näiteks

ipmitool -I lan -H 192.168.1.19 -U Operator -a chassis status

Restardi tegemiseks sobib käsk

ipmitool -I lan -H 10.40.4.14 -U admin -a power reset

Konsooli pilti näeb järgneva käsuga

ipmitool -I lanplus -H 192.168.1.19 -U Operator sol activate

Vähemalt ILO100 puhul näeb vaid bios'i ning loaderist edasise pildi vaatamiseks tuleb näiteks FreeBSD'd seadistada serialkonsool manualis juhendatud viisil http://www.freebsd.org/doc/en/books/handbook/serialconsole-setup.html või Gentoos http://www.gentoo-wiki.info/HOWTO_Linux_serial_console

Kui käsu peale teatatakse

IPMI v1.5 Serial Over Lan (ISOL) not supported!

Tuleb vastav featuur BIOSis lubada.

Kaughaldus freeipmi abil

iDrac seadistuste küsimiseks

# bmc-config -D LAN_2_0 -v -u root -p parool -h 10.1.200.50 --checkout | less

kus

  • -D - protokoll

Probleemid

Probleemide korral võib proovida kontrollerile teha kas külm

# ipmitool mc reset cold
Sent cold reset command to MC

Või kuumtaaskäivitust:

# ipmitool mc reset warm
Sent warm reset command to MC

Kanaleid võib üritada otsida skriptiga

 # Channel
 for i in $(seq 0 10); do
   response=$(ipmitool lan print ${i} 2>/dev/null|grep "IP Address Source")
    if [ "$response" ]; then echo "IPMI is on channel ${i}"; channel=$i; break; fi
 done

FreeBSD's tuleb seq asemel kasutada jot 0 10

IPMI Watchdog

TODO

Valvekoera ülesanne seisneb teha masinale reboot kui see peaks kokku jooksma või muid rumalusi tegema.

Põhimõtteliselt on seadistatud IPMI kaardile teatud ajaga mahalugemine (countdown) nt 300 sekundit, mille möödudes masin teeb reboodi. Kuni aga deemon masinas töötab siis lükkab see näiteks iga 5 sekundi tagant mahalugemist taas nulli ehk tagasi 300 peale. Kui nüüd juhtub masin kinni jooksma ei saa deemon enam rebooti edasi lükatata, lugemine jookseb lõpuni ja serverile tehakse restart.

Linuxi kernelisse peab olema kompileeritud eelnevalt IPMI Watchdog Timer (vaata ülespoole kerneli seadistust).

Selleks, et vaadata watchdogi infot (antud juhul ei ole watchdog sisse lülitatud)

# ipmitool mc watchdog get
Watchdog Timer Use:     Reserved (0x00)
Watchdog Timer Is:      Stopped
Watchdog Timer Actions: No action (0x00)
Pre-timeout interval:   0 seconds
Timer Expiration Flags: 0x00
Initial Countdown:      0 sec
Present Countdown:      0 sec

Sisselülitamiseks

# ipmitool mc watchdog on

Linuxis on deemoniks watchdogd

# watchdogd

Deemon ja IPMI suhtlevad omavahel /dev/watchdog seadme kaudu.

FreeBSDs kasutamiseks tuleb paigaldada freeipmi pakett. Freeipmi paketist tuleb kaasa utiliit bmc-watchdog nimeline utiliit.

Setup a bmc-watchdog daemon that resets the machine after 15 minutes (900 seconds) if the OS has crashed (see default bmc-watchdog rc script /etc/init.d/bmc-watchdog for a more complete example):

# bmc-watchdog -d -u 4 -p 0 -a 1 -i 900
  • -d, Run bmc-watchdog as a daemon.
  • -u INT, Set timer use. The timer use value can be set to one of the following: 1 = BIOS FRB2, 2 = BIOS POST, 3 = OS_LOAD, 4 = SMS OS, 5 = OEM.
  • -p INT, Set pre-timeout interrupt. The pre timeout interrupt can be set to one of the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messaging Interrupt.
  • -a INT, Set timeout action. The timeout action can be set to one of the following: 0 = No action, 1 = Hard Reset, 2 = Power Down, 3 = Power Cycle.
  • -i SECONDS, Set initial countdown in seconds.

Lingid:

FreeIPMI kasutamine

FreeIPMI http://www.gnu.org/software/freeipmi/ tarkvara võimaldab sooritada praktiliselt samu tegevusi nagu IPMItool. Tarkvara paigaldamiseks sobib öelda nt

# apt-get install freeipmi-tools

Kõigi seadistuste salvestamiseks sobib öelda

# bmc-config --checkout > bmc-config.output.txt

Sektsioonide nimekirja küsimiseks

# bmc-config -L
User1
...
User16
Lan_Channel
Lan_Conf
Lan_Conf_Auth
Lan_Conf_Security_Keys
Lan_Conf_User_Security
Lan_Conf_Misc
Rmcpplus_Conf_Privilege
Serial_Channel
Serial_Conf
SOL_Conf

Konkreetse sektsiooni seadistuste küsimiseks

# bmc-config -S Lan_Conf -o
#
# Section Lan_Conf Comments 
#
# In the Lan_Conf section, typical networking configuration is setup. Most users 
# will choose to set "Static" for the "IP_Address_Source" and set the 
# appropriate "IP_Address", "MAC_Address", "Subnet_Mask", etc. for the machine. 
#
Section Lan_Conf
       ## Possible values: Unspecified/Static/Use_DHCP/Use_BIOS/Use_Others
       IP_Address_Source                             Static
       ## Give valid IP address
       IP_Address                                    10.1.1.130
       ## Give valid MAC address
       MAC_Address                                   00:30:05:FC:9F:80
       ## Give valid Subnet Mask
       Subnet_Mask                                   255.255.255.0
       ## Give valid IP address
       Default_Gateway_IP_Address                    10.1.1.4
EndSection

Parameetri väärtuse salvestamiseks, nt

# bmc-config --commit --key-pair="lan_conf:Subnet_Mask=255.255.255.0"

Tundub, et FreeIPMI puhul on selles mõttes mõnus seadistusi muuta, et saab küsida mõne sektsiooni kohta olemasoleva seadistuse, teha tekstis vajalikud muudatused ja laadida nad sisse

TODO

Kasulikud lisamaterjalid