Installing IPMI Tool for Linux Server

IPMI은 (Intelligent Platform Management Interface)의 약자이며, Intel이 리드하고, HP, DELL 등 다수의 x86 Platform 서버 제조사가 지원하는 사실상의 H/W 관리 프로토콜이다. 따라서, 각 제조사 및 지원 OS의 기능을 볼 수 도 있지만, 가장 근본인 Intel의 자료를 한 번 보는 것이 의미 있을 것 같다.

http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-animation.html

기본적으로 서버의 온도나, Power, Fan, H/W Inventory 등의 정보를 수집하고 그 정보를 OS나 관리 콘솔 등으로 전달해 주는 Interface이다. HP는 이를 활용하여 ILO라는 관리 콘솔을 만들어 사용자의 서버 관리를 편하게 해 주었으며, 최근에는 Network를 통해 원격지의 서버로 IPMI기능을 사용하여 서버의 On/Off 부터 각종 H/W 항목을 모니터링 관리할 수 있게 개발되고 있다.


[root@test ~]# yum install ipmitool
Loaded plugins: aliases, changelog, downloadonly, kabi, presto, product-id, refresh-packagekit, security, subscription-manager, tmprepo, verify, versionlock
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading support for Red Hat kernel ABI
LOCAL                                                                                                                                    | 3.9 kB     00:00 ... 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ipmitool.x86_64 0:1.8.11-16.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================================
 Package                               Arch                                Version                                     Repository                          Size
================================================================================================================================================================
Installing:
 ipmitool                              x86_64                              1.8.11-16.el6                               LOCAL                              329 k

Transaction Summary
================================================================================================================================================================
Install       1 Package(s)

Total download size: 329 k
Installed size: 1.0 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 329 k
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : ipmitool-1.8.11-16.el6.x86_64                                                                                                                1/1 
  Verifying  : ipmitool-1.8.11-16.el6.x86_64                                                                                                                1/1 
Installed:
  ipmitool.x86_64 0:1.8.11-16.el6                                                                          

Complete!
[root@test ~]# 


실제로 최근 도입된 HP서버에 Linux 6.6 OS를 설치하고 IPMI를 설치해 보았다.
간단히 yum을 통해 설치가 가능하며, Module이 생성되지 않은 OS의 경우 아래와 같이device 번호를 찾아 Module을 만들어주면 바로 활용이 가능하다.

[root@test ~]# modprobe ipmi_devintf
[root@test ~]# modprobe ipmi_si
[root@test ~]# lsmod | grep ipmi
ipmi_devintf            7729  0 
[root@test ~]# 

혹은 https://forum.likg.org.ua/ipmi/create-dev-ipmi0-device-manually-t355.html 참조.


설치가 완료되면 ipmitool이라고 명령어를 수행할 수 있는데, 아래와 같이 나온다면 정상 설치 및 H/W와 연동된 것이라고 보면 된다.


[root@test ~]# ipmitool
No command provided!
Commands:
        raw           Send a RAW IPMI request and print response
        i2c           Send an I2C Master Write-Read command and print response
        spd           Print SPD info from remote I2C device
        lan           Configure LAN Channels
        chassis       Get chassis status and set power state
        power         Shortcut to chassis power commands
        event         Send pre-defined events to MC
        mc            Management Controller status and global enables
        sdr           Print Sensor Data Repository entries and readings
        sensor        Print detailed sensor information
        fru           Print built-in FRU and scan SDR for FRU locators
        gendev        Read/Write Device associated with Generic Device locators sdr
        sel           Print System Event Log (SEL)
        pef           Configure Platform Event Filtering (PEF)
        sol           Configure and connect IPMIv2.0 Serial-over-LAN
        tsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
        isol          Configure IPMIv1.5 Serial-over-LAN
        user          Configure Management Controller users
        channel       Configure Management Controller channels
        session       Print session information
        sunoem        OEM Commands for Sun servers
        kontronoem    OEM Commands for Kontron devices
        picmg         Run a PICMG/ATCA extended cmd
        fwum          Update IPMC using Kontron OEM Firmware Update Manager
        firewall      Configure Firmware Firewall
        delloem       OEM Commands for Dell systems
        shell         Launch interactive IPMI shell
        exec          Run list of commands from file
        set           Set runtime variable for shell and exec
        hpm           Update HPM components using PICMG HPM.1 file
        ekanalyzer    run FRU-Ekeying analyzer using FRU files

[root@test ~]# 


실제로 IPMI를 통해 활용 가능한 부분은 위의 기능들이다. 특히 빨간색으로 표시한 부분이 서버 운영을 하면서 모니터링 및 Action이 필요한 부분이고, 나머지 기능은 원격에서 접속이나, IPMI 사용 권한, 방화벽, Batch 파일 수행 등의 기능을 담고 있는 부분이다. 그럼에도 Chassis나, Power 등의 부분은 실제로 전산센터 장비실에 올라가 확인하지 않는다면 모니터링하기 쉽지 않은 부분이기에 OS Level에서의 운영과 별개로 순수한 H/W 운영에 대한 카테고리로 잡아 모니터링 및 관리를 할 필요가 있을 것이다.


