DRBD-SDS/Pacemaker/Corosync/KVMで作るKVM仮想化クラスタ(OS環境構築)

Table of Content

はじめに

最も簡単なSDS運用方法」では、DRBD-SDSを使ってKVMを構築する事例が載っています。しかし、この記事ではクラスタの設定までは記載されていません。

本記事ではクラスタとしてPacemaker/Corosyncを使い、高可用性なKVMクラスタを構築したいと思います。また、CentOS8をベースとしてDRBD-SDSやPacemaker/Corosyncの構築だけでなく、必要なOS設定、KVM基盤であるlibvirtの構築を行い、高信頼性KVM仮想基盤を構築していきます。

構成

サーバ2台でクラスタを構成します。今回はNested KVMで仮想マシンを2台使って、次の図の構成にしました。

KVMクラスタ構成

eth1は環境へアクセスするためのネットワーク、eth2,eth3は死活監視用、eth2をDRBDのデータ同期ネットワークで死活監視と兼用しています。

ソフトウェアの構成は次のとおりです。

ソフトウェア バージョン
OS CentOS 8.2(2004)
Pacemake 2.0.4
Corosync 3.0.3
DRBD 9.0.25
libvirt 6.0.0
qemu 4.2.0

ネットワーク構成は次のとおりです。

ホスト名 eth1 eth2 eth3
node1 192.168.100.10/24 192.168.200.10/24 192.168.201.10/24
node2 192.168.100.11/24 192.168.200.11/24 192.168.201.11/24

構築の流れは次の通りです。

OS環境構築

node1,node2それぞれに対して次の手順でOS環境を構築していきます。

ブリッジの作成

仮想マシンのネットワークをホストと同じネットワークに接続するため、ブリッジ「br0」を作成します。

sudo nmcli con add type bridge con-name br0 ifname br0
sudo nmcli con mod br0 bridge.stp no
sudo nmcli con mod br0 ipv4.method manual ipv4.addresses <eth1のIPアドレス> ipv4.gateway 192.168.100.1
sudo nmcli con add type bridge-slave ifname eth1 master br0
sudo nmcli con del "System eth1"
sudo nmcli con up br0

SELinuxの無効化

SELinuxを次の手順で無効化していきます。

sudo setenforce 0
sudo sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

ファイアウォールの構築

死活監視用、同期通信用のnicをinternalゾーンに設定し、ファイアウォールを開放します。

sudo firewall-cmd --change-interface eth2 --zone=internal --permanent 
sudo firewall-cmd --change-interface eth3 --zone=internal --permanent 
sudo firewall-cmd --permanent --zone=internal --set-target=ACCEPT
sudo firewall-cmd --permanent --zone=internal --add-source=192.168.200.0/24
sudo firewall-cmd --permanent --zone=internal --add-source=192.168.201.0/24
sudo firewall-cmd --reload

 最後に

とりあえずOS環境を作るところまで構築しました。
次の記事でDRBD-SDSを構築していきます。