Index ソフト・ハード | Pacemaker |
機能 構成・方式 タスク 導入 CentOS7 仮想化 リポジトリ インストール アップデート ShortName ノード間通信 PKG確認 FW設定 corosync.conf 認証鍵ファイル 環境変数初期 property rsc_defaults 起動スクリプト 起動・停止 corosync確認 pacemaker確認 リソース追加 テスト 環境変数設定 リソースcrm設定 参考 pcsを使用 pcs起動 CRMファイル 自作RA |
CentOS7 ・ CentOS7インストール ・NTPはオン 仮想化 ・ KVM仮想化 リポジトリを追加 ・crmshを使う場合は、linux-haのリポジトリを使うのが無難 pcs(pcsd)を使う場合は、そのままで・CentOS同梱版のPacemakerと混在しないように、除外(exclude)設定(1.1.19-1.1版) 「/etc/yum.repos.d/CentOS-Base.repo」に追加
[base]
・・・
exclude=pacemaker* corosync* resource-agents* crmsh* cluster-glue* libqb* fence-agents*
[updates]
・・・
exclude=pacemaker* corosync* resource-agents* crmsh* cluster-glue* libqb* fence-agents*
(pcsはBase.repを使用するので、除外しない。)・リポジトリインストール(CentOS7、直接rpmをインストール(yum localinstall )) (既に、yum updateなどで 1.1.23-1.el7 へ更新済の場合は、何もしない(rpm削除済)か、エラー表示) (戻す場合、pacemaker、corosyncをremove、reboot後実施) # yum -y localinstall https://ja.osdn.net/projects/linux-ha/downloads/71663/pacemaker-repo-1.1.21-1.1.el7.x86_64.rpm /var/tmp/yum-root-TGOmW5/pacemaker-repo-1.1.21-1.1.el7.x86_64.rpm をインストール済みとして設定 パッケージ pacemaker-repo.x86_64 0:1.1.21-1.1.el7 を インストール 依存性を解決しました 完了しました!CentOS7にインストール ・インストール # yum install -y pacemaker-all
=================================================
Package アーキテクチャー バージョン リポジトリー
=================================================
pacemaker-all noarch 1.1.21-1.1.el7 linux-ha-ja-pacemaker
依存性関連でのインストール:
NetworkManager-config-server noarch 1:1.18.8-2.el7_9 updates
OpenIPMI x86_64 2.0.27-1.el7 base
OpenIPMI-libs x86_64 2.0.27-1.el7 base
OpenIPMI-modalias x86_64 2.0.27-1.el7 base
cluster-glue x86_64 1.0.12-5.el7 linux-ha-ja-pacemaker
cluster-glue-libs x86_64 1.0.12-5.el7 linux-ha-ja-pacemaker
corosync x86_64 2.4.4-2.el7 linux-ha-ja-pacemaker
corosynclib x86_64 2.4.4-2.el7 linux-ha-ja-pacemaker
crmsh x86_64 2.1.9-1.el7 linux-ha-ja-pacemaker
ipmitool x86_64 1.8.18-9.el7_7 base
openhpi-libs x86_64 3.8.0-1.el7 base
pacemaker x86_64 1.1.21-1.el7 linux-ha-ja-pacemaker
pacemaker-cli x86_64 1.1.21-1.el7 linux-ha-ja-pacemaker
pacemaker-cluster-libs x86_64 1.1.21-1.el7 linux-ha-ja-pacemaker
pacemaker-libs x86_64 1.1.21-1.el7 linux-ha-ja-pacemaker
pm_crmgen noarch 2.2-1.el7 linux-ha-ja-pacemaker
pm_diskd x86_64 2.4-1.el7 linux-ha-ja-pacemaker
pm_extras x86_64 2.5-1.el7 linux-ha-ja-pacemaker
pm_logconv-cs noarch 2.6-1.el7 linux-ha-ja-pacemaker
pssh noarch 2.3.1-5.el7 linux-ha-ja-pacemaker
依存性関連での更新:
libqb x86_64 1.0.5-1.el7 linux-ha-ja-pacemaker
resource-agents x86_64 4.3.0-1.el7 linux-ha-ja-pacemaker
完了しました!
アップデート ・APアップデート (アップデート済の場合、No packages marked for update) # yum update インストール 1 パッケージ 更新 205 パッケージ 完了しました!ShortName ・hostnamectlツールを使用して、ドメイン名を削除する場合 # uname -n # hostnamectl set-hostname $(uname -n | sed s/\\..*//) # uname -nノード間通信確認 ・hosts設定 インターコネクト用・hosts確認 # grep xxxx(kvmなど) /etc/hostsパッケージ確認 ・pacemaker
# yum info pacemaker
インストール済みパッケージ
名前 : pacemaker
アーキテクチャー : x86_64
バージョン : 1.1.21
リリース : 1.el7
リポジトリー : installed
提供元リポジトリー : linux-ha-ja-pacemaker
・crmsh crmshは、インストール済 # yum info crmsh
インストール済みパッケージ
名前 : crmsh
アーキテクチャー : x86_64
バージョン : 2.1.9
リリース : 1.el7
リポジトリー : installed
提供元リポジトリー : linux-ha-ja-pacemaker
ファイアウォール設定 ・CentOS7ファイアウォールを設定 # firewall-cmd --permanent --add-service=high-availability # firewall-cmd --reloadcorosync.conf ・corosync.confを修正 認証鍵ファイル ・corosync認証鍵ファイルを設定 環境変数初期 ・/etc/sysconfig/pacemaker
# pacemakerの内部プロセスが故障した場合も、ノード故障として取り扱う
# PCMK_fail_fast=no
PCMK_fail_fast=yes
property ・propertyを設定 rsc_defaults ・rsc_defaultsを設定 起動スクリプト ・pacemakerサービス停止時に corosyncサービスも同時に停止させる ・corosyncプロセス故障時に watchdog 機能を有効にする 起動・停止 ・起動・停止 # systemctl start pacemaker.service # systemctl stop pacemaker.service・起動確認 # crm_mon -D1corosync確認 ・クラスター通信の正常確認 ・ 固定IP正常確認 pacemaker確認 ・プロセス確認 ifcheckdプロセス確認・ status確認 ・ 設定の有効性を確認 リソース追加 ・リソース追加 フローティングIPアドレステスト ・フェールオーバーのテスト # pcs status フローティングIPアドレスのステータスが開始されている側のPMを止める。 # systemctl stop pacemaker.service # pcs status フローティングIPアドレスのステータスの移動を確認 フェールオーバーは自動的に発生し、エラーは報告されない。環境変数設定 ・/etc/sysconfig/pacemaker
# "cman"はinitスクリプトを起動および停止させる
# PCMK_STACK=cman
#デバッグロギング
# e.g. PCMK_debug=crmd,pengine
# PCMK_debug=yes|no|crmd|pengine|cib|stonith-ng|attrd|pacemakerd
# 指定されたファイルに詳細なログメッセージを送信
# PCMK_logfile=/var/log/pacemaker.log
PCMK_logfile=none
# 指定されたsyslog機能を使用して、syslogを介したロギングを有効にする
# PCMK_logfacility=none|daemon|user|local0|local1|local2|local3|local4|local5|local6|local7
PCMK_logfacility=local1
# 指定された重大度以上がsyslogに送信されます。デフォルト値「注意」
# PCMK_logpriority=emerg|alert|crit|error|warning|notice|info|debug
PCMK_logpriority=info
# コンマ区切りの関数リストからすべてのメッセージをログに記録
# PCMK_trace_functions=function1,function2,function3
# ファイルのコンマ区切りリストからのすべてのメッセージをログに記録
# PCMK_trace_files=file.c,other.h
# コンマ区切りのフォーマットのリストに一致するすべてのメッセージをログに記録
# PCMK_trace_formats="Sent delete %d"
# タグのコンマ区切りリストからすべてのメッセージをログに記録
# PCMK_trace_tags=tag1,tag2
# functionとlineの位置にメッセージが表示されるたびにブラックボックスをダンプ
# PCMK_trace_blackbox=fn:line,fn2:line2,...
# ブラックボックスロギングをグローバルに、またはサブシステムごとに有効にする
# PCMK_blackbox=yes|no|crmd|pengine|cib|stonith-ng|attrd|pacemakerd
#==#==# Advanced use only
# デフォルトでは、ノードは最初にオンラインになったときにクラスタに参加
# PCMK_node_start_state=default
# クラスタが(2.0より前の)古いバージョンのcorosyncを使用している場合 "true"、
# PCMK_uname_is_uuid=false
# 開発者用
# PCMK_schema_directory=/some/path
# pacemakerの内部プロセスが故障した場合も、ノード故障として取り扱う
# PCMK_fail_fast=no
PCMK_fail_fast=yes
# Pacemakerは特定の条件下でホストにパニックを起こす
# PCMK_panic_action=crash
#==#==# Pacemaker Remote
# ファイルの内容をPacemakerで使用するための認証キーとして使用
# PCMK_authkey_location=/etc/pacemaker/authkey
# Pacemaker Remoteノードに接続するときのTCPポート番号
# PCMK_remote_port=3121
#==#==# IPC
# 特定のクラスのIPC接続を強制的に使用
# PCMK_ipc_type=shared-mem|socket|posix|sysv
# IPCバッファサイズをバイト単位で指定
# PCMK_ipc_buffer=131072
#==#==# Profiling and memory leak testing (mainly useful to developers)
# 開発者用
# G_SLICE=always-malloc
# 開発者用
# MALLOC_PERTURB_=221
# 開発者用
# MALLOC_CHECK_=3
# 開発者用
# PCMK_valgrind_enabled=cib,crmd
# 開発者用
# PCMK_callgrind_enabled=cib,crmd
# valgrindが有効になっている場合は、オプションをvalgrindに渡すように設定
VALGRIND_OPTS="--leak-check=full --trace-children=no --vgdb=no
--num-callers=25 --log-file=/var/lib/pacemaker/valgrind-%p
--suppressions=/usr/share/pacemaker/tests/valgrind-pcmk.suppressions
--gen-suppressions=all"
リソースcrm設定 ・クラスタ上でPacemakerが管理するリソースの管理方法を設定する。 ・ リソースcrm設定 参考 ・参考 ・Linux-HA Japan pcsを使用 ・pcsは未インストール、pcs(pcsd)を使う場合は要インストール Base.repでインストール # yum -y install pacemaker pcs # systemctl start pcsd # systemctl enable pcsd・pacemaker導入済 ・corosync導入済 ・クラスター管理ユーザーのパスワード設定 # passwd hacluster・ファイアウォール設定 ・ノード間の認証を確立 # pcs cluster auth kvm3.xxxx.xxx kvm4.xxxx.xxx Username: hacluster Password:・クラスターを構成する。 # pcs cluster setup --name mailHa kvm3.xxxx.xxx kvm4.xxxx.xxx --force
Destroying cluster on nodes: kvm3.xxxx.xxx kvm4.xxxx.xxx.
kvm3.xxxx.xxx: Stopping Cluster (pacemaker)...
kvm4.xxxx.xxx: Stopping Cluster (pacemaker)...
kvm3.xxxx.xxx: Successfully destroyed cluster
kvm4.xxxx.xxx: Successfully destroyed cluster
Sending 'pacemaker_remote authkey' to 'kvm3', 'kvm4'
kvm3.xxxx.xxx: successful distribution of the file 'pacemaker_remote authkey'
kvm4.xxxx.xxx: successful distribution of the file 'pacemaker_remote authkey'
Sending cluster config files to the nodes...
kvm3.xxxx.xxx: Succeeded
kvm4.xxxx.xxx: Succeeded
Synchronizing pcsd certificates on nodes kvm3, kvm4...
kvm4.xxxx.xxx: Success
kvm3.xxxx.xxx: Success
Restarting pcsd on the nodes in order to reload the certificates...
kvm4.xxxx.xxx: Success
kvm3.xxxx.xxx: Success
・編集された「/etc/corosync/corosync.conf」を確認 「logging」部分は後で指定しなおす。・各ノードでサービスを起動 # pcs cluster start --all kvmx3.xxxx.xxx: Starting Cluster (corosync)... kvmx3.xxxx.xxx: Starting Cluster (corosync)... kvmx4.xxxx.xxx: Starting Cluster (pacemaker)... kvmx4.xxxx.xxx: Starting Cluster (pacemaker)...・自動起動を設定 # pcs cluster enable --all # systemctl enable corosync.service # systemctl enable pacemaker.service・動作確認 # pcs status
Cluster name: mail_cluster
WARNINGS:
No stonith devices and stonith-enabled is not false
Stack: corosync
Current DC: kvmx2 (version 1.1.21-4.el7-f14e36fd43) - partition with quorum
Last updated: Tue Oct 6 17:18:00 2020
Last change: Tue Oct 6 17:17:23 2020 by hacluster via crmd on kvmx2
2 nodes configured
0 resources configured
Online: [ kvmx1 kvmx2 ]
No resources
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
・WARNINGS(stonith)対応 # pcs property set stonith-enabled=false・リソース設定 |
All Rights Reserved. Copyright (C) ITCL |