목차

VirtualBMC (vbmc) 설정하기

이강우 2021/02/05 14:44

아래 내용은 CentOS 7 환경에서 테스트 되었습니다.

오픈스택 레포지토리 이용

yum -y install centos-release-openstack-train
yum -y install python2-virtualbmc

# vbmc 등록/시작
vbmc add ik-metal0 --username admin --password secret@1337 --port 6230
vbmc start ik-metal0

# ipmi 동작 확인
ipmitool -I lanplus -U admin -P secret@1337 -H 10.80.80.1 -p 6230 power status

RHEL 7 의 경우

RHEL의 경우 오픈스택11, 12, 13 레포지토리를 등록하면 사용할 수 있다.
14 이후 버전에는 포함되어있지 않다.

$ sudo subscription-manager repos --enable=rhel-7-server-openstack-13-rpms
$ sudo yum install -y python-virtualbmc

오픈스택 레포지토리 추가 없이 사용하는 방법

출처 : https://ikhsanputra.com/posts/2020-03-16-install-virtualbmc-on-centos-7/

yum -y update
yum -y install python3-pip python3-devel gcc libvirt-devel ipmitool
pip3 install --upgrade pip
pip3 install virtualbmc

# 데몬 확인
vbmcd
vbmc list

# vbmc 등록/시작
vbmc add ik-metal0 --username admin --password secret@1337 --port 6230
vbmc start ik-metal0

# ipmi 동작 확인
ipmitool -I lanplus -U admin -P secret@1337 -H 10.80.80.1 -p 6230 power status

이후 재부팅시 vbmcd를 다시 실행하려고 하면 이미 떠있다고 하면서 오류가 발생하는 경우가 있다. 이런경우 pid파일을 제거해주면 된다.

rm -rf ~/master.pid
rm -rf ~/.vbmc

활용사례

systemd 등록

/etc/systemd/system/vbmcd.service 파일을 아래와 같이 등록하여 사용한다.

[Install]
WantedBy = multi-user.target

[Service]
BlockIOAccounting = True
CPUAccounting = True
ExecReload = /bin/kill -HUP $MAINPID
ExecStart = /usr/local/bin/vbmcd --foreground
Group = root
MemoryAccounting = True
PrivateDevices = False
PrivateNetwork = False
PrivateTmp = False
PrivateUsers = False
Restart = on-failure
RestartSec = 2
Slice = vbmc.slice
TasksAccounting = True
TimeoutSec = 120
Type = simple
User = root

[Unit]
After = libvirtd.service
After = syslog.target
After = network.target
Description = vbmc service

참조링크