SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Copyright(c) 2022 Linux-HA Japan Project
VirtualBox と Rocky Linux 8 で始める
Pacemaker
~ VirtualBox でも STONITH 機能が試せる! VirtualBMCの活用
2022年10月28日
Linux-HA Japan プロジェクト
https://linux-ha.osdn.jp/
森 啓介
2
Copyright(c) 2011 Linux-HA Japan Project 2
自己紹介
 名前: 森 啓介 (Keisuke MORI)
 twitter: @ksk_ha
 Linux-HA Japanプロジェクト関連の活動
 Pacemaker追加ツールのリリース
 https://linux-ha.osdn.jp/
 ClusterLabs プロジェクトのコミッタ
 Pacemaker、resource-agents などHAクラスタ関連の開発コミュニティ
 https://github.com/ClusterLabs/
 本業
 普段の業務: NTT OSSセンタ
 NTTグループ内におけるPacemaker(HA Add-On)の導入支援・サポート
 バグ報告・パッチ作成などによるNTTから開発コミュニティへのフィードバック・貢献
3
Copyright(c) 2011 Linux-HA Japan Project 3
いかがでしたか
いかがでしたか?
?
本日のトピック
Pacemaker
Pacemaker の
の STONITH
STONITH 試験環境を
試験環境を
Windows
Windows上の
上の VirtualBox
VirtualBox 仮想環境で
仮想環境で
作ってみました!
作ってみました!
4
Copyright(c) 2011 Linux-HA Japan Project 4
 Pacemakerとは
 問題:
仮想環境でPacmaker実験環境を作りたいけど、フェンス
エージェントがない!
 解決案:
STONITHが動作するPacemaker環境を Windows +
VirtualBox 上で作ってみた!
 おわりに
もくじ
5
Copyright(c) 2011 Linux-HA Japan Project 5
Pacemaker?なにそれおいしいの?
 Pacemakerとは、
オープンソースのHAクラスタソフトウェアです。
H
High A
Availability = 高可用性
サービスが停止する時間を
できる限り短くする!
こと
6
Copyright(c) 2011 Linux-HA Japan Project 6
Pacemakerの概要
サーバ#1 サーバ#2
サービスの監視・制御
サーバ間の監視・制御
 サーバ・アプリケーションの故障監視
7
Copyright(c) 2011 Linux-HA Japan Project 7
Pacemakerの概要
サーバ#1 サーバ#2
サービスのフェイルオーバ
 故障検知時、自動的にフェイルオーバ
 ダウンタイムの最小化
 STONITHによるデータの安全性確保
STONITH(強制電源断)
8
Copyright(c) 2011 Linux-HA Japan Project 8
STONITH機能(フェンシング)とは?
 フェンスを立てて隔離すること
大事なデータを守る!
9
Copyright(c) 2011 Linux-HA Japan Project 9
STONITH機能(フェンシング)の重要性
 STONITH機能の目的
 スプリットブレイン対策(排他制御) ⇒ データ破損の防止
 制御不能な故障ノードの強制停止 ⇒ サービス継続性の向上
 RHEL 8 HA Add-On ではSTONITH機能の利用は必須です
 stonith-enabled=true (デフォルト設定)
10
Copyright(c) 2011 Linux-HA Japan Project 10
フェンスエージェントの種類(主なもの)
環境 フェンスエージェント 説明
物理環境 fence_ipmilan 物理環境用。IPMIによる強制電源断
仮想環境 fence_vmware_rest VMware仮想環境用。vCenter を経由した仮想マシンの電源断
クラウド環境
fence_aws AWS環境用。APIを経由した仮想マシンの電源断
fence_azure Azure環境用。APIを経由した仮想マシンの電源断
fence_gcp GCP環境用。APIを経由した仮想マシンの電源断
共有ディスク環境
(物理/仮想/クラウド)
fence_sbd 共有ディスク領域とwatchdogを利用した電源断
ハードウェアwatchdog が必須
fence_scsi SCSIリザベーション機能を利用したI/Oフェンシング
ハードウェアwatchdogが利用不可の環境でも利用可
 フェンスエージェント(STONITH機能用のモジュール)は
環境に合わせたものを利用します。
11
Copyright(c) 2011 Linux-HA Japan Project 11
 Pacemakerとは
 問題:
仮想環境でPacmaker実験環境を作りたいけど、フェンス
エージェントがない!
 解決案:
STONITHが動作するPacemaker環境を Windows +
VirtualBox 上で作ってみた!
 おわりに
もくじ
12
Copyright(c) 2011 Linux-HA Japan Project 12
Pacemakerを実際に触ってみたい!けど…?
 要望: 試しに軽く使ってみたいので、
Windows + VirtualBox で実験用の仮想環境を作りたい!
 本番環境は物理マシンでも、いまどき自分の実験に使える物理マシンなん
て気軽に用意できるとは限らない
 個人ですぐ用意できる環境として VirtualBox はとてもお手軽
 しかし…
 問題: フェンスエージェントがない!
 「STONITH機能は必須」「フェンスエージェントは環境に合わせる」
 …と言われても、 Windows + VirtualBox 上ではどうすればいいの!?
» ※VMware環境や対応クラウド環境が使えるのであれば、その環境に合わせたフェンスエージェントを使
うことができます。しかし設定方法やクラウド固有のAPI仕様など環境ごとの違いに注意する必要があり
ます。
13
Copyright(c) 2011 Linux-HA Japan Project 13
IPMI(ハードウェア制御ボード)は仮想化できないの?
 実はそういうものがあります
 VirualBMC
 仮想BMC(Baseboard Management Controller)ソフトウェア
 IPMI経由で仮想マシンを制御することが可能。
 OpenStack の一プロジェクト
 https://github.com/openstack/virtualbmc
 動作環境
 ホストOS: Linux
 仮想マシンの制御: libvirt/KVM
 今回やったこと: これを Windows 上で動かしてみよう!
 ホストOS: Windows 10 + WSL2 (Ubuntu)
 (Ubuntuなんだからサクッと動くんじゃね?)
 仮想マシンの制御: VirtualBox
 (libvirtのAPIの代わりに VBoxManage コマンドを使うように修正すればいいじゃん)
 ⇒ これでPacemakerを物理環境と同じ設定で動かせる!
14
Copyright(c) 2011 Linux-HA Japan Project 14
 Pacemakerとは
 問題:
仮想環境でPacmaker実験環境を作りたいけど、フェンス
エージェントがない!
 解決案:
STONITHが動作するPacemaker環境を Windows +
VirtualBox 上で作ってみた!
 おわりに
