Kの系譜

ママは肉食 パパは草食 娘は雑食

【OSS】OEL7.4 Pacemaker + Corosync のクラスタ構成

1.概要

Oracle Enterprise Linux 7 on Oracle VM VirtualBox で
Pacemaker+corosync のクラスタ構成を作成

2.環境

ホストマシン

CPU : Intel (R) Core (TM) i7-6700 CPU @ 3.40GHz 3.40 GHz
メモリ : 32GB
ディスク : 1.8TB
OS : Windows 7 Professional Service Pack 1 (64 bit)
Oracle VM VirtualBox 5.1.28 r117968 (Qt5.6.2)
Oracle VM VirtualBox 5.1.28 Oracle VM VirtualBox Extension Pack

ゲストマシン

Oracle Enterprise Linux 7.4 (64 bit)
pacemaker-1.1.16
corosync-2.4.0-9

4.仮想マシンの作成(マスター/スレーブ)

仮想マシン作成とOSインストールまでの事前作業は
【Oracle】Oracle VM VirtualBox レプリケーション用の仮想マシン作成(Linux) - Kの系譜
を確認して下さい

5.パッケージのインストール

前提作業である仮想マシンの作成が完了したら
パッケージをインストールします
※両環境で実施

# yum install pacemaker corosync pcs
読み込んだプラグイン:langpacks, refresh-packagekit
(省略)
完了しました!

次にインストール・パッケージを確認します

# rpm -qa |grep corosync
corosync-2.4.0-9.el7.x86_64
corosynclib-2.4.0-9.el7.x86_64

# rpm -qa |grep pacemaker
pacemaker-cli-1.1.16-12.el7.x86_64
pacemaker-cluster-libs-1.1.16-12.el7.x86_64
pacemaker-libs-1.1.16-12.el7.x86_64
pacemaker-1.1.16-12.el7.x86_64

6.Pacemaker+corosync初期構成

※両環境で実施
ユーザ作成およびパスワード設定を実施します

# adduser -m hacluster

# passwd hacluster

次にpcsdサービスの起動および有効化を実施します
pcsdはPacemakerやcorosyncとは独立したサービスなので
これが起動していないとクラスタ構成時に使用するpcsコマンドが使えません

# systemctl start pcsd

# systemctl enable pcsd
Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.
# systemctl status pcsd
● pcsd.service - PCS GUI and remote configuration interface
   Loaded: loaded (/usr/lib/systemd/system/pcsd.service; enabled; vendor preset: disabled)
   Active: active (running) since 土 2017-11-04 01:37:48 JST; 1min 8s ago
 Main PID: 21810 (pcsd)
   CGroup: /system.slice/pcsd.service
           mq21810 /usr/bin/ruby /usr/lib/pcsd/pcsd > /dev/null &

11月 04 01:37:45 oel74x64-pg-master systemd[1]: Starting PCS GUI and remote....
11月 04 01:37:48 oel74x64-pg-master systemd[1]: Started PCS GUI and remote ....
Hint: Some lines were ellipsized, use -l to show in full.

次に、corosync設定を行います
以下のコマンドでノード間の認証を行い、
corosyncによるサーバ間通信が可能となります

# pcs cluster auth oel74x64-pg-master oel74x64-pg-slave -u hacluster -p hacluster
oel74x64-pg-master: Authorized
oel74x64-pg-slave: Authorized

pcs cluster setup でクラスタのセットアップコマンドを実行したら何故かエラー

 # pcs cluster setup --name my_cluster oel74x64-pg-master oel74x64-pg-slave
 Error: oel74x64-pg-master: node is already in a cluster
 Error: oel74x64-pg-slave: node is already in a cluster
 Error: nodes availability check failed, use --force to override. WARNING: This will destroy existing cluster on the nodes.

"--force" を指定したら成功した

# pcs cluster setup --start --name my_cluster oel74x64-pg-master oel74x64-pg-slave --force
Destroying cluster on nodes: oel74x64-pg-master, oel74x64-pg-slave...
oel74x64-pg-slave: Stopping Cluster (pacemaker)...
oel74x64-pg-master: Stopping Cluster (pacemaker)...
oel74x64-pg-slave: Successfully destroyed cluster
oel74x64-pg-master: Successfully destroyed cluster

Sending 'pacemaker_remote authkey' to 'oel74x64-pg-master', 'oel74x64-pg-slave'
oel74x64-pg-master: successful distribution of the file 'pacemaker_remote authkey'
oel74x64-pg-slave: successful distribution of the file 'pacemaker_remote authkey'
Sending cluster config files to the nodes...
oel74x64-pg-master: Succeeded
oel74x64-pg-slave: Succeeded

Starting cluster on nodes: oel74x64-pg-master, oel74x64-pg-slave...
oel74x64-pg-slave: Starting Cluster...
oel74x64-pg-master: Starting Cluster...

Synchronizing pcsd certificates on nodes oel74x64-pg-master, oel74x64-pg-slave...
oel74x64-pg-slave: Success
oel74x64-pg-master: Success
Restarting pcsd on the nodes in order to reload the certificates...
oel74x64-pg-master: Success
oel74x64-pg-slave: Success

状態確認したら起動しているので問題なさそう

# pcs status
Cluster name: my_cluster
WARNING: no stonith devices and stonith-enabled is not false
Stack: corosync
Current DC: oel74x64-pg-master (version 1.1.16-12.el7-94ff4df) - partition with quorum
Last updated: Sat Nov  4 02:20:36 2017
Last change: Sat Nov  4 02:20:04 2017 by hacluster via crmd on oel74x64-pg-master

2 nodes configured
0 resources configured

Online: [ oel74x64-pg-master oel74x64-pg-slave ]

No resources


Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

有効化を行っておく

# pcs cluster enable --all
oel74x64-pg-master: Cluster Enabled
oel74x64-pg-slave: Cluster Enabled

"Daemon Status:"の各行が enabled になったことを確認

# pcs status
Cluster name: my_cluster
WARNING: no stonith devices and stonith-enabled is not false
Stack: corosync
Current DC: oel74x64-pg-master (version 1.1.16-12.el7-94ff4df) - partition with quorum
Last updated: Sat Nov  4 02:22:11 2017
Last change: Sat Nov  4 02:20:04 2017 by hacluster via crmd on oel74x64-pg-master

2 nodes configured
0 resources configured

Online: [ oel74x64-pg-master oel74x64-pg-slave ]

No resources


Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

"corosync-cfgtool -s"コマンドで、corosyncによるサーバ間通信の状況を確認

# corosync-cfgtool -s
Printing ring status.
Local node ID 1
RING ID 0
        id      = 192.168.56.103
        status  = ring 0 active with no faults

"status"が"active"かつ"no faults"であれば、問題なく通信が行えている
同様に、以下のコマンドでもcorosyncの動作状況を確認できる

# pcs status corosync

Membership information
----------------------
    Nodeid      Votes Name
         1          1 oel74x64-pg-master (local)
         2          1 oel74x64-pg-slave


不足部分があるので、リライト予定ではある

ほなまた