Pacemakerの制御コマンドを「crm」に戻して運用するDRBDの仕組みを学ぶ(12)(2/3 ページ)

» 2016年11月10日 05時00分 公開
[澤田健株式会社サードウェア]

実践編:crmコマンドでPacemakerを設定する

 では、crmコマンドで行うPacermekerの設定を試してみましょう。

 今回は、前回構築した「第11回 DRBD+iSCSIでサクッと作れる、Windows 10の自動データ複製&冗長化システム」より、Pacemekerの設定部分をcrmコマンドに置き換えて説明していきます。事前準備として、第11回の「第4章 Pacemakerの設定準備」まで済ませておいてください。

 では、「crmsh」をインストールしましょう。以下の手順を一号機、二号機の両方で実施します。

リポジトリを追加する

# cd /etc/yum.repos.d/
# vi crmsh.repo
[network_ha-clustering_Stable]
name=Stable High Availability/Clustering packages (Fedora_22)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/Fedora_22/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/Fedora_22//repodata/repomd.xml.key
enabled=1
viエディタなどでリポジトリを追記する

crmshをインストールする

# yum install -y crmsh
crmshをインストール

 もしインストールができない場合は、最新のリポジトリを以下のサイトで確認してください。

crmshの最新リポジトリ

http://crmsh.github.io/download/


インストールができたかを確認する

# crm --version
crm 2.3.2
インストールができたかを確認

 crm --versionコマンドで、「crm 2.3.2」などと表示されれば大丈夫です。なお、バージョン2.3.2は2016年11月時点の最新バージョンです。

crmコマンドでPacemakerを設定する

 では、crmコマンドでPacemakerを設定していきましょう。一号機、二号機の両方でPacemakerを起動します。

# systemctl start pacemaker
Pacemakerを起動するコマンド

 続いてcrm_monコマンドで、正しく起動できたかを確認できます。起動して数分待ってから一号機でこのコマンドを入力し、以下のように「Online: [ iscsi-ha1 iscsi-ha2 ]」と表示されればOKです。

# crm_mon 
 
Last updated: Wed Apr 20 17:32:47 2016          Last change: Wed Apr 20 17:31:59 2016 by haclu
ster via crmd on iscsi-ha1
Stack: corosync
Current DC: iscsi-ha1 (version 1.1.13-10.el7_2.2-44eb2dd) - partition with quorum
2 nodes and 0 resources configured
Online: [ iscsi-ha1 iscsi-ha2 ]
Pacemakerの起動を確認するコマンド

 crmconfigureと順に入力して、configureモードに切り替えます。コマンドプロンプトが「crm(live)configure#」となった状態で入力していきます。なお、設定の意味や設定値は前回と同じです。詳細を記載した、第11回 「第5章Pacemakerの設定を行う」と見比べながら試してみてください。

# crm
crm(live)# configure
crm(live)configure#

 stonithの設定を無効にします。

crm(live)configure# property stonith-enabled=false

 Pacemakerで使われるスコア(stickiness)の設定を行います。

crm(live)configure# property default-resource-stickiness=200

 commitを実行して、設定を反映させます。

crm(live)configure# commit

 仮想IPアドレス(VIP)のリソースを設定します。

crm(live)configure# primitive res_ip IPaddr2 \
        params ip=192.168.0.150 cidr_netmask=24 \
        op start interval=0 timeout=20 \
        op stop interval=0 timeout=20 \
        op monitor interval=10 timeout=20

 DRBDのWindows用データ格納先となるリソースを定義します。

crm(live)configure# primitive res_drbd_r0 ocf:linbit:drbd \
        params drbd_resource=r0 \
        op start interval=0 timeout=240 \
        op stop interval=0 timeout=120 \
        op monitor interval=20 role=Slave timeout=20 \
        op monitor interval=10 role=Master timeout=20

 DRBDのマルチステートメントリソース(MS)の設定をします。

crm(live)configure# ms ms_drbd_r0 res_drbd_r0 \
        meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true target-role=Started

 iSCSIターゲットのリソースを設定します。

crm(live)configure# primitive iscsi-target iSCSITarget \
        params implementation=lio-t iqn="iqn.2016-04.3ware.co.jp:windows-disk" portals="192.168.0.150:3260" additional_parameters="DefaultTime2Retain=60 DefaultTime2Wait=5" \
        op start interval=0 timeout=60 \
        op stop interval=0 timeout=60 \
        op monitor interval=30s

 iSCSILogicalUnitのリソースを設定します。

crm(live)configure# primitive lun iSCSILogicalUnit \
        params implementation=lio-t target_iqn="iqn.2016-04.3ware.co.jp:windows-disk" lun=1 path="/dev/drbd0" \
        op start timeout=60 interval=0 \
        op stop timeout=60 interval=0 \
        op monitor interval=30 timeout=10

 portblockのリソースを設定します。

crm(live)configure# primitive portbk portblock \
        params ip=192.168.2.195 portno=3260 protocol=tcp action=block \
        op start interval=0 timeout=20 \
        op stop interval=0 timeout=20 \
        op monitor interval=100 timeout=20 \
        meta target-role=Started

 もう1つportblockのリソースを設定します。

rm(live)configure# primitive portunbk portblock \
        params ip=192.168.2.195 portno=3260 protocol=tcp action=unblock \
        op start interval=0 timeout=20 \
        op stop interval=0 timeout=20 \
        op monitor interval=100 timeout=20

 グループ設定をします。

crm(live)configure# group iscsi portbk res_ip iscsi-target lun portunbk

 colocationの設定をします。

crm(live)configure# colocation c_iscasi inf: iscsi ms_drbd_r0:Master

 orderの設定をします。

crm(live)configure# order o_g_target inf: ms_drbd_r0:promote iscsi:start

 最後に設定反映のためにcommitします。

crm(live)configure# commit

 crmコマンドのモードを終了します。

crm(live)configure# exit

 Pacemakerクラスタの状態をリフレッシュしておきます。以下のコマンドを、一号機か二号機のどちらか一方で実施します。

# crm resource cleanup iscsi

 以降、第11回 第6章第7章まで設定手順は同じです。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。