がらくたネット


IPMI

IPMI

IPMIとはIntelligent Platform Management Interface (IPMI)を利用したプラットホーム情報へのアクセスを実現するインターフェースのこと

  • BIOSで基本設定するものが多い

というか、ハードウェアで実装されている

  • OSとは切り離されて提供される
  • IPMIからはハード制御や電源制御、BIOS画面制御などが可能なデバイスがある
  • LANインターフェースを有している
  • 認証情報はIPMIが有している
  • IPMI対応デバイスが必要…(当然か)
  • IPMBとはIntelligent Platform Management Bus
  • ICMBとはIntelligent Chassis Management Bus
  • BMCとはBaseboard Management Controller
  • SOLとはSirial Over Lan
  • SELとはSystem Event Log
  • FRUとはField Replaceable Unit
  • SDRとはSensor Data Recoder
  • DELLではDRAC(Dell Remote Access Controller)で実装
  • HPではiLO(Integrated Lights Out)で実装

バージョンとか

IPMI v1.5lan
IPMI V2.0lanplusSOL機能が搭載

種類?

OpenIPMIとFreeIPMIがある

OpenIPMI プロジェクトページ

/etc/rc.d/init.d/ipmi
/etc/sysconfig/ipmi
/usr/bin/ipmi_ui
/usr/bin/ipmicmd
/usr/bin/ipmilan
/usr/bin/ipmish
/usr/bin/openipmicmd
/usr/bin/openipmish
/usr/bin/solterm

OpenIPMI-tools

/usr/bin/ipmitool
/usr/sbin/ipmievd

FreeIPMI プロジェクトページ

  • IPMIを利用するためのツール集
  • SSIFドライバ(/dec/i2c)、OpenIPMIドライバ(/dev/ipmi0)、BMCドライバ(/dev/bmc)から読み取る

|freeipmi.conf||

bmc-info
bmc-watchdog
ipmi-chassis
ipmi-rfu
ipmi-sel
ipmi-sensors
ipmipower
ipmiconsole
ipmi-raw
ipmi-locate
ipmimonitoring
pef-config
ipmi-chassis-config
ipmi-sensors-config
bmc-device
ipmiping
rmcpping
ipmi-oem
ipmidetect/ipmidetectd

sensor

Linuxには標準でsensorコマンドがある

[root@ ~]# sensors
w83627thf-isa-0290
Adapter: ISA adapter
VCore:     +1.28 V  (min =  +1.94 V, max =  +0.73 V)       ALARM
+12V:     +12.28 V  (min = +10.82 V, max = +13.19 V)
+3.3V:     +1.78 V  (min =  +3.14 V, max =  +3.47 V)       ALARM
+5V:       +4.88 V  (min =  +4.75 V, max =  +5.25 V)
-12V:      +1.13 V  (min = -13.18 V, max = -10.80 V)       ALARM
V5SB:      +4.92 V  (min =  +4.76 V, max =  +5.24 V)
VBat:      +3.17 V  (min =  +2.40 V, max =  +3.60 V)
fan1:     8035 RPM  (min =  998 RPM, div = 8)
CPU Fan:  3835 RPM  (min =  998 RPM, div = 8)
fan3:     8437 RPM  (min =  998 RPM, div = 8)
M/B Temp:    +49°C  (high =    +3°C, hyst =    +0°C)   sensor = thermistor   ALARM
CPU Temp:  +58.5°C  (high =  +120°C, hyst =  +115°C)   sensor = diode           (beep)
temp3:     +46.0°C  (high =   +80°C, hyst =   +75°C)   sensor = thermistor
vid:      +0.700 V  (VRM Version 1.3)
alarms:   Chassis intrusion detection                      ALARM
beep_enable:
          Sound alarm enabled

sensorsコマンドでエラーになるときは設定が必要

[root@ ~]# sensors
Can't access procfs/sysfs file
Unable to find i2c bus information;
For 2.6 kernels, make sure you have mounted sysfs and libsensors
was compiled with sysfs support!
For older kernels, make sure you have done 'modprobe i2c-proc'!

まずチップ検出を実行し、手動で各コマンドを実行して正常に表示されれば各設定ファイルに設定を書き出す

基本的にすべてEnterを押すのみ!
[root@ ~]# sensors-detect
# sensors-detect revision 1.413 (2006/01/19 20:28:00)

This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.

It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

 We can start with probing for (PCI) I2C or SMBus adapters.
 You do not need any special privileges for this.
 Do you want to probe now? (YES/no):
