[Cloud]/OpenStack

RHEL8 KVM 환경에서 VirtualBMC 구성 및 IPMI 연동

ByoungHee Lee 2022. 4. 27. 08:11

  RHEL7 까지는 Red Hat package를 통해서 VBMC 구성이 가능하였으나, RHEL8이후 부터는 rhel package 만으로는 더이상 VBMC 구성을 할 수 없습니다. 본 페이지에서는 RHEL8의 KVM 환경에서 VBMC 구성에 필요한 파일을 어떻게 다운로드하고, 설치하고 환경을 구성할 수 있는지, 그리고 VBMC와 IPMI를 어떻게 활용할 수 있는지에 대해서 정리를 하도록 하겠습니다.  

RHEL8 KVM 환경에서 VirtualBMC 구성 및 ipmi 연동 

# VirtualBMC 및 ipmitool 패키지 설치

[lee@host-osp ~]$ sudo dnf -y install python3-virtualenv ipmitool
[sudo] password for lee: 
Updating Subscription Management repositories.
Repository google-chrome is listed more than once in the configuration
Last metadata expiration check: 1:02:36 ago on Wed 27 Apr 2022 06:28:30 AM KST.
Package python3-virtualenv-15.1.0-19.module+el8.1.0+3514+14e79d98.noarch is already installed.
Package ipmitool-1.8.18-17.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

# /opt/virtualbmc 디렉토리에 python 환경 구성

[lee@host-osp ~]$ sudo mkdir /opt/virtualenv
[lee@host-osp ~]$ sudo python3 -m virtualenv --system-site-packages --download /opt/virtualbmc
Using base prefix '/usr'
New python executable in /opt/virtualbmc/bin/python3
Also creating executable in /opt/virtualbmc/bin/python
Installing setuptools, pip, wheel...done.

# virtualbmc 설치

[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/pip3 install virtualbmc

# vbmc 실행 모듈 확인

[lee@host-osp ~]$ ls -al /opt/virtualbmc/bin/v*
-rwxr-xr-x 1 root root 229 Apr 27 06:56 /opt/virtualbmc/bin/vbmc
-rwxr-xr-x 1 root root 230 Apr 27 06:56 /opt/virtualbmc/bin/vbmcd
-rwxr-xr-x 1 root root 229 Apr 27 06:56 /opt/virtualbmc/bin/virshbmc

# virtualbmc systemd 파일 생성 및 환경 설정

[lee@host-osp ~]$ sudo vi /usr/lib/systemd/system/virtualbmc.service
[Unit]
Description=Virtual BMC Service
After=network.target libvirtd.service

[Service]
Type=simple
ExecStart=/opt/virtualbmc/bin/vbmcd --foreground
ExecStop=/bin/kill -HUP $MAINPID
User=root
Group=root

[Install]
WantedBy=multi-user.target

# vbmc daemon 다시로드하고 자동으로 virtualbmc가 기동이 되도록 구성

[lee@host-osp ~]$ sudo systemctl daemon-reload 
[lee@host-osp ~]$ sudo systemctl enable --now virtualbmc.service

# virtualbmc 시작 및 상태확인

[lee@host-osp ~]$ sudo systemctl start virtualbmc.service
[lee@host-osp ~]$ sudo systemctl status virtualbmc.service
● virtualbmc.service - Virtual BMC Service
   Loaded: loaded (/usr/lib/systemd/system/virtualbmc.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2022-04-27 06:57:15 KST; 43min ago
....

# virtualbmc를 적용할 VM 목록 확인

[lee@host-osp ~]$ sudo virsh list --all
 Id   Name        State
----------------------------
 1    dir16       running
 3    registry2   running
 -    comp01      shut off
 -    cont01      shut off

# cont01, comp01 VM에 ipmi연동을 위한 virtualbmc 포트, 사용자, 패스워드 정보 생성

[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/vbmc add cont01 --port 6661 --username lee --password redhat
[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/vbmc add comp01 --port 6671 --username lee --password redhat

# 추가된 vmbc 목록 확인 

[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/vbmc list
+-------------+--------+---------+------+
| Domain name | Status | Address | Port |
+-------------+--------+---------+------+
| comp01      | down   | ::      | 6671 |
| cont01      | down   | ::      | 6661 |
+-------------+--------+---------+------+

# vbmc vm 기동

[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/vbmc start cont01
[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/vbmc start comp01

# vbmc 기동 상태 확인

[lee@host-osp ~]$ sudo /opt/virtualbmc/bin/vbmc list
+-------------+---------+---------+------+
| Domain name | Status  | Address | Port |
+-------------+---------+---------+------+
| comp01      | running | ::      | 6671 |
| cont01      | running | ::      | 6661 |
+-------------+---------+---------+------+

# vbmc 연동 IP 확인

[lee@host-osp ~]$ ip -4 -o a show virbr1
3: virbr1    inet 192.168.100.1/24 brd 192.168.100.255 scope global virbr1\       valid_lft forever preferred_lft forever

# ipmi를 통해 vm의 파워 상태 확인

[lee@host-osp ~]$ ipmitool -I lanplus -H 192.168.100.1 -p 6661 -U lee -P redhat power status
Chassis Power is off
[lee@host-osp ~]$ ipmitool -I lanplus -H 192.168.100.1 -p 6671 -U lee -P redhat power status
Chassis Power is off