Pacemakerの制御コマンドを「crm」に戻して運用する:DRBDの仕組みを学ぶ(12)(2/3 ページ)
DRBDを軸に、データを遠隔地にも即時複製して万が一の事態に備える「冗長化/高可用性システム」の構築テクニックを紹介する本連載。今回は、Pacemekerのクラスタ設定と管理のコマンドを、pcsから「crm」に戻して運用する方法を解説します。
実践編: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
crmshをインストールする
# yum install -y crmsh
もしインストールができない場合は、最新のリポジトリを以下のサイトで確認してください。
インストールができたかを確認する
# 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
続いて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 ]
crm→configureと順に入力して、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
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 障害時にサブサーバへ自動で切り替える「高可用性WordPressシステム」の作り方 前編
サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD」。今回は、CMSツールとして多くのWebサイトで利用されている「WordPressサーバ」の高可用性をDRBDで確保する方法を解説します。前編は、必要なソフトウェアのインストールと初期設定までを説明します。 - DRBD(Distributed Replicated Block Device)とは何か
障害監視ツールなどと一緒に使うことで、サービスの継続提供を助けるDRBD。Linuxカーネルに統合されている機能ですが、上手に使いこなしているでしょうか? 本連載では、DRBDの動作や使いどころを順を追って紹介していきます。 - ミラーリングツール「DRBD」によるデータ保護
「Heartbeat」の適切な導入によってHAクラスタを構成し、Linux上で動作しているサービスの可用性を上げることができます。続いて、肝心のデータそのものを保護できるツール「DRBD」について紹介しましょう。 - ここが変わったCentOS 7──「新機能の概要とインストール」編
「CentOS 7」を皆さんどれだけ理解していますでしょうか。CentOS 7は、以前のバージョンから使い勝手がかなり変わりました。本連載では、今さら聞けない/おさらいしたいというインフラエンジニアに向け、CentOS 7の概要と基礎から活用Tipsまでを紹介していきます。 - DRBD+iSCSI夢の共演(前編)〜 Windowsドライブをミラーリングで保護 〜
Linux上で動作するオープンソースソフトウエア「DRBD」とiSCSIを組み合わせ、部門内のWindows端末のデータをバックアップするシステムを構築してみよう - OSSとLinuxで高可用システム構築を支援、サードウェア