Pacemakerの制御コマンドを「crm」に戻して運用する:DRBDの仕組みを学ぶ(12)(1/3 ページ)
DRBDを軸に、データを遠隔地にも即時複製して万が一の事態に備える「冗長化/高可用性システム」の構築テクニックを紹介する本連載。今回は、Pacemekerのクラスタ設定と管理のコマンドを、pcsから「crm」に戻して運用する方法を解説します。
目次
本連載は、サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD(Distributed Replicated Block Device)」を使い、災害対策システムや高可用性WordPressシステムなどを構築するノウハウをお届けしてました。今回も、基礎編から一歩進んだ「応用ノウハウ」を紹介していきます。
これまで解説してきた、DRBD+Pacemaker+Corosyncを組み合わせた高可用性システムの構築手順では、Pacemaker部分の設定を「pcs」と呼ばれるコマンドで行っていました。
pcsは、Pacemakerのバージョン1.1で採用されたコマンドです。一方、それ以前のバージョンでは、「crm」と呼ばれるコマンドを使用していました。
実は、このcrmコマンドに慣れていた筆者にとって、新しいpcsコマンドは少し扱いにくい部分があると感じています。また、DRBD+Pacemaker+Corosync、もしくはDRBD+Pacemaker+Heartbeatに関する過去の技術資料などにもcrmコマンドを用いたノウハウが数多くあります。そこで今回は、「どちらのコマンドを用いる場合にも、既存の情報が役に立つ」ように、Pacemaker 1.1でもcrmコマンドを使えるようにする方法を実践していきましょう。
crmshとは
crmsh(The CRM Shell)は、crmコマンドでPacemakerのクラスタ設定/管理を行うソフトウェアです。
crmコマンドはこれまで解説してきたpcsコマンドに対し、大きく3つのメリットがあります。
1:対話式でも設定が可能
まず、crmコマンドは対話式でも設定ができます。対してpcsは、コマンド1つずつが完結しています。例えば、以下のような違いです。
# pcs property set stonith-enabled=false
# crm crm(live)# configure crm(live)configure# property stonith-enabled=false
crmコマンドでは、crmを入力するとコマンド入力モードになり、コマンドプロンプトが「crm(live)#」に変わります。さらにconfigureを入力すると、コマンドプロンプトが設定モードの「crm(live)configure#」に変わります。このように設定できるので、「今、どのモードになっているのか」を認識しやすいことがメリットです。
1つ前のモードに戻るには「up」と入力します。crmコマンド入力モードから抜ける場合は「exit」を入力します。
また、「1行完結式でもよい」のもメリットです。crmコマンドでも以下のように1行でまとめて記述できます。
# crm configure property stonith-enabled=false
2:設定が簡単
crmコマンドでは、設定項目を記述したファイルをあらかじめ用意しておき、それを読み込ませることでも設定できます。その設定ファイル「vip.conf」の記述例と実行方法を以下に示します。
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
# crm configure load update vip.conf
なお、上記の例ではリソース1つだけですが、複数のリソースを読み込んでまとめて設定することも可能です。
3:編集/修正が簡単
crmコマンドは設定済みの値の編集/修正も比較的簡単です。crm configure editコマンドで、直接編集モードになります。
# crm configure edit
# crm configure edit node 1: iscsi-ha1 node 2: iscsi-ha2 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 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 <<省略>
編集作業はVi/Vimエディタと同じです。「:wq!」コマンドで保存し、終了します。
ちなみにpcsコマンドで設定値を修正するには、まず項目をコマンドで削除してから、新しい値をコマンドで入力するという手順になります。Pacemakerの設定値を変更する機会が多い場合、あるいは構築時/テスト時の段階では、内容の編集/修正が容易なcrmだと作業がかなりはかどると思います。
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で高可用システム構築を支援、サードウェア