環境CentOS 8 Stream + Linux KVM Libvirtd
用於Cluster的Fence功能或是OpenStack的電源控制,透過Libvirtd功能控制VM主機的開/關機
1.KVM實體機列出並找到所有要被Fence的節點的Domain Name
*KVM實體機的IP例如是10.1.2.1/24
#virsh list --all
Id Name State
-------------------------
1 power running
8 servera running
10 serverb running
*於KVM實體機新增一張空橋接例如名稱為br4,並且在br4上設定一組IP例如10.1.8.1/24
#nmcli con add con-name br4 ipv4.method manual ipv4.addresses 10.1.8.1/24 \
type bridge ifname br4 autoconnect yes
*新增專門用來Fence的網卡,在virt-manager上新增
在Power的VM主機上新增一張網卡,指定橋接的網卡是br4
在servera的VM主機上新增一張網卡,指定橋接的網卡是br4
在serverb的VM主機上新增一張網卡,指定橋接的網卡是br4
*在Power虛擬機
*Install Openstack repo
#yum -y install centos-release-openstack-xena
*Install virtualbmc
#yum install -y python3-virtualbmc
*啟動virtualbmc
#systemctl enable --now virtualbmc
*列出所有ipmi的device
#vbmc list
*設定專門用來Fence的網段EX 10.1.8.X/24
*在Power Server上的網卡設定10.1.8.6/24及10.1.8.7/24的IP(一張網卡同時bind 2個IP)
ex:網卡名稱enp8s0
#nmcli con add con-name enp8s0 ifname enp8s0 ipv4.method manual \
ipv4.addresses 10.1.8.6/24 autoconnect yes type ethernet
#nmcli con add con-name enp8s0 +ipv4.addresses 10.1.8.7/24
#nmcil con down enp8s0 ; nmlic con u enp8s0
*與KVM實體機交換SSH金鑰
#ssh-keygen -q -N ""
#ssh-copy-id root@10.1.2.1
*建立ipmi Device(ipmi預設的Port是623設定時可不加)
重點在於Power server VM主機要與KVM實體機的libirtd連線portocol是qemu+ssh://
#vbmc add servera --username admin --address 10.1.8.6 \
--password redhat --port 623 --libvirt-uri qemu+ssh://root@192.168.1.104/system
#vbmc add serverb --username admin --address 10.1.8.7 \
--password redhat --port 623 --libvirt-uri qemu+ssh://root@192.168.1.104/system
#vbmc list
+-------------+---------+----------+------+
| Domain name | Status | Address | Port |
+-------------+---------+----------+------+
| servera | down | 10.1.8.6 | 623 |
| serverb | down | 10.1.8.7 | 623 |
+-------------+---------+----------+------+
#vbmc start servera
#vbmc start serverb
#vbmc list
+-------------+---------+----------+------+
| Domain name | Status | Address | Port |
+-------------+---------+----------+------+
| servera | running | 10.1.8.6 | 623 |
| serverb | running | 10.1.8.7 | 623 |
+-------------+---------+----------+------+
*防火牆開放623/tcp及623/udp Port
#firewall-cmd --add-port=623/{tcp,udp}
#firewall-cmd --add-port=623/{tcp,udp} --permanent
*測試On Nodes
測試On servera or serverb
#ipmitool -I lanplus -H 10.1.8.6 -U admin -P redhat power status
Chassis Power is on
#ipmitool -I lanplus -H 10.1.8.7 -U admin -P redhat power status
Chassis Power is on
On servera reboot serverb
#ipmitool -I lanplus -H 10.1.8.7 -U admin -P redhat power reset
Chassis Power Control: Reset
參考資料
Server-World:https://er-world.info/en/note?os=CentOS_Stream_8&p=kvm&f=14