Probing for PCI bus adapters...
Use driver `i2c-i801' for device 00:1f.3: Intel ICH7
Probe succesfully concluded.

We will now try to load each adapter module in turn.
Module `i2c-i801' already loaded.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

 To continue, we need module `i2c-dev' to be loaded.
 If it is built-in into your kernel, you can safely skip this.
 i2c-dev is not loaded. Do you want to load it now? (YES/no):
 Module loaded succesfully.

 We are now going to do the adapter probings. Some adapters may hang halfway
 through; we can't really help that. Also, some chips will be double detected;
 we choose the one with the highest confidence value in that case.
 If you found that the adapter hung after probing a certain address, you can
 specify that address to remain unprobed. That often
 includes address 0x69 (clock chip).

Next adapter: SMBus I801 adapter at 0400
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x44
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Client found at address 0x50
Probing for `SPD EEPROM'... Success!
    (confidence 8, driver `eeprom')
Probing for `DDC monitor'... Failed!
Probing for `Maxim MAX6900'... Failed!
Client found at address 0x52
Probing for `SPD EEPROM'... Success!
    (confidence 8, driver `eeprom')
Client found at address 0x69

Some chips are also accessible through the ISA bus. ISA probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan the ISA bus? (YES/no):
Probing for `National Semiconductor LM78'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM78-J'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM79'
  Trying address 0x0290... Failed!
Probing for `Winbond W83781D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83782D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627HF'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627EHF'
  Trying address 0x0290... Failed!
Probing for `Silicon Integrated Systems SIS5595'
  Trying general detect... Failed!
Probing for `VIA Technologies VT82C686 Integrated Sensors'
  Trying general detect... Failed!
Probing for `VIA Technologies VT8231 Integrated Sensors'
  Trying general detect... Failed!
Probing for `ITE IT8712F'
  Trying address 0x0290... Failed!
Probing for `ITE IT8705F / SiS 950'
  Trying address 0x0290... Failed!
Probing for `IPMI BMC KCS'
  Trying address 0x0ca0... Failed!
Probing for `IPMI BMC SMIC'
  Trying address 0x0ca8... Failed!

Some Super I/O chips may also contain sensors. Super I/O probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan for Super I/O sensors? (YES/no):
Probing for `ITE 8702F Super IO Sensors'
  Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83627HF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83627THF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83637HF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83687THF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83697HF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83697SF/UF Super IO PWM'
  Failed! (0x88)
Probing for `Winbond W83L517D Super IO'
  Failed! (0x88)
Probing for `Fintek F71805F/FG Super IO Sensors'
  Failed! (0x8863)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
  Success... found at address 0x0290

Do you want to scan for secondary Super I/O sensors? (YES/no):
Probing for `ITE 8702F Super IO Sensors'
  Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (skipping family)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
  Failed! (skipping family)

 Now follows a summary of the probes I have just done.
 Just press ENTER to continue:

Driver `eeprom' (should be inserted):
  Detects correctly:
  * Bus `SMBus I801 adapter at 0400'
    Busdriver `i2c-i801', I2C address 0x50
    Chip `SPD EEPROM' (confidence: 8)
  * Bus `SMBus I801 adapter at 0400'
    Busdriver `i2c-i801', I2C address 0x52
    Chip `SPD EEPROM' (confidence: 8)

Driver `w83627ehf' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `Winbond W83627EHF/EHG Super IO Sensors' (confidence: 9)


I will now generate the commands needed to load the I2C modules.

To make the sensors modules behave correctly, add these lines to
/etc/modprobe.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-i801
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe w83627ehf
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----

WARNING! If you have some things built into your kernel, the list above
will contain too many modules. Skip the appropriate ones! You really should
try these commands right now to make sure everything is working properly.
Monitoring programs won't work until it's done.

Do you want to generate /etc/sysconfig/lm_sensors? (YES/no):
Copy prog/init/lm_sensors.init to /etc/rc.d/init.d/lm_sensors
for initialization at boot time.

で。
cut here部分を手動実行
# modprobe i2c-i801
# modprobe i2c-isa
# modprobe eeprom
# modprobe w83627ehf
# /usr/bin/sensors -s

エラーがなければ、sensorsコマンドを実行してみる
[root@ ~]# sensors
w83627ehf-isa-0290
Adapter: ISA adapter
Case Fan: 12053 RPM  (min = 1205 RPM, div = 8)
CPU Fan:  11250 RPM  (min = 1704 RPM, div = 8)
fan3:     20149 RPM  (min = 9375 RPM, div = 1)
fan4:        0 RPM  (min = 6490 RPM, div = 2)
Sys Temp:    +37°C  (high =   +45°C, hyst =   +40°C)
CPU Temp:  +45.0°C  (high = +45.0°C, hyst = +40.0°C)
temp3:     +44.5°C  (high = +80.0°C, hyst = +75.0°C)

問題なく表示されればOK

cut here部分を設定ファイルに追記する
/etc/modprobe.confと/etc/rc.d/rc.localですな