[root@test ~]# ipmltool -l open sdr
-bash: ipmltool: command not found
[root@test ~]# ipmitool -l open sdr 
UID Light        | 0 unspecified     | nc
Sys. Health LED  | 0 unspecified     | nc
01-Front Ambient | 22 degrees C      | ok
02-CPU 1         | 40 degrees C      | ok
03-CPU 2         | disabled          | ns
04-P1 DIMM 1-3   | 35 degrees C      | ok
05-P1 DIMM 4-6   | 36 degrees C      | ok
06-P1 DIMM 7-9   | 36 degrees C      | ok
07-P1 DIMM 10-12 | 37 degrees C      | ok
08-P2 DIMM 1-3   | disabled          | ns
09-P2 DIMM 4-6   | disabled          | ns
10-P2 DIMM 7-9   | disabled          | ns
11-P2 DIMM 10-12 | disabled          | ns
12-HD Max        | 35 degrees C      | ok
13-Chipset       | 50 degrees C      | ok
14-P/S 1         | 32 degrees C      | ok
15-P/S 2         | 31 degrees C      | ok
16-P/S 2 Zone    | 34 degrees C      | ok
17-VR P1         | 41 degrees C      | ok
18-VR P2         | 36 degrees C      | ok
19-VR P1 Mem     | 37 degrees C      | ok
20-VR P1 Mem     | 39 degrees C      | ok
21-VR P2 Mem     | 37 degrees C      | ok
22-VR P2 Mem     | 35 degrees C      | ok
23-VR P1Vtt Zone | 39 degrees C      | ok
24-VR P2Vtt Zone | 34 degrees C      | ok
25-HD Controller | 75 degrees C      | ok
26-iLO Zone      | 40 degrees C      | ok
27-LOM Card      | disabled          | ns
28-PCI 1         | disabled          | ns
29-PCI 2         | disabled          | ns
30-PCI 3         | disabled          | ns
31-PCI 4         | disabled          | ns
32-PCI 5         | disabled          | ns
33-PCI 6         | disabled          | ns
34-PCI 1 Zone    | 37 degrees C      | ok
35-PCI 2 Zone    | 37 degrees C      | ok
36-PCI 3 Zone    | 38 degrees C      | ok
37-PCI 4 Zone    | disabled          | ns
38-PCI 5 Zone    | disabled          | ns
39-PCI 6 Zone    | disabled          | ns
40-I/O Board 1   | 40 degrees C      | ok
41-I/O Board 2   | disabled          | ns
42-VR P1 Zone    | 34 degrees C      | ok
43-BIOS Zone     | 48 degrees C      | ok
44-System Board  | 39 degrees C      | ok
45-SuperCap Max  | 31 degrees C      | ok
46-Chipset Zone  | 40 degrees C      | ok
47-Battery Zone  | 38 degrees C      | ok
48-I/O Zone      | 41 degrees C      | ok
49-Sys Exhaust   | 39 degrees C      | ok
50-Sys Exhaust   | 40 degrees C      | ok
Fan 1            | disabled          | ns
Fan 2            | disabled          | ns
Fan 3            | 13.72 unspecifi | nc
Fan 4            | 21.17 unspecifi | nc
Fan 5            | 35.28 unspecifi | nc
Fan 6            | 35.28 unspecifi | nc
Power Supply 1   | 65 Watts          | nc
Power Supply 2   | 65 Watts          | nc
Power Meter      | 126 Watts         | cr
Power Supplies   | 0 unspecified     | nc
Fans             | 0 unspecified     | nc
Memory           | 0 error           | ok
C1 P1I Bay 1     | 0 unspecified     | nc
C1 P1I Bay 2     | 0 unspecified     | nc
C1 P1I Bay 3     | 0 unspecified     | nc
C1 P1I Bay 4     | 0 unspecified     | nc
C1 P2I Bay 5     | 0 unspecified     | nc
C1 P2I Bay 6     | 0 unspecified     | nc
C1 P2I Bay 7     | 0 unspecified     | nc
C1 P2I Bay 8     | 0 unspecified     | nc
[root@test ~]# 
[root@test ~]# ipmitool -l open chassis status
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : previous
Last Power Event     : 
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false
Front Panel Control  : none
[root@test ~]# 


위와 같이, 서버 내부의 온도와 장비들의 상태들을 점검하는데 있어서 활용도가 높은 편이며, IPMI라는 제조사 공통의 프로토콜이라는 점으로 모니터링 Script나 시스템을 한 번 개발 해 둔다면, 어떤 장비를 사더라도 제조사에 의존성없이 주요 H/W 항목에 대한 모니터링이 가능하다는 점에 주목할 필요있다.


댓글

이 블로그의 인기 게시물

Windows Packet Monitoring by SmartSniff (smsniff)

Starting Xperf by Windows Performance Tools (WPT)