もくじ
15
Copyright(c) 2011 Linux-HA Japan Project 15
本番環境構成例 (物理環境)
Pacemaker
node1
Rocky Linux 8
PostgreSQL
fence_ipmilan
Filesystem他
Filesystem他
node2
Pacemaker
Rocky Linux 8
fence_ipmilan
eth1 eth1
eth2
eth3 eth3
eth4 eth4
eth2
サービスLAN
192.168.59.0/24
管理LAN
192.168.56.0/24
インターコネクトLAN1
192.168.57.0/24
インターコネクトLAN2
192.168.58.0/24
HBA
HBA
共有ストレージ
SAN
ハードウェア制御
ボード(iLO等)
16
Copyright(c) 2011 Linux-HA Japan Project 16
検証用環境構成 (VirtualBox 仮想環境)
Pacemaker
node1
Rocky Linux 8
PostgreSQL
fence_ipmilan
Filesystem他
Filesystem他
node2
VirtualBox
Windows 10 ホスト
WSL2
Pacemaker
Rocky Linux 8
fence_ipmilan
VirtualBMC (vbox対応版)
eth0 eth0
eth1 eth1
eth2
eth3 eth3
eth4 eth4
eth2
サービスLAN
192.168.59.0/24
管理LAN
192.168.56.0/24
インターコネクトLAN1
192.168.57.0/24
インターコネクトLAN2
192.168.58.0/24
共有ストレージ
storage
iSCSI
管理LAN(WSL内)
192.168.99.0/24
Vagrant
generic/rocky8 box
Rocky Linux 8
17
Copyright(c) 2011 Linux-HA Japan Project 17
検証用環境構成 (VirtualBox 仮想環境)
Pacemaker
node1
Rocky Linux 8
PostgreSQL
fence_ipmilan
Filesystem他
Filesystem他
node2
VirtualBox
Windows 10 ホスト
WSL2
Pacemaker
Rocky Linux 8
fence_ipmilan
VirtualBMC (vbox対応版)
eth0 eth0
eth1 eth1
eth2
eth3 eth3
eth4 eth4
eth2
サービスLAN
192.168.59.0/24
管理LAN
192.168.56.0/24
インターコネクトLAN1
192.168.57.0/24
インターコネクトLAN2
192.168.58.0/24
共有ストレージ
管理LAN(WSL内)
192.168.99.0/24
storage
iSCSI
IPMI power off
VBoxManageコマンド
による電源断
Rocky Linux 8
Vagrant
generic/rocky8 box
18
Copyright(c) 2011 Linux-HA Japan Project 18
環境構築手順概要
物理環境での構築 VirtualBox仮想環境での構築
(0) - Windows 10 ホスト上での事前準備
(1) マシンセットアップ、ネットワーク接続 仮想マシン作成、仮想ネットワーク作成 (vagrant)
(2) OSインストール OSインストール (vagrant)
(3) ハードウェア制御ボード設定(iLO等) VirtualBMC インストール・設定
(4) FC共有ディスク設定 iSCSI共有ディスク設定
(5) PostgreSQL インストール PostgreSQLインストール
(6) Pacemaker インストール Pacemaker インストール
(7) Pacemaker リソース設定
(fence_ipmilan)
Pacemaker リソース設定
(fence_ipmilan)
19
Copyright(c) 2011 Linux-HA Japan Project 19
(0)Windows 10 ホスト上での事前準備
 VirtualBox のインストール
 https://www.virtualbox.org/wiki/Downloads
 Vagrant のインストール
 https://www.vagrantup.com/downloads
 WSL2 のインストール
 https://learn.microsoft.com/ja-jp/windows/wsl/install
 ディストリビューション: Ubuntu (Ubuntu-20.04 LTS)
 ※Symantec Endpoint Protection (SEP) を利用している場合
 WSL2から外部への通信を行うための設定が必要
» 設定の変更 → ネットワークとホストのエクスプロイト緩和機能 → オプションの設定
→ 不一致トラフィックの設定 → IPトラフィックを許可する
 参考情報 (他の対処方法など)
» https://kemasoft.net/?vm/wsl2%A4%C8SEP%A4%C8stone#w98afb3e
» https://computational-sediment-hyd.hatenablog.jp/entry/2022/05/02/231428
> wsl --install -d Ubuntu
20
Copyright(c) 2011 Linux-HA Japan Project 20
(0)-2 Windows 10 ホスト上での事前準備
 WSL2 の設定 (必要に応じて設定)
 ansible-playbook (後述)を利用する場合の設定
 proxy環境での設定
 WSL2の再起動 (設定の反映)
[automount]
options = "metadata"
$ sudo vi /etc/wsl.conf
$ exit
> wsl –-shutdown
> wsl
$
http_proxy=http://PROXY:8080/
https_proxy=http://PROXY:8080/
$ sudo vi /etc/environment
export http_proxy=http://PROXY:8080/
export https_proxy=http://PROXY:8080/
#export VAGRANT_CWD=/mnt/c/Users/xxx/vagrant
export WSLENV=VAGRANT_CWD/p:http_proxy:https_proxy
$ vi $HOME/.bashrc
※ proxy環境変数は両方で
設定しておいた方が無難
※ vagrantを使う場合は好みで
設定しておくと便利
Windowsファイルシステム上
(/mnt/c/配下)でも、playbookや
ssh鍵のパーミッションが
正しく設定可能となる。
21
Copyright(c) 2011 Linux-HA Japan Project 21
(0)-3 Windows 10 ホスト上での事前準備
 WSL2 上のansibleのインストール (必要に応じて設定)
 ansible-playbook (後述)を利用する場合にインストールする
 Ansible インストール手順
 参考
 公式のインストール手順
https://docs.ansible.com/ansible/latest/installation_guide/installatio
n_distros.html#installing-ansible-on-ubuntu
 proxy環境でエラーが出る場合は以下の設定も追加
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible
$ sudo vi /etc/apt/apt.conf.d/99proxy
Acquire::http::proxy "http://PROXY:8080/";
Acquire::https::proxy "http://PROXY:8080/";
Acquire::http::Timeout "300";
22
Copyright(c) 2011 Linux-HA Japan Project 22
本日のトピック
ここからが本題です
ここからが本題です
23
Copyright(c) 2011 Linux-HA Japan Project 23
(3)-1 VirtualBMC インストール手順(WSL2内で実行)
 VirtualBMC (vbox対応版)のチェックアウト
 Python 仮想環境の作成とインストール
 VirtualBMC 設定ファイルの作成
$ git clone https://github.com/kskmori/virtualbmc-vbox
$ cd virtualbmc-vbox
$ git checkout devel-vbox-2.0
$ cd ..
$ python3 -m venv --without-pip ./venv-vbmc
$ . ./venv-vbmc/bin/activate
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
$ pip install --upgrade pip
$ pip install -e ./virtualbmc-vbox/
$ deactivate
$ sudo mkdir /root/.vbmc/
$ sudo vi /root/.vbmc/virtualbmc.conf
[log]
logfile: /var/log/virtualbmc.log
#debug: true
[vbox]
vbox_user: USER
vbox対応版固有の設定項目
WSL2のユーザ名($USER)
を設定
vbox 対応版の
ブランチをチェックアウト
WSL2では pip を個別に
インストールする必要あり
24
Copyright(c) 2011 Linux-HA Japan Project 24
(3)-2 VirtualBMC 起動手順(WSL2内で実行)
 管理LAN(WSL内)の設定(要管理者権限)
 VirtualBMCデーモン(vbmcd)の起動
 IPMI受付用IPアドレスの設定 (2ノード分)
 VirtualBMC ノード追加設定 (2ノード分)
 VirtualBMC 実行開始 (2ノード分)
$ powershell.exe Start-Process -Verb RunAs powershell.exe 
-ArgumentList "'-Command New-NetIPAddress -IPAddress 192.168.99.1 
-PrefixLength 24 -InterfaceAlias ''vEthernet (WSL)'''"
$ sudo ./venv-vbmc/bin/vbmc add --username pacemaker 
--password pacemakerpass1 --address 192.168.99.91 node1
$ sudo ./venv-vbmc/bin/vbmc add --username pacemaker 
--password pacemakerpass1 --address 192.168.99.92 node2
$ sudo ip addr add 192.168.99.91 dev eth0
$ sudo ip addr add 192.168.99.92 dev eth0
$ sudo ./venv-vbmc/bin/vbmcd
$ sudo ./venv-vbmc/bin/vbmc start node1
$ sudo ./venv-vbmc/bin/vbmc start node2
WSL2内でIPアドレスを固定するために
個別のサブネット用アドレスを設定
ハードウェア制御ボード
(iLO等)の設定に相当する
25
Copyright(c) 2011 Linux-HA Japan Project 25
(3)-3 VirtualBMC 状態確認(WSL2内で実行)
 VirtualBMC 状態確認 実行例
$ sudo ./venv-vbmc/bin/vbmc list
+-------------+---------+---------------+------+
| Domain name | Status | Address | Port |
+-------------+---------+---------------+------+
| node1 | running | 192.168.99.91 | 623 |
| node2 | running | 192.168.99.92 | 623 |
+-------------+---------+---------------+------+
26
Copyright(c) 2011 Linux-HA Japan Project 26
物理環境での構築 VirtualBox仮想環境での構築
(0) - Windows 10 ホスト上での事前準備
(1) マシンセットアップ、ネットワーク接続 仮想マシン作成、仮想ネットワーク作成 (vagrant)
(2) OSインストール OSインストール (vagrant)
(3) ハードウェア制御ボード設定(iLO等) VirtualBMC インストール・設定
(4) FC共有ディスク設定 iSCSI共有ディスク設定
(5) PostgreSQL インストール PostgreSQLインストール
(6) Pacemaker インストール Pacemaker インストール
(7) Pacemaker リソース設定
(fence_ipmilan)
Pacemaker リソース設定
(fence_ipmilan)
環境構築手順概要
省略
省略
省略
省略
済
済
27
Copyright(c) 2011 Linux-HA Japan Project 27
(6)-1 Pacemaker インストール手順(ゲスト上で実行)
 Pacmaker のインストール (両ノードで実行)
 pm_extra_tools (Linux-HA Japan追加ツール)のインストール(両ノードで実行)
 ダウンロードURL: https://linux-ha.osdn.jp/wp/dl
 firewall設定 (両ノードで実行)
 クラスタの作成 (いずれか一つのノードで実行)
# dnf install pcs pacemaker fence-agents-all --enablerepo=ha
# passwd hacluster
New password:
# systemctl start pcsd.service
# systemctl enable pcsd.service
# pcs host auth node1 addr=192.168.56.11 node2 addr=192.168.56.12 
-u hacluster
Password:
# pcs cluster setup cluster_name 
node1 addr=192.168.57.11 addr=192.168.58.11 
node2 addr=192.168.57.12 addr=192.168.58.12
# firewall-cmd –-add-service=high-availability
# firewall-cmd --permanent --add-service=high-availability
※ proxy環境での注意: pcs コマンド実行時は proxy 設定を無効化しておく必要があります。
unset https_proxy HTTPS_PROXY もしくは
export no_proxy=192.168.56.11,192.168.56.12 を設定しておくなど
# dnf install pm_extra_tools-1.4-1.el8.noarch.rpm
Rocky Linux 8 では
ha リポジトリを有効化します
28
Copyright(c) 2011 Linux-HA Japan Project 28
(6)-2 Pacemaker 追加設定 (ゲスト上で実行)
 /etc/sysconfig/pacemaker 設定 (両ノードで設定)
 故障検知時のfail_fast動作 (Linux-HA Japan での推奨設定)
 fence_ipmilan 用設定 (両ノードで設定)
 ACPI soft-off 動作の抑止
# vi /etc/sysconfig/pacemaker
(...)
PCMK_fail_fast=yes
PCMK_panic_action=sync-reboot
# vi /etc/systemd/logind.conf
(...)
HandlePowerKey=ignore
# systemctl restart systemd-logind.service
※ 詳細は Red Hat社ナレッジ参照
29
Copyright(c) 2011 Linux-HA Japan Project 29
(7) pm_pcsgen によるPacemakerリソース設定
パラメタシートの作成(xlsx, ods)
設定ファイルの変換
設定の一括反映
pcs cluster cib-push sample.xml --config
cib.xmlファイル
Pacemaker
CSVでエクスポート CSVファイル
pm_pcsgen sample.csv
pcs resource ...
pcs resource ...
pcs resource ...
pcsコマンドスクリプトと
設定一括反映用の一時
ファイルの両方を出力
30
Copyright(c) 2011 Linux-HA Japan Project 30
(7)pm_pcsgen 設定例(fence_ipmilan 抜粋)
https://github.com/kskmori/osc2022fall-demo/blob/main/pm_pcsgen-config/pm_pcsgen_osc2022fall.xlsx
31
Copyright(c) 2011 Linux-HA Japan Project 31
Pacemaker 起動画面(構築完了)
# pcs status
Cluster name: cluster_name
Cluster Summary:
* Stack: corosync
* Current DC: node1 (version 2.1.2-4.el8_6.2-ada5c3b36e2) - partition with quorum
* Last updated: Fri Oct 21 09:55:38 2022
* Last change: Thu Oct 20 13:24:37 2022 by root via crm_resource on node1
* 2 nodes configured
* 9 resource instances configured
Node List:
* Online: [ node1 node2 ]
Full List of Resources:
* Resource Group: pgsql-group:
* filesystem1 (ocf::heartbeat:Filesystem): Started node1
* filesystem2 (ocf::heartbeat:Filesystem): Started node1
* filesystem3 (ocf::heartbeat:Filesystem): Started node1
* ipaddr (ocf::heartbeat:IPaddr2): Started node1
* pgsql (ocf::linuxhajp:pgsql): Started node1
* Clone Set: ping-clone [ping]:
* Started: [ node1 node2 ]
* fence1-ipmilan (stonith:fence_ipmilan): Started node2
* fence2-ipmilan (stonith:fence_ipmilan): Started node1
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
fence_ipmilan を利用
したSTONITH構成
32
Copyright(c) 2011 Linux-HA Japan Project 32
デモ:PacemakerのSTONITH実行例
 故障事例:
 一時的なカーネルハング(VirtualBox 一時停止でエミュレーション)
33
Copyright(c) 2011 Linux-HA Japan Project 33
デモ:PacemakerのSTONITH実行例(結果)
 STONITH実行による node1 再起動発生
TODO: スクリーンショット
34
Copyright(c) 2011 Linux-HA Japan Project 34
デモ:STONITH実行後の状態
# pcs status --full
Cluster name: cluster_name
Cluster Summary:
* Stack: corosync
* Current DC: node2 (2) (version 2.1.2-4.el8_6.2-ada5c3b36e2) - partition with quorum
* Last updated: Fri Oct 21 10:22:33 2022
* Last change: Thu Oct 20 13:24:37 2022 by root via crm_resource on node1
* 2 nodes configured
* 9 resource instances configured
Node List:
* Online: [ node2 (2) ]
* OFFLINE: [ node1 (1) ]
Full List of Resources:
* Resource Group: pgsql-group:
* filesystem1 (ocf::heartbeat:Filesystem): Started node2
* filesystem2 (ocf::heartbeat:Filesystem): Started node2
* filesystem3 (ocf::heartbeat:Filesystem): Started node2
* ipaddr (ocf::heartbeat:IPaddr2): Started node2
* pgsql (ocf::linuxhajp:pgsql): Started node2
* Clone Set: ping-clone [ping]:
* ping (ocf::pacemaker:ping): Started node2
* ping (ocf::pacemaker:ping): Stopped
* fence1-ipmilan (stonith:fence_ipmilan): Started node2
* fence2-ipmilan (stonith:fence_ipmilan): Stopped
(一部略)
Fencing History:
* reboot of node1 successful: delegate=node2, client=pacemaker-controld.8732,
origin=node2, completed='2022-10-21 10:21:07Z'
node1 はOFFLINE
サービスは node2 へ
フェイルオーバ
STONITHの実行履歴
35
Copyright(c) 2011 Linux-HA Japan Project 35
デモ:PacemakerのSTONITH実行例
 その他のSTONITHが発動する故障事例:
 インターコネクトLAN全断
 再現手順例
 VirtualBox による疑似切断: 設定→ネットワーク→アダプター(1~4)→高度→ケーブル接続
 想定動作
 node2 (スタンバイノード)の電源断 (アクティブノード優先設定のため)
 アプリケーションプロセスハング(停止不可)
 再現手順例
 kill -STOP (PostgreSQLプロセスPID)
 想定動作
 pgsql RA monitor タイムアウト(60s)、stop タイムアウト(300s)発生後、
node1 電源断、フェイルオーバが発生
36
Copyright(c) 2011 Linux-HA Japan Project 36
使うの面倒くさそう!
ansible-playbook
ansible-playbookも用意しています
も用意しています
37
Copyright(c) 2011 Linux-HA Japan Project 37
VirtualBMC インストール用 playbook
 VirtualBMC インストール用 playbook リポジトリ
 インベントリの設定
 必要に応じて編集
 インストール
 「(3)-1 VirtualBMC インストール手順(WSL2内で実行)」を自動実行
 起動
 「(3)-2 VirtualBMC 起動手順(WSL2内で実行)」を自動実行
 Windows ホストを再起動した後はここから実行する
$ git clone https://github.com/kskmori/ansible-virtualbmc
$ cd ansible-virtualbmc
$ cp ansible.cfg.sample ansible.cfg
$ cp inventories/all.yml.sample-wsl2 inventories/all.yml
$ ansible-playbook 10-vbmc-install.yml -K
$ ansible-playbook 20-vbmc-start.yml -K
38
Copyright(c) 2011 Linux-HA Japan Project 38
デモ環境構築用 playbook
 今回のデモ環境全体を構築する playbook です
 以下の(1)~(7)の環境構築を実行します
VirtualBox仮想環境での構築 playbook / 個別playbookリポジトリ
(0) Windows 10 ホスト上での事前準備
(なし)
(1) 仮想マシン作成、仮想ネットワーク作成
(vagrant) 10-vagrant.yml
(2) OSインストール (vagrant)
(3) VirtualBMC インストール・設定 20-virtualbmc.yml
https://github.com/kskmori/ansible-virtualbmc
(4) iSCSI共有ディスク設定
30-postgresql-shared.yml
https://github.com/kskmori/ansible-postgresql-shared
(5) PostgreSQLインストール
(6) Pacemaker インストール
40-pacemaker.yml
https://github.com/kskmori/ansible-pacemaker-rocky8
(7) Pacemaker リソース設定
(fence_ipmilan)
$ git clone --recursive https://github.com/kskmori/osc2022fall-demo
39
Copyright(c) 2011 Linux-HA Japan Project 39
 Pacemakerとは
 問題:
仮想環境でPacmaker実験環境を作りたいけど、フェンス
エージェントがない!
 解決案:
STONITHが動作するPacemaker環境を Windows +
VirtualBox 上で作ってみた!
 おわりに
もくじ
40
Copyright(c) 2011 Linux-HA Japan Project 40
 Windows + VirtualBox 仮想環境上で Pacemaker の
STONITH動作環境ができました!
 想定用途
 Pacemakerの学習・習熟用
 本番環境(物理環境)構築前のPacemaker設定事前確認用
 注意点
 商用環境では利用できません
 同一物理ノード上でクラスタを構築しても冗長性はありません。
 VirtualBMCが新たな単一故障点(SPOF)になりえます。
まとめ
41
Copyright(c) 2011 Linux-HA Japan Project 41
おわりに
 疑問:
「そもそもクラウド全盛のこの時代に、物理ノードの
HAクラスタなんているの? 令和やぞ?」
 それはそう
 でも適用領域が減っているとはいえ、必要とされる場面はある
 クラウド・コンテナ時代のHAクラスタの使われ方
 クラウド上でのサービス監視
 クラウド基盤だけでは対応できない個別のアプリケーション監視
 クラウド・コンテナ基盤の冗長化
 OpenStack コントローラノードの冗長化など
 オンプレミスとクラウドのハイブリッド
 全てのサービスがクラウド化に適しているとは限らない
42
Copyright(c) 2011 Linux-HA Japan Project 42
 Linux-HA Japan ウェブサイトURL
 メーリングリストへのご参加もお待ちしております。
Pacemakerをさらに詳しく知りたかったら…
https://linux-ha.osdn.jp/
https://linux-ha.osdn.jp/
43
Copyright(c) 2011 Linux-HA Japan Project 43
おわり
 Linux-HA Japan をこれからもよろしくお願いします!

Weitere ähnliche Inhalte

Was ist angesagt?

試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』健太 松浦
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてNobuyuki Sasaki
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
痛い目にあってわかる HAクラスタのありがたさ
痛い目にあってわかる HAクラスタのありがたさ痛い目にあってわかる HAクラスタのありがたさ
痛い目にあってわかる HAクラスタのありがたさTakatoshi Matsuo
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...VirtualTech Japan Inc.
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateHiroki Ishikawa
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!NTT DATA Technology & Innovation
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 

Was ist angesagt? (20)

試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
痛い目にあってわかる HAクラスタのありがたさ
痛い目にあってわかる HAクラスタのありがたさ痛い目にあってわかる HAクラスタのありがたさ
痛い目にあってわかる HAクラスタのありがたさ
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 

Ähnlich wie VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! VirtualBMCの活用

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!ksk_ha
 
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使うVagrant を Web開発環境に使う
Vagrant を Web開発環境に使うMasashi Shinbara
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Takashi Kanai
 
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)Akihiro Suda
 
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法samemoon
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用Toshiki Tsuboi
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会samemoon
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはksk_ha
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CDYuta Matsumura
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 

Ähnlich wie VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! VirtualBMCの活用 (20)

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使うVagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
 
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 

VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! VirtualBMCの活用

  • 1. Copyright(c) 2022 Linux-HA Japan Project VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! VirtualBMCの活用 2022年10月28日 Linux-HA Japan プロジェクト https://linux-ha.osdn.jp/ 森 啓介
  • 2. 2 Copyright(c) 2011 Linux-HA Japan Project 2 自己紹介  名前: 森 啓介 (Keisuke MORI)  twitter: @ksk_ha  Linux-HA Japanプロジェクト関連の活動  Pacemaker追加ツールのリリース  https://linux-ha.osdn.jp/  ClusterLabs プロジェクトのコミッタ  Pacemaker、resource-agents などHAクラスタ関連の開発コミュニティ  https://github.com/ClusterLabs/  本業  普段の業務: NTT OSSセンタ  NTTグループ内におけるPacemaker(HA Add-On)の導入支援・サポート  バグ報告・パッチ作成などによるNTTから開発コミュニティへのフィードバック・貢献
  • 3. 3 Copyright(c) 2011 Linux-HA Japan Project 3 いかがでしたか いかがでしたか? ? 本日のトピック Pacemaker Pacemaker の の STONITH STONITH 試験環境を 試験環境を Windows Windows上の 上の VirtualBox VirtualBox 仮想環境で 仮想環境で 作ってみました! 作ってみました!
  • 4. 4 Copyright(c) 2011 Linux-HA Japan Project 4  Pacemakerとは  問題: 仮想環境でPacmaker実験環境を作りたいけど、フェンス エージェントがない!  解決案: STONITHが動作するPacemaker環境を Windows + VirtualBox 上で作ってみた!  おわりに もくじ
  • 5. 5 Copyright(c) 2011 Linux-HA Japan Project 5 Pacemaker?なにそれおいしいの?  Pacemakerとは、 オープンソースのHAクラスタソフトウェアです。 H High A Availability = 高可用性 サービスが停止する時間を できる限り短くする! こと
  • 6. 6 Copyright(c) 2011 Linux-HA Japan Project 6 Pacemakerの概要 サーバ#1 サーバ#2 サービスの監視・制御 サーバ間の監視・制御  サーバ・アプリケーションの故障監視
  • 7. 7 Copyright(c) 2011 Linux-HA Japan Project 7 Pacemakerの概要 サーバ#1 サーバ#2 サービスのフェイルオーバ  故障検知時、自動的にフェイルオーバ  ダウンタイムの最小化  STONITHによるデータの安全性確保 STONITH(強制電源断)
  • 8. 8 Copyright(c) 2011 Linux-HA Japan Project 8 STONITH機能(フェンシング)とは?  フェンスを立てて隔離すること 大事なデータを守る!
  • 9. 9 Copyright(c) 2011 Linux-HA Japan Project 9 STONITH機能(フェンシング)の重要性  STONITH機能の目的  スプリットブレイン対策(排他制御) ⇒ データ破損の防止  制御不能な故障ノードの強制停止 ⇒ サービス継続性の向上  RHEL 8 HA Add-On ではSTONITH機能の利用は必須です  stonith-enabled=true (デフォルト設定)
  • 10. 10 Copyright(c) 2011 Linux-HA Japan Project 10 フェンスエージェントの種類(主なもの) 環境 フェンスエージェント 説明 物理環境 fence_ipmilan 物理環境用。IPMIによる強制電源断 仮想環境 fence_vmware_rest VMware仮想環境用。vCenter を経由した仮想マシンの電源断 クラウド環境 fence_aws AWS環境用。APIを経由した仮想マシンの電源断 fence_azure Azure環境用。APIを経由した仮想マシンの電源断 fence_gcp GCP環境用。APIを経由した仮想マシンの電源断 共有ディスク環境 (物理/仮想/クラウド) fence_sbd 共有ディスク領域とwatchdogを利用した電源断 ハードウェアwatchdog が必須 fence_scsi SCSIリザベーション機能を利用したI/Oフェンシング ハードウェアwatchdogが利用不可の環境でも利用可  フェンスエージェント(STONITH機能用のモジュール)は 環境に合わせたものを利用します。
  • 11. 11 Copyright(c) 2011 Linux-HA Japan Project 11  Pacemakerとは  問題: 仮想環境でPacmaker実験環境を作りたいけど、フェンス エージェントがない!  解決案: STONITHが動作するPacemaker環境を Windows + VirtualBox 上で作ってみた!  おわりに もくじ
  • 12. 12 Copyright(c) 2011 Linux-HA Japan Project 12 Pacemakerを実際に触ってみたい!けど…?  要望: 試しに軽く使ってみたいので、 Windows + VirtualBox で実験用の仮想環境を作りたい!  本番環境は物理マシンでも、いまどき自分の実験に使える物理マシンなん て気軽に用意できるとは限らない  個人ですぐ用意できる環境として VirtualBox はとてもお手軽  しかし…  問題: フェンスエージェントがない!  「STONITH機能は必須」「フェンスエージェントは環境に合わせる」  …と言われても、 Windows + VirtualBox 上ではどうすればいいの!? » ※VMware環境や対応クラウド環境が使えるのであれば、その環境に合わせたフェンスエージェントを使 うことができます。しかし設定方法やクラウド固有のAPI仕様など環境ごとの違いに注意する必要があり ます。
  • 13. 13 Copyright(c) 2011 Linux-HA Japan Project 13 IPMI(ハードウェア制御ボード)は仮想化できないの?  実はそういうものがあります  VirualBMC  仮想BMC(Baseboard Management Controller)ソフトウェア  IPMI経由で仮想マシンを制御することが可能。  OpenStack の一プロジェクト  https://github.com/openstack/virtualbmc  動作環境  ホストOS: Linux  仮想マシンの制御: libvirt/KVM  今回やったこと: これを Windows 上で動かしてみよう!  ホストOS: Windows 10 + WSL2 (Ubuntu)  (Ubuntuなんだからサクッと動くんじゃね?)  仮想マシンの制御: VirtualBox  (libvirtのAPIの代わりに VBoxManage コマンドを使うように修正すればいいじゃん)  ⇒ これでPacemakerを物理環境と同じ設定で動かせる!
  • 14. 14 Copyright(c) 2011 Linux-HA Japan Project 14  Pacemakerとは  問題: 仮想環境でPacmaker実験環境を作りたいけど、フェンス エージェントがない!  解決案: STONITHが動作するPacemaker環境を Windows + VirtualBox 上で作ってみた!  おわりに もくじ
  • 15. 15 Copyright(c) 2011 Linux-HA Japan Project 15 本番環境構成例 (物理環境) Pacemaker node1 Rocky Linux 8 PostgreSQL fence_ipmilan Filesystem他 Filesystem他 node2 Pacemaker Rocky Linux 8 fence_ipmilan eth1 eth1 eth2 eth3 eth3 eth4 eth4 eth2 サービスLAN 192.168.59.0/24 管理LAN 192.168.56.0/24 インターコネクトLAN1 192.168.57.0/24 インターコネクトLAN2 192.168.58.0/24 HBA HBA 共有ストレージ SAN ハードウェア制御 ボード(iLO等)
  • 16. 16 Copyright(c) 2011 Linux-HA Japan Project 16 検証用環境構成 (VirtualBox 仮想環境) Pacemaker node1 Rocky Linux 8 PostgreSQL fence_ipmilan Filesystem他 Filesystem他 node2 VirtualBox Windows 10 ホスト WSL2 Pacemaker Rocky Linux 8 fence_ipmilan VirtualBMC (vbox対応版) eth0 eth0 eth1 eth1 eth2 eth3 eth3 eth4 eth4 eth2 サービスLAN 192.168.59.0/24 管理LAN 192.168.56.0/24 インターコネクトLAN1 192.168.57.0/24 インターコネクトLAN2 192.168.58.0/24 共有ストレージ storage iSCSI 管理LAN(WSL内) 192.168.99.0/24 Vagrant generic/rocky8 box Rocky Linux 8
  • 17. 17 Copyright(c) 2011 Linux-HA Japan Project 17 検証用環境構成 (VirtualBox 仮想環境) Pacemaker node1 Rocky Linux 8 PostgreSQL fence_ipmilan Filesystem他 Filesystem他 node2 VirtualBox Windows 10 ホスト WSL2 Pacemaker Rocky Linux 8 fence_ipmilan VirtualBMC (vbox対応版) eth0 eth0 eth1 eth1 eth2 eth3 eth3 eth4 eth4 eth2 サービスLAN 192.168.59.0/24 管理LAN 192.168.56.0/24 インターコネクトLAN1 192.168.57.0/24 インターコネクトLAN2 192.168.58.0/24 共有ストレージ 管理LAN(WSL内) 192.168.99.0/24 storage iSCSI IPMI power off VBoxManageコマンド による電源断 Rocky Linux 8 Vagrant generic/rocky8 box
  • 18. 18 Copyright(c) 2011 Linux-HA Japan Project 18 環境構築手順概要 物理環境での構築 VirtualBox仮想環境での構築 (0) - Windows 10 ホスト上での事前準備 (1) マシンセットアップ、ネットワーク接続 仮想マシン作成、仮想ネットワーク作成 (vagrant) (2) OSインストール OSインストール (vagrant) (3) ハードウェア制御ボード設定(iLO等) VirtualBMC インストール・設定 (4) FC共有ディスク設定 iSCSI共有ディスク設定 (5) PostgreSQL インストール PostgreSQLインストール (6) Pacemaker インストール Pacemaker インストール (7) Pacemaker リソース設定 (fence_ipmilan) Pacemaker リソース設定 (fence_ipmilan)
  • 19. 19 Copyright(c) 2011 Linux-HA Japan Project 19 (0)Windows 10 ホスト上での事前準備  VirtualBox のインストール  https://www.virtualbox.org/wiki/Downloads  Vagrant のインストール  https://www.vagrantup.com/downloads  WSL2 のインストール  https://learn.microsoft.com/ja-jp/windows/wsl/install  ディストリビューション: Ubuntu (Ubuntu-20.04 LTS)  ※Symantec Endpoint Protection (SEP) を利用している場合  WSL2から外部への通信を行うための設定が必要 » 設定の変更 → ネットワークとホストのエクスプロイト緩和機能 → オプションの設定 → 不一致トラフィックの設定 → IPトラフィックを許可する  参考情報 (他の対処方法など) » https://kemasoft.net/?vm/wsl2%A4%C8SEP%A4%C8stone#w98afb3e » https://computational-sediment-hyd.hatenablog.jp/entry/2022/05/02/231428 > wsl --install -d Ubuntu
  • 20. 20 Copyright(c) 2011 Linux-HA Japan Project 20 (0)-2 Windows 10 ホスト上での事前準備  WSL2 の設定 (必要に応じて設定)  ansible-playbook (後述)を利用する場合の設定  proxy環境での設定  WSL2の再起動 (設定の反映) [automount] options = "metadata" $ sudo vi /etc/wsl.conf $ exit > wsl –-shutdown > wsl $ http_proxy=http://PROXY:8080/ https_proxy=http://PROXY:8080/ $ sudo vi /etc/environment export http_proxy=http://PROXY:8080/ export https_proxy=http://PROXY:8080/ #export VAGRANT_CWD=/mnt/c/Users/xxx/vagrant export WSLENV=VAGRANT_CWD/p:http_proxy:https_proxy $ vi $HOME/.bashrc ※ proxy環境変数は両方で 設定しておいた方が無難 ※ vagrantを使う場合は好みで 設定しておくと便利 Windowsファイルシステム上 (/mnt/c/配下)でも、playbookや ssh鍵のパーミッションが 正しく設定可能となる。
  • 21. 21 Copyright(c) 2011 Linux-HA Japan Project 21 (0)-3 Windows 10 ホスト上での事前準備  WSL2 上のansibleのインストール (必要に応じて設定)  ansible-playbook (後述)を利用する場合にインストールする  Ansible インストール手順  参考  公式のインストール手順 https://docs.ansible.com/ansible/latest/installation_guide/installatio n_distros.html#installing-ansible-on-ubuntu  proxy環境でエラーが出る場合は以下の設定も追加 $ sudo apt update $ sudo apt install software-properties-common $ sudo add-apt-repository --yes --update ppa:ansible/ansible $ sudo apt install ansible $ sudo vi /etc/apt/apt.conf.d/99proxy Acquire::http::proxy "http://PROXY:8080/"; Acquire::https::proxy "http://PROXY:8080/"; Acquire::http::Timeout "300";
  • 22. 22 Copyright(c) 2011 Linux-HA Japan Project 22 本日のトピック ここからが本題です ここからが本題です
  • 23. 23 Copyright(c) 2011 Linux-HA Japan Project 23 (3)-1 VirtualBMC インストール手順(WSL2内で実行)  VirtualBMC (vbox対応版)のチェックアウト  Python 仮想環境の作成とインストール  VirtualBMC 設定ファイルの作成 $ git clone https://github.com/kskmori/virtualbmc-vbox $ cd virtualbmc-vbox $ git checkout devel-vbox-2.0 $ cd .. $ python3 -m venv --without-pip ./venv-vbmc $ . ./venv-vbmc/bin/activate $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ python get-pip.py $ pip install --upgrade pip $ pip install -e ./virtualbmc-vbox/ $ deactivate $ sudo mkdir /root/.vbmc/ $ sudo vi /root/.vbmc/virtualbmc.conf [log] logfile: /var/log/virtualbmc.log #debug: true [vbox] vbox_user: USER vbox対応版固有の設定項目 WSL2のユーザ名($USER) を設定 vbox 対応版の ブランチをチェックアウト WSL2では pip を個別に インストールする必要あり
  • 24. 24 Copyright(c) 2011 Linux-HA Japan Project 24 (3)-2 VirtualBMC 起動手順(WSL2内で実行)  管理LAN(WSL内)の設定(要管理者権限)  VirtualBMCデーモン(vbmcd)の起動  IPMI受付用IPアドレスの設定 (2ノード分)  VirtualBMC ノード追加設定 (2ノード分)  VirtualBMC 実行開始 (2ノード分) $ powershell.exe Start-Process -Verb RunAs powershell.exe -ArgumentList "'-Command New-NetIPAddress -IPAddress 192.168.99.1 -PrefixLength 24 -InterfaceAlias ''vEthernet (WSL)'''" $ sudo ./venv-vbmc/bin/vbmc add --username pacemaker --password pacemakerpass1 --address 192.168.99.91 node1 $ sudo ./venv-vbmc/bin/vbmc add --username pacemaker --password pacemakerpass1 --address 192.168.99.92 node2 $ sudo ip addr add 192.168.99.91 dev eth0 $ sudo ip addr add 192.168.99.92 dev eth0 $ sudo ./venv-vbmc/bin/vbmcd $ sudo ./venv-vbmc/bin/vbmc start node1 $ sudo ./venv-vbmc/bin/vbmc start node2 WSL2内でIPアドレスを固定するために 個別のサブネット用アドレスを設定 ハードウェア制御ボード (iLO等)の設定に相当する
  • 25. 25 Copyright(c) 2011 Linux-HA Japan Project 25 (3)-3 VirtualBMC 状態確認(WSL2内で実行)  VirtualBMC 状態確認 実行例 $ sudo ./venv-vbmc/bin/vbmc list +-------------+---------+---------------+------+ | Domain name | Status | Address | Port | +-------------+---------+---------------+------+ | node1 | running | 192.168.99.91 | 623 | | node2 | running | 192.168.99.92 | 623 | +-------------+---------+---------------+------+
  • 26. 26 Copyright(c) 2011 Linux-HA Japan Project 26 物理環境での構築 VirtualBox仮想環境での構築 (0) - Windows 10 ホスト上での事前準備 (1) マシンセットアップ、ネットワーク接続 仮想マシン作成、仮想ネットワーク作成 (vagrant) (2) OSインストール OSインストール (vagrant) (3) ハードウェア制御ボード設定(iLO等) VirtualBMC インストール・設定 (4) FC共有ディスク設定 iSCSI共有ディスク設定 (5) PostgreSQL インストール PostgreSQLインストール (6) Pacemaker インストール Pacemaker インストール (7) Pacemaker リソース設定 (fence_ipmilan) Pacemaker リソース設定 (fence_ipmilan) 環境構築手順概要 省略 省略 省略 省略 済 済
  • 27. 27 Copyright(c) 2011 Linux-HA Japan Project 27 (6)-1 Pacemaker インストール手順(ゲスト上で実行)  Pacmaker のインストール (両ノードで実行)  pm_extra_tools (Linux-HA Japan追加ツール)のインストール(両ノードで実行)  ダウンロードURL: https://linux-ha.osdn.jp/wp/dl  firewall設定 (両ノードで実行)  クラスタの作成 (いずれか一つのノードで実行) # dnf install pcs pacemaker fence-agents-all --enablerepo=ha # passwd hacluster New password: # systemctl start pcsd.service # systemctl enable pcsd.service # pcs host auth node1 addr=192.168.56.11 node2 addr=192.168.56.12 -u hacluster Password: # pcs cluster setup cluster_name node1 addr=192.168.57.11 addr=192.168.58.11 node2 addr=192.168.57.12 addr=192.168.58.12 # firewall-cmd –-add-service=high-availability # firewall-cmd --permanent --add-service=high-availability ※ proxy環境での注意: pcs コマンド実行時は proxy 設定を無効化しておく必要があります。 unset https_proxy HTTPS_PROXY もしくは export no_proxy=192.168.56.11,192.168.56.12 を設定しておくなど # dnf install pm_extra_tools-1.4-1.el8.noarch.rpm Rocky Linux 8 では ha リポジトリを有効化します
  • 28. 28 Copyright(c) 2011 Linux-HA Japan Project 28 (6)-2 Pacemaker 追加設定 (ゲスト上で実行)  /etc/sysconfig/pacemaker 設定 (両ノードで設定)  故障検知時のfail_fast動作 (Linux-HA Japan での推奨設定)  fence_ipmilan 用設定 (両ノードで設定)  ACPI soft-off 動作の抑止 # vi /etc/sysconfig/pacemaker (...) PCMK_fail_fast=yes PCMK_panic_action=sync-reboot # vi /etc/systemd/logind.conf (...) HandlePowerKey=ignore # systemctl restart systemd-logind.service ※ 詳細は Red Hat社ナレッジ参照
  • 29. 29 Copyright(c) 2011 Linux-HA Japan Project 29 (7) pm_pcsgen によるPacemakerリソース設定 パラメタシートの作成(xlsx, ods) 設定ファイルの変換 設定の一括反映 pcs cluster cib-push sample.xml --config cib.xmlファイル Pacemaker CSVでエクスポート CSVファイル pm_pcsgen sample.csv pcs resource ... pcs resource ... pcs resource ... pcsコマンドスクリプトと 設定一括反映用の一時 ファイルの両方を出力
  • 30. 30 Copyright(c) 2011 Linux-HA Japan Project 30 (7)pm_pcsgen 設定例(fence_ipmilan 抜粋) https://github.com/kskmori/osc2022fall-demo/blob/main/pm_pcsgen-config/pm_pcsgen_osc2022fall.xlsx
  • 31. 31 Copyright(c) 2011 Linux-HA Japan Project 31 Pacemaker 起動画面(構築完了) # pcs status Cluster name: cluster_name Cluster Summary: * Stack: corosync * Current DC: node1 (version 2.1.2-4.el8_6.2-ada5c3b36e2) - partition with quorum * Last updated: Fri Oct 21 09:55:38 2022 * Last change: Thu Oct 20 13:24:37 2022 by root via crm_resource on node1 * 2 nodes configured * 9 resource instances configured Node List: * Online: [ node1 node2 ] Full List of Resources: * Resource Group: pgsql-group: * filesystem1 (ocf::heartbeat:Filesystem): Started node1 * filesystem2 (ocf::heartbeat:Filesystem): Started node1 * filesystem3 (ocf::heartbeat:Filesystem): Started node1 * ipaddr (ocf::heartbeat:IPaddr2): Started node1 * pgsql (ocf::linuxhajp:pgsql): Started node1 * Clone Set: ping-clone [ping]: * Started: [ node1 node2 ] * fence1-ipmilan (stonith:fence_ipmilan): Started node2 * fence2-ipmilan (stonith:fence_ipmilan): Started node1 Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/enabled fence_ipmilan を利用 したSTONITH構成
  • 32. 32 Copyright(c) 2011 Linux-HA Japan Project 32 デモ:PacemakerのSTONITH実行例  故障事例:  一時的なカーネルハング(VirtualBox 一時停止でエミュレーション)
  • 33. 33 Copyright(c) 2011 Linux-HA Japan Project 33 デモ:PacemakerのSTONITH実行例(結果)  STONITH実行による node1 再起動発生 TODO: スクリーンショット
  • 34. 34 Copyright(c) 2011 Linux-HA Japan Project 34 デモ:STONITH実行後の状態 # pcs status --full Cluster name: cluster_name Cluster Summary: * Stack: corosync * Current DC: node2 (2) (version 2.1.2-4.el8_6.2-ada5c3b36e2) - partition with quorum * Last updated: Fri Oct 21 10:22:33 2022 * Last change: Thu Oct 20 13:24:37 2022 by root via crm_resource on node1 * 2 nodes configured * 9 resource instances configured Node List: * Online: [ node2 (2) ] * OFFLINE: [ node1 (1) ] Full List of Resources: * Resource Group: pgsql-group: * filesystem1 (ocf::heartbeat:Filesystem): Started node2 * filesystem2 (ocf::heartbeat:Filesystem): Started node2 * filesystem3 (ocf::heartbeat:Filesystem): Started node2 * ipaddr (ocf::heartbeat:IPaddr2): Started node2 * pgsql (ocf::linuxhajp:pgsql): Started node2 * Clone Set: ping-clone [ping]: * ping (ocf::pacemaker:ping): Started node2 * ping (ocf::pacemaker:ping): Stopped * fence1-ipmilan (stonith:fence_ipmilan): Started node2 * fence2-ipmilan (stonith:fence_ipmilan): Stopped (一部略) Fencing History: * reboot of node1 successful: delegate=node2, client=pacemaker-controld.8732, origin=node2, completed='2022-10-21 10:21:07Z' node1 はOFFLINE サービスは node2 へ フェイルオーバ STONITHの実行履歴
  • 35. 35 Copyright(c) 2011 Linux-HA Japan Project 35 デモ:PacemakerのSTONITH実行例  その他のSTONITHが発動する故障事例:  インターコネクトLAN全断  再現手順例  VirtualBox による疑似切断: 設定→ネットワーク→アダプター(1~4)→高度→ケーブル接続  想定動作  node2 (スタンバイノード)の電源断 (アクティブノード優先設定のため)  アプリケーションプロセスハング(停止不可)  再現手順例  kill -STOP (PostgreSQLプロセスPID)  想定動作  pgsql RA monitor タイムアウト(60s)、stop タイムアウト(300s)発生後、 node1 電源断、フェイルオーバが発生
  • 36. 36 Copyright(c) 2011 Linux-HA Japan Project 36 使うの面倒くさそう! ansible-playbook ansible-playbookも用意しています も用意しています
  • 37. 37 Copyright(c) 2011 Linux-HA Japan Project 37 VirtualBMC インストール用 playbook  VirtualBMC インストール用 playbook リポジトリ  インベントリの設定  必要に応じて編集  インストール  「(3)-1 VirtualBMC インストール手順(WSL2内で実行)」を自動実行  起動  「(3)-2 VirtualBMC 起動手順(WSL2内で実行)」を自動実行  Windows ホストを再起動した後はここから実行する $ git clone https://github.com/kskmori/ansible-virtualbmc $ cd ansible-virtualbmc $ cp ansible.cfg.sample ansible.cfg $ cp inventories/all.yml.sample-wsl2 inventories/all.yml $ ansible-playbook 10-vbmc-install.yml -K $ ansible-playbook 20-vbmc-start.yml -K
  • 38. 38 Copyright(c) 2011 Linux-HA Japan Project 38 デモ環境構築用 playbook  今回のデモ環境全体を構築する playbook です  以下の(1)~(7)の環境構築を実行します VirtualBox仮想環境での構築 playbook / 個別playbookリポジトリ (0) Windows 10 ホスト上での事前準備 (なし) (1) 仮想マシン作成、仮想ネットワーク作成 (vagrant) 10-vagrant.yml (2) OSインストール (vagrant) (3) VirtualBMC インストール・設定 20-virtualbmc.yml https://github.com/kskmori/ansible-virtualbmc (4) iSCSI共有ディスク設定 30-postgresql-shared.yml https://github.com/kskmori/ansible-postgresql-shared (5) PostgreSQLインストール (6) Pacemaker インストール 40-pacemaker.yml https://github.com/kskmori/ansible-pacemaker-rocky8 (7) Pacemaker リソース設定 (fence_ipmilan) $ git clone --recursive https://github.com/kskmori/osc2022fall-demo
  • 39. 39 Copyright(c) 2011 Linux-HA Japan Project 39  Pacemakerとは  問題: 仮想環境でPacmaker実験環境を作りたいけど、フェンス エージェントがない!  解決案: STONITHが動作するPacemaker環境を Windows + VirtualBox 上で作ってみた!  おわりに もくじ
  • 40. 40 Copyright(c) 2011 Linux-HA Japan Project 40  Windows + VirtualBox 仮想環境上で Pacemaker の STONITH動作環境ができました!  想定用途  Pacemakerの学習・習熟用  本番環境(物理環境)構築前のPacemaker設定事前確認用  注意点  商用環境では利用できません  同一物理ノード上でクラスタを構築しても冗長性はありません。  VirtualBMCが新たな単一故障点(SPOF)になりえます。 まとめ
  • 41. 41 Copyright(c) 2011 Linux-HA Japan Project 41 おわりに  疑問: 「そもそもクラウド全盛のこの時代に、物理ノードの HAクラスタなんているの? 令和やぞ?」  それはそう  でも適用領域が減っているとはいえ、必要とされる場面はある  クラウド・コンテナ時代のHAクラスタの使われ方  クラウド上でのサービス監視  クラウド基盤だけでは対応できない個別のアプリケーション監視  クラウド・コンテナ基盤の冗長化  OpenStack コントローラノードの冗長化など  オンプレミスとクラウドのハイブリッド  全てのサービスがクラウド化に適しているとは限らない
  • 42. 42 Copyright(c) 2011 Linux-HA Japan Project 42  Linux-HA Japan ウェブサイトURL  メーリングリストへのご参加もお待ちしております。 Pacemakerをさらに詳しく知りたかったら… https://linux-ha.osdn.jp/ https://linux-ha.osdn.jp/
  • 43. 43 Copyright(c) 2011 Linux-HA Japan Project 43 おわり  Linux-HA Japan をこれからもよろしくお願いします!