第 2 回 Linux-HA Japan 勉 強 会



Similar documents
レッドハット 製 品 プライスリスト Red Hat Enterprise Linux2013 新 製 品 (ベースサブスクリプション) 更 新 :2015 年 4 22

レッドハット 製 品 プライスリスト Red Hat Enterprise Linux 製 品 (RHEL for HPC) 更 新 :2015 年 4 22

CRM CLI (command line interface) tool

Cost Accounting 1. B r e a k e v e n A n a l y s i s. S t r a t e g y I m p l e m e n t a t i o n B a l a n c e d S c o r e c a r d s

Document and entity information

Discover the power of reading for university learners of Japanese in New Zealand. Mitsue Tabata-Sandom Victoria University of Wellington

Advanced Training Program for Teachers of the Japanese-Language Application Instructions For FY 2016

Graduate Program in Japanese Language and Culture (Master s Program) Application Instructions

Direct Marketing Production Printing & Value-Added Services: A strategy for growth

医 学 生 物 学 一 般 問 題 ( 問 題 用 紙 1 枚 解 答 用 紙 2 枚 )

この 外 国 弁 護 士 による 法 律 事 務 の 取 扱 いに 関 する 特 別 措 置 法 施 行 規 則 の 翻 訳 は 平

さくらインターネット 研 究 所 上 級 研 究 員 日 本 Vyattaユーザー 会 運 営 委 員 松 本 直 人

ใบสม ครเข าร วมโครงการน ส ตแลกเปล ยนมหาว ทยาล ยเกษตรศาสตร

Data Mining for Risk Management in Hospital Information Systems

Public Financial Assistance for Formal Education in Japan

How To Teach English At Kumon

Panasonic AC-DC Power Supply Design Support Service

Bushido: Way of the Samurai. Golden Screens. Chokuo TAMURA Hawks with pine and plum blossom x cm each

育 デジ (Iku-Digi) Promoting further evolution of digital promotion

<HNAS_SNMP 監 視 取 扱 説 明 書 別 紙 2 イベントリスト> Event ID

Electricity Business Act ( Act No. 170 of July 11, 1964)

レッドハット 製 品 プライスリスト 標 準 価 格. Red Hat Enterprise Linux 製 品 (RHEL Server)

Overview: Clustering MySQL with DRBD & Pacemaker

TS-3GB-S.R v1.0 VoIP Supplementary Services Descriptions: Call Forwarding - Unconditional

Why today? What s next?


EDB-Report. 最 新 Web 脆 弱 性 トレンドレポート( ) ~ Exploit-DB( 公 開 されている 内 容 に 基 づいた 脆 弱 性 トレンド 情 報 です

Upper Secondary Education in Japan

Bluetooth FAQ. This document is an FAQ (Frequently Asked Questions) about Bluetooth in general and Logitech products using Bluetooth technology.

California Subject Examinations for Teachers

Teacher Training and Certificate System

Current Situation of Research Nurse Education and Future Perspectives in Japan

外 部 委 託 が 進 む 中 での 地 方 自 治 体 職 員 の 雇 用 の 保 護 PROTECTION OF EMPLOYMENT FOR LOCAL GOVERNMENT WORKERS UNDER OUTSOURCING

How To Run A Server On A Microsoft Cloud Server (For A Small Amount Of Money)

Agenda. About Gengo. Our PostgreSQL usage. pgpool-ii. Lessons

SPECIFICATION. Not recommend for new design. MS6M Power Integrated Module 7MBR15UF060 MS6M Fuji Electric Device Technology Co.,Ltd.

Preschool Education and Care in Japan

Abbreviations. Learning Goals and Objectives 学 習 到 達 目 標. Structure of Presentation

HIF 2015 Japanese Language and Japanese Culture Program

BULBOUS CELL MEDIA GROUP

Welcome Guide. SD/TF Card Reader. Model: AR200

JF Standard for Japanese-Language Education 2010

Network Camera SNC-Z20N/Z20P 設 置 説 明 書 JP. Installation Manual GB. Manuel d installation FR. Manual de instalación ES お 買 い 上 げいただきありがとうございます

For victims of traffic accidents

Wicket Hiroto Yamakawa

Most EFL teachers in Japan find that there are groups of verbs which consistently

7 myths about cars and free trade agreements

Development of Risk Assessment Methodology for Impact Based Business Continuity Management ビジネスインパクトを 考 慮 した 事 業 継 続 マネジメントのためのリスクアセスメント 手 法 の 開 発

Ritsumeikan University Global 30 Project AY 2012 Follow-up

MPLS Configration 事 例

EFL Information Gap Activities for Architecture Majors


Network Camera SNC-CS3N/CS3P 設 置 説 明 書 JP. Installation Manual GB. Manuel d installation FR. Manual de instalación ES お 買 い 上 げいただきありがとうございます

オープンソース NFV プラットフォーム の 取 り 組 み

GRADUATE SCHOOL OF INTERNATIONAL RELATIONS

Cash, Receivables & Marketable Securities

Ibaraki University. Graduate School of Agriculture. (Master s Program)

Visitors International

New Publication of IIMA Global Market Volatility Index

My experience of Ruby Education in Taiwan

Hello, Chicago Okinawa Kenjinkai members,

第 9 回 仮 想 政 府 セミナー Introduction Shared Servicesを 考 える ~Old but New Challenge~ 東 京 大 学 公 共 政 策 大 学 院 奥 村 裕 一 2014 年 2 月 21 日

LEAVING CERTIFICATE 2011 MARKING SCHEME JAPANESE HIGHER LEVEL

Gender Equality in Education in Japan

Chiba Institute of Technology Graduate School

JALT2009. The 35th JALT International Conference on Language Teaching and Learning The Teaching-Learning Dialogue: An Active Mirror

Addressing Japan s Healthcare Challenges with Information Technology

Digital Graphic Printer

How Should Remote Monitoring Sensor Be Accurate?

The Course of Study is the series of guidelines for subject

Research on Support for Persons with Mental Disability to Make Transition to Regular Employment

AW Travelling Light

Act on Special Measures Concerning Nuclear Emergency Preparedness (Act No. 156 of December 17, 1999)

Industrial Accident Compensation Insurance Application Guidance for Foreign Workers <Volume 2>

Design Patterns. Elemental Microformats. Compound Microformats KEY. Datetime Pattern <abbr class="foo"

Absolute Beginner s Guide to Hiragana (With an Introduction to Grammar and Kanji)

AUTOMOBILE LIABILITY SECURITY ACT

Educational Administration in Japan

Utilization & Promotion Activities of Cloud in Japan

Green Solution with Simegy

Interest in the relationship between religion and language

Posting and Reading Messages (PC version) 1/4

As the use of computers is becoming a more integral part of learning environments,

IHS Technology. IHS Technology Business Intelligence Enabling market leadership through research, analysis and strategy

Design Act ( Act No. 125 of 1959)

Using the Moodle Reader Module to Facilitate an Extensive. Reading Program

Linux Foundation Automotive Summit - Yokohama, Japan

Sompo Japan Nipponkoa Group's CSR Case Report

Christ Episcopal Church Sei Ko Kai

Welcome Guide. Ultra Compact Bluetooth Keyboard

The existence of credential effects in Canadian nursing education; Quebec versus the rest of Canada

Changing Views on Motivation in a Globalizing World

Corporate Management Strategy of a Life Insurance Company

Unwillingness to Use Social Networking Services for Autonomous Language Learning among Japanese EFL Students

2016 July 5. August 16

CIRCULAR. Block-4, Old JNU Campus New Mehrauli Road, New Delhi-67 Dated: the to" of September 2014

Electrical engineering have fun with building your own devices and travelling the world. Iwate Prefectural Mizusawa High School Sebastian DIEBOLD

Studies of Large-Scale Data Visualization and Visual Data Mining

Employment Security Act (Act No. 141 of 1947)

Transcription:

第 2 回 Linux-HA Japan 勉 強 会 2011 年 6 月 3 日 NTTデータ 先 端 技 術 株 式 会 社 池 田 淳 子

本 日 のお 題 crm の 歩 き 方 目 次 1.crm シェルとは 2.crm シェルのインストール 3.crm シェルでリソースを 設 定 する 4.crm シェルでクラスタを 管 理 する

1. crm シェルとは

crm シェルとは acemakerに 付 属 したコマンドラインツールです リソースの 設 定 やクラスタの 管 理 を 行 うことができます

acemaker の 設 定 ファイル /var/lib/heartbeat/crm/cib.xml <cib validate-with="pacemaker-1.0" crm_feature_set="3.0.1" have-quorum="1" dc-uuid="22222222-2222-2222-2222-222222222222" dmin_epoch="0" epoch="7" num_updates="0" cib-last-written="tue May 31 14:33:00 2011"> <configuration> <crm_config> <cluster_property_set id="cib-bootstrap-options"> <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.0.11-db98485d06ed stable-1.0 tip"/> <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="heartbeat"/> <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/> <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/> <nvpair id="cib-bootstrap-options-startup-fencing" name="startup-fencing" value="false"/> </cluster_property_set> </crm_config> <nodes> <node id="11111111-1111-1111-1111-111111111111" uname="xen01" type="normal"/> <node id="22222222-2222-2222-2222-222222222222" uname="xen02" type="normal"/> </nodes> <resources> <group id="grpha"> <primitive class="ocf" id="prmfs" provider="heartbeat" type="filesystem"> <instance_attributes id="prmfs-instance_attributes"> <nvpair id="prmfs-instance_attributes-fstype" name="fstype" value="ext3"/> <nvpair id="prmfs-instance_attributes-run_fsck" name="run_fsck" value="force"/> <nvpair id="prmfs-instance_attributes-device" name="device" value="/dev/sda1"/> <nvpair id="prmfs-instance_attributes-directory" name="directory" value="/mnt"/> </instance_attributes> <operations> <op id="prmfs-start-0s" interval="0s" name="start" on-fail="restart" timeout="480s"/> <op id="prmfs-monitor-10s" interval="10s" name="monitor" on-fail="restart" timeout="60s"/> </rsc_location> <rsc_colocation id="colocation-01" rsc="grpha" score="infinity" with-rsc="clningd"/> <rsc_order first="clningd" id="order-01" score="0" then="grpha"/> </constraints> <rsc_defaults> <meta_attributes id="rsc-options"> <nvpair id="rsc-options-resource-stickiness" name="resource-stickiness" value="infinity"/> <nvpair id="rsc-options-migration-threshold" name="migration-threshold" value="1"/> </meta_attributes> </rsc_defaults> </configuration> </cib>

Heartbeat v2 時 代 は かなり 頑 張 って cib.xml を 作 ったり 編 集 したりしていました (これがイヤで v1モードを 使 っている 人 も 多 いのでは ) また クラスタの 状 態 を 変 更 するためには crm_resourceやcibadminなど 複 雑 な 管 理 コマンドを 使 いこなす 必 要 がありました acemaker を 使 用 したクラスタ 環 境 では crm シェルが 使 えます XMLの 構 文 に 悩 まされることなく リソースの 設 定 ができます crmシェルがこっそり cib.xml を 編 集 してくれます 管 理 コマンドがうろ 覚 えでも クラスタの 管 理 ができます crmシェルがこっそり 管 理 コマンドを 呼 び 出 してくれます 対 話 モードとバッチモードが 使 えます TABキーでコマンドやオプションの 補 完 ができます クラスタが 起 動 していなくても 使 えます クラスタの 管 理 はできませんが いろいろ 遊 べます

2. crm シェルのインストール

acemaker がインストールされた 環 境 であれば crm シェルはすぐに 使 い 始 めることができます # which crm /usr/sbin/crm # file /usr/sbin/crm /usr/sbin/crm: python script text executable # rpm -qlp pacemaker-1.0.10-1.4.el6.x86_64.rpm grep "/usr/sbin/crm$" /usr/sbin/crm # crm crm(live)# help This is the CRM command line interface program. Available commands: cib manage shadow CIBs resource resources management リソースの 管 理 を 行 います node nodes management ノードの 管 理 を 行 います options user preferences configure CRM cluster configuration クラスタの 設 定 や 管 理 を 行 います ra resource agents information center RAの 情 報 を 表 示 します status show cluster status quit,bye,exit exit the program help show help end,cd,up go back one level

勉 強 会 で 使 用 する 試 験 環 境 Host OS(Domain0) OS RHEL 5.6 x86_64 (xen) Dell precision 370 Intel(R) entium(r) 4 CU 3.20GHz x2 Memory 2GB Guest (/dev/sda10) eth0 Guest (/dev/sda11) eth0 Guset OS(DomainU) OS RHEL 5.6 x86_64 eth1 eth2 eth1 eth2 インターコネクトLAN Cluster software pacemaker 1.0.11 cluster-glue 1.0.7 resource-agents 1.0.4 heartbeat 3.0.4 pm-extras 1.02-1 /dev/sda eth3 eth3 /dev/sda サービスLAN CU x1 Memory 512MB (/dev/sda12) 共 有 ディスクのふり (tap:aio)

勉 強 会 で 使 用 する 試 験 環 境 # cat /etc/ha.d/ha.cf pacemaker on logfacility local1 debug 0 udpport 694 keepalive 2 warntime 20 deadtime 24 initdead 48 bcast eth1 bcast eth2 node xen01 node xen02 watchdog /dev/watchdog respawn root /usr/lib64/heartbeat/ifcheckd

3. crm シェルでリソースを 設 定 する

# vi sample.crm property no-quorum-policy="ignore" stonith-enabled="false" startup-fencing="false" rsc_defaults resource-stickiness="infinity" migration-threshold="1" Linux-HA Japanのサイトでもよく 見 る crm ファイル でも そもそも property って? primitive? group? group grpha prmfs prmi clone clningd prmingd primitive prmfs ocf:heartbeat:filesystem params fstype="ext3" run_fsck="force" device="/dev/sda1" directory="/mnt" op start interval="0s" timeout="480s" on-fail="restart" op monitor interval="10s" timeout="60s" on-fail="restart" op stop interval="0s" timeout="60s" on-fail="block

リソースの 設 定 制 約 の 設 定 crm(live)# configure crm(live)configure# help Commands for resources are: - `primitive` - `monitor` - `group` - `clone` - `ms`/`master` (master-slave) There are three types of constraints: - `location` - `colocation` - `order` 設 定 関 連 はとりあえず configure! Finally, there are the cluster properties, resource meta attributes defaults, and operations defaults. クラスタの 設 定 - `property` - `rsc_defaults` - `op_defaults`

primitive 1コのリソースです 例 ) 仮 想 I ファイルシステム データベース RA(Resource Agent)を 登 録 します RAに 必 要 なパラメータ (params) を 設 定 します RAに 必 要 なオペレーション (op) を 設 定 します 設 定 例 primitive prmi ocf:heartbeat:iaddr2 params ip="192.168.201.129" nic="eth3" cidr_netmask="24" op start interval="0s" timeout="60s" on-fail="restart" op monitor interval="10s" timeout="60s" on-fail="restart" op stop interval="0s" timeout="60s" on-fail="block"

でも RAに 必 要 な パラメータとかオペレーションとか わからない

# crm crm(live)# ra RAの 情 報 表 示 crm(live)ra# list usage: list <class> [<provider>] crm(live)ra# help list crm(live)ra# list ocf さらに help crm(live)ra# info vmware Manages VMWare Server 2.0 virtual machines (ocf:heartbeat:vmware) OCF compliant script to control vmware server 2.0 virtual machines. arameters (* denotes required, [] the default): vmxpath* (string): VMX file path VMX configuration file path vimshbin (string, [/usr/bin/vmware-vim-cmd]): vmware-vim-cmd path vmware-vim-cmd executable path Operations' defaults (advisory minimum): start timeout=600 stop timeout=600 monitor interval=300 timeout=30

group 1コ 以 上 のリソースを 登 録 します start/stop の 順 序 が 保 証 されます group まるごと F/O できます 設 定 例 group sister kana kayo グループの 登 録 するリソースの 名 前 グループの 名 前 グループの 登 録 するリソースの 名 前

crm(live)configure# property > no-quorum-policy="ignore" > stonith-enabled="false" > startup-fencing="false" crm(live)configure# primitive > prmi ocf:heartbeat:iaddr2 > params > ip="192.168.201.129" > nic="eth3" > cidr_netmask="24" > op start interval="0s" timeout="60s" on-fail="restart" > op monitor interval="10s" timeout="60s" on-fail="restart" > op stop interval="0s" timeout="60s" on-fail="block" crm(live)configure# show crm(live)configure# commit crm_verify[7851]: 2011/06/03_11:41:44 WARN: unpack_nodes: Blind faith: not fencing unseen nodes crm(live)configure# cd crm(live)# resource crm(live)resource# show prmi (ocf::heartbeat:iaddr2) Stopped STONITHを 設 定 していないと 警 告 が でるけど とりあえず 無 視 crm(live)resource# start prmi

crm(live)resource# cd crm(live)# configure crm(live)configure# primitive > kana ocf:pacemaker:dummy > op start interval="0s" timeout="100s" on-fail="restart" > op monitor interval="10s" timeout="100s" on-fail="restart" > op stop interval="0s" timeout="100s" on-fail="block" crm(live)configure# commit crm_verify[2699]: 2011/06/06_14:13:37 WARN: unpack_nodes: Blind faith: not fencing unseen nodes crm(live)configure# cd crm(live)# resource show prmi (ocf::heartbeat:iaddr2) Started kana (ocf::pacemaker:dummy) Started

crm(live)# configure crm(live)configure# edit node $id="11111111-1111-1111-1111-111111111111" xen01 node $id="22222222-2222-2222-2222-222222222222" xen02 primitive kana ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" primitive kayo ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" primitive prmi ocf:heartbeat:iaddr2 params ip="192.168.201.129" nic="eth3" cidr_netmask="24" op start interval="0s" timeout="60s" on-fail="restart" op monitor interval="10s" timeout="60s" on-fail="restart" op stop interval="0s" timeout="60s" on-fail="block" property $id="cib-bootstrap-options" dc-version="1.0.11-db98485d06ed stable-1.0 tip" cluster-infrastructure="heartbeat" no-quorum-policy="ignore" stonith-enabled="false" startup-fencing="false!wq edit の 結 果 を 書 き 込 みます ( 今 回 の 例 では vi ですが 好 みのエディタに 変 更 することも 可 能 です) edit 操 作 は 予 想 外 の 変 更 もクラスタに 反 映 されてしまうことがあるため 注 意 して 実 行 してください 編 集 には 後 述 の rename, delete コマンドが 推 奨 されています コピー!

crm(live)configure# cd crm(live)# resource show prmi (ocf::heartbeat:iaddr2) Started kana (ocf::pacemaker:dummy) Started kayo (ocf::pacemaker:dummy) Started crm(live)# resource stop kayo crm(live)# resource stop kana crm(live)# resource show prmi (ocf::heartbeat:iaddr2) Started kana (ocf::pacemaker:dummy) Stopped kayo (ocf::pacemaker:dummy) Stopped crm(live)# configure crm(live)configure# group sister kana kayo

crm(live)configure# show node $id="11111111-1111-1111-1111-111111111111" xen01 node $id="22222222-2222-2222-2222-222222222222" xen02 primitive kana ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" meta target-role="stopped" primitive kayo ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" meta target-role="stopped" primitive prmi ocf:heartbeat:iaddr2 params ip="192.168.201.129" nic="eth3" cidr_netmask="24" op start interval="0s" timeout="60s" on-fail="restart" op monitor interval="10s" timeout="60s" on-fail="restart" op stop interval="0s" timeout="60s" on-fail="block" group sister kana kayo property $id="cib-bootstrap-options" dc-version="1.0.11-db98485d06ed stable-1.0 tip" cluster-infrastructure="heartbeat" no-quorum-policy="ignore" stonith-enabled="false" startup-fencing="false" crm(live)configure# commit crm_verify[2899]: 2011/06/06_14:21:11 WARN: unpack_nodes: Blind faith: not fencing unseen nodes

crm(live)configure# cd crm(live)# resource start sister crm(live)# show ERROR: syntax: show crm(live)# resource show prmi (ocf::heartbeat:iaddr2) Started Resource Group: sister kana (ocf::pacemaker:dummy) Started kayo (ocf::pacemaker:dummy) Started

crm(live)configure# cd crm(live)# resource stop prmi crm(live)# configure rename usage: rename <old_id> <new_id> crm(live)# configure rename prmi monja crm_verify[3041]: 2011/06/06_14:24:09 WARN: unpack_nodes: Blind faith: not fencing unseen nodes crm(live)# resource start monja crm(live)# resource show Resource Group: sister kana (ocf::pacemaker:dummy) Started kayo (ocf::pacemaker:dummy) Started monja (ocf::heartbeat:iaddr2) Started configureレベルの 外 から configureの 変 更 を 実 施 すると 自 動 的 に commit されて しまうので 注 意 してください!

crm(live)# resource stop monja crm(live)# configure delete monja crm_verify[3897]: 2011/06/06_14:28:09 WARN: unpack_nodes: Blind faith: not fencing unseen nodes crm(live)# configure show node $id="11111111-1111-1111-1111-111111111111" xen01 node $id="22222222-2222-2222-2222-222222222222" xen02 primitive kana ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" primitive kayo ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" group sister kana kayo meta target-role="started" property $id="cib-bootstrap-options" dc-version="1.0.11-db98485d06ed stable-1.0 tip" cluster-infrastructure="heartbeat" monja の 設 定 が 削 除 されています no-quorum-policy="ignore" stonith-enabled="false" startup-fencing="false"

crm(live)# resource stop sister crm(live)# configure crm(live)configure# erase crm(live)configure# commit crm(live)configure# show node $id="11111111-1111-1111-1111-111111111111" xen01 node $id="22222222-2222-2222-2222-222222222222" xen02 クラスタの 設 定 が 全 て 削 除 されます delete と erase は 注 意 して 使 い 分 けてください

ACT SBY group ACT group F/O SBY group

(1) ACT SBY shutdown group (1) 故 障 したACTノードを 停 止 (2) SBYで2 番 目 のprimitiveが 故 障 (3) SBYで2,3 番 目 のprimitiveが 停 止 この 場 合 1 番 目 のprimitiveは 起 動 継 続 する (2) (3) SBY group 仕 様 ホントは1 番 目 も 停 止 してほしいところですが あんどりゅーくんとの 闘 いに 敗 れました SBY group

clone 1コの primitive または group を 登 録 します 設 定 例 clone clningd prmingd clone-max="2" clone-node-max="1" clone を 配 置 するノード 数 デフォルト 値 :クラスタ 内 のノード 数 1ノードあたりの clone の 数 デフォルト 値 :1

clone :0 clone :1 :1 インスタンス 番 号 clone :0 clone :1 ペアの clone が 停 止 しても 継 続 起 動 します

3ノード 以 上 でもOK clone :0 clone :1 clone :2 clone :0 clone :1 全 ノードに 配 置 しなくてもOK

Master/Slave 1コの primitive または group を 登 録 します 設 定 例 ms msdrbd grpdrbd meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" globally-unique="false"

Master Slave Master promote Master Slave promote Slave Master demote

両 ノードとも Master でも OK Master Master Master

制 約 の 設 定 location colocation order 配 置 制 約 同 居 制 約 順 序 制 約

location ( 配 置 制 約 ) crm(live)configure# location usage: location <id> <rsc> {node_pref rules} node_pref :: <score>: <node> rules :: rule [id_spec] [$role=<role>] <score>: <expression> [rule [id_spec] [$role=<role>] <score>: <expression>...] id_spec :: $id=<id> $id-ref=<id> score :: <number> <attribute> [-]inf expression :: <simple_exp> [bool_op <simple_exp>...] bool_op :: or and simple_exp :: <attribute> [type:]<binary_op> <value> <unary_op> <attribute> date <date_expr> type :: string version number binary_op :: lt gt lte gte eq ne unary_op :: defined not_defined

location ( 配 置 制 約 ) node1 group node2 group どちらのノードを 優 先? group

location ( 配 置 制 約 ) node1 node2 grpha location の 名 前 配 置 制 約 を 設 定 したいリソース 名 location location-01 grpha rule 200: #uname eq node1 rule 100: #uname eq node2 スコア 値 ノード 名

location ( 配 置 制 約 ) node1 node2 grpha location location-02 grpha rule -INFINITY: #uname eq node2 node2で 起 動 させたくない 場 合 は -INFINITYを 設 定 すればよい

colocation ( 同 居 制 約 ) crm(live)configure# colocation usage: colocation <id> <score>: <rsc>[:<role>] <rsc>[:<role>] 制 約 に 関 連 する リソース 名 制 約 対 象 となる リソース 名 colocation の 名 前 colocation nakayoshi-colocation INFINITY: kana kayo kana は kayo が 起 動 しているノードに 同 居 できる colocation nakawarui-colocation -INFINITY: kana kayo kana は kayo が 起 動 しているノードに 同 居 できない

order ( 順 序 制 約 ) crm(live)configure# order usage: order <id> score-type: <first-rsc>[:<action>] <then-rsc>[:<action>] [symmetrical=<bool>] order の 名 前 起 動 する 順 番 にリソース 名 を 並 べる order order-01 0: kana kayo kana が 起 動 した 後 に kayo が 起 動 する 停 止 順 序 は 起 動 順 序 の 逆 となります ただし symmetrical=falseを 設 定 すると 起 動 順 序 と 停 止 順 序 は 同 じになります symmetricalのデフォルト 値 はtrueです

location, colocation, order の 設 定 例 xen01 clningd pingd:0 xen02 clningd pingd:1 grpha Filesystem IAddr2 clningd が 起 動 した 後 に grpha を 起 動 させたい order grpha は clningd と 同 じノードで 起 動 させたい colocation grpha は xen01 で 優 先 的 に 起 動 させたい location clningdの 属 性 値 が 設 定 されていない または clnindの 属 性 値 が100より 小 さい 場 合 grphaはそのノードで 起 動 してはならない location

設 定 例 < 省 略 > group grpha prmfs prmi clone clningd prmingd meta clone-max="2" clone-node-max="1" primitive prmfs ocf:heartbeat:filesystem < 省 略 > primitive prmi ocf:heartbeat:iaddr2 < 省 略 > primitive prmingd ocf:pacemaker:pingd params name="default_ping_set" host_list="192.168.201.81" multiplier="100" dampen="1" op start interval="0s" timeout="90s" on-fail="restart" op monitor interval="10s" timeout="60s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="ignore" location location-01 grpha rule 200: #uname eq xen01 rule 100: #uname eq xen02 rule -INFINITY: not_defined default_ping_set or default_ping_set lt 100 colocation colocation-01 INFINITY: grpha clningd order order-01 0: clningd grpha clningdの 属 性 値 が 設 定 されていない または clnindの 属 性 値 が100より 小 さい 場 合 は 起 動 しない(-INFINITY)

property クラスタ 全 体 の 設 定 crm(live)configure# property usage: property [$id=<set_id>] <option>=<value> res_defaults リソース 全 体 の 設 定 crm(live)configure# rsc_defaults usage: rsc_defaults [$id=<set_id>] <option>=<value> op_defaults オペレーション 全 体 の 設 定 crm(live)configure# op_defaults usage: op_defaults [$id=<set_id>] <option>=<value>

設 定 例 ### Cluster Option ### property no-quorum-policy="ignore" stonith-enabled="false" startup-fencing="false" ### Resource Defaults ### rsc_defaults resource-stickiness="infinity" migration-threshold="1" STONITHを 有 効 にする 場 合 は stonith-enabled= true stonith-enabled= true の 場 合 op stop on-fail= fence stonith-enabled= false の 場 合 op stop on-fail= block Linux-HA Japan 月 刊 あんどりゅーくん(6 月 号 )の 知 恵 袋 を 参 照 時 間 の 都 合 上 説 明 を 省 略 します

バッチモード 用 のファイルを 作 成 する dummy.crm ( 拡 張 子 は.crm でなくてもよい) ### Cluster Option ### property no-quorum-policy="ignore" stonith-enabled="false" startup-fencing="false" ### Resource Defaults ### rsc_defaults resource-stickiness="infinity" migration-threshold="1" ### rimitive Configuration ### primitive prmdummy ocf:pacemaker:dummy op start interval="0s" timeout="100s" on-fail="restart" op monitor interval="10s" timeout="100s" on-fail="restart" op stop interval="0s" timeout="100s" on-fail="block" location location-01 prmdummy rule 200: #uname eq xen01 rule 100: #uname eq xen02

バッチモードでリソースを 設 定 する ファイル 名 [root@xen01 hastudy]# crm configure load update dummy.crm crm_verify[6592]: 2011/06/01_16:06:12 WARN: unpack_nodes: Blind faith: not fencing unseen nodes [root@xen01 hastudy]# crm_mon -1 -A ============ Last updated: Wed Jun 1 16:06:50 2011 Stack: Heartbeat Current DC: xen02 (22222222-2222-2222-2222-222222222222) - partition with quorum Version: 1.0.11-db98485d06ed stable-1.0 tip 2 Nodes configured, unknown expected votes 1 Resources configured. ============ Online: [ xen01 xen02 ] STONITHを 設 定 していないと 警 告 が でるけど とりあえず 無 視 prmdummy (ocf::pacemaker:dummy): Started xen01 Node Attributes: * Node xen01: + xen02-eth1 : up + xen02-eth2 : up * Node xen02: + xen01-eth1 : up + xen01-eth2 : up ifcheckd をインストールして ha.cfに 設 定 しておくと インターコネクトLAN の 情 報 も 表 示 できます(crm_mon -A)

4. crm シェルでクラスタを 管 理 する

(1) リソースの 起 動 停 止 # crm crm(live)# resource crm(live)resource# show Resource Group: grpha prmfs (ocf::heartbeat:filesystem) Started prmi (ocf::heartbeat:iaddr2) Started Clone Set: clningd Started: [ xen01 xen02 ] crm(live)resource# start usage: start <rsc> crm(live)resource# stop usage: stop <rsc> crm(live)resource# stop prmi crm(live)resource# start prmi crm(live)resource# stop prmfs crm(live)resource# start prmfs crm(live)resource# stop clningd crm(live)resource# start clningd clone はインスタンス 番 号 を 指 定 できません

(2) リソースの 移 動 # crm crm(live)# resource crm(live)resource# show Resource Group: grpha prmfs (ocf::heartbeat:filesystem) Started prmi (ocf::heartbeat:iaddr2) Started Clone Set: clningd Started: [ xen01 xen02 ] crm(live)resource# move usage: migrate <rsc> [<node>] [<lifetime>] [force] crm(live)resource# move prmi xen02 force crm(live)resource# unmove usage: unmigrate <rsc> crm(live)resource# unmove prmi move force は 移 動 元 のノードにスコア 値 (-INFINITY INFINITY)を 追 加 するため 実 行 時 に 警 告 が 表 示 されます move force でリソースを 移 動 させた 後 は 移 動 元 のスコアを 正 常 に 戻 すため 必 ず unmove unmove を 実 行 してください

(3) 故 障 からの 復 旧 # ip addr del 192.168.201.129/24 dev eth3 # crm_mon i1 -f Online: [ xen01 xen02 ] Resource Group: grpha prmfs (ocf::heartbeat:filesystem): Started xen02 prmi (ocf::heartbeat:iaddr2): Started xen02 Clone Set: clningd Started: [ xen01 xen02 ] Migration summary: * Node xen02: * Node xen01: prmi: migration-threshold=1 fail-count=1 Failed actions: prmi_monitor_10000 (node=xen01, call=41, rc=7, status=complete): not running

# crm crm(live)# resource crm(live)resource# failcount usage: failcount <rsc> set <node> <value> failcount <rsc> delete <node> failcount <rsc> show <node> crm(live)resource# show Resource Group: grpha prmfs (ocf::heartbeat:filesystem) Started prmi (ocf::heartbeat:iaddr2) Started Clone Set: clningd Started: [ xen01 xen02 ] crm(live)resource# failcount prmi show xen01 scope=status name=fail-count-prmi value=1 crm(live)resource# failcount prmi delete xen01 crm(live)resource# failcount prmi show xen01 scope=status name=fail-count-prmi value=0 crm(live)resource# quit bye

# crm resource failcount prmi show xen01 scope=status name=fail-count-prmi value=0 バッチモード crmシェルがこっそり 呼 び 出 しているコマンドを 表 示 # crm -R crm(live)# resource failcount prmi show xen01.in: resource failcount prmi show xen01.ext crm_failcount -r 'prmi' -N 'xen01' G scope=status name=fail-count-prmi value=0

pingd によるサービスLAN 切 断 検 知 # iptables -A INUT -i eth3 -j DRO; iptables -A OUTUT -o eth3 -j DRO # crm_mon i1 -Af Online: [ xen01 xen02 ] Resource Group: grpha prmfs (ocf::heartbeat:filesystem): Started xen02 prmi (ocf::heartbeat:iaddr2): Started xen02 Clone Set: clningd Started: [ xen01 xen02 ] スコア 値 が100 0 Node Attributes: * Node xen01: + default_ping_set : 0 : Connectivity is lost + xen02-eth1 : up + xen02-eth2 : up * Node xen02: + default_ping_set : 100 + xen01-eth1 : up + xen01-eth2 : up location 設 定 に 従 ってF/O Migration summary: * Node xen02: * Node xen01: fail-count は 増 加 しない

# iptables -F # crm_mon i1 -Af Online: [ xen01 xen02 ] Resource Group: grpha prmfs (ocf::heartbeat:filesystem): Started xen02 prmi (ocf::heartbeat:iaddr2): Started xen02 Clone Set: clningd Started: [ xen01 xen02 ] Node Attributes: * Node xen01: + default_ping_set : 100 + xen02-eth1 : up + xen02-eth2 : up * Node xen02: + default_ping_set : 100 + xen01-eth1 : up + xen01-eth2 : up Migration summary: * Node xen02: * Node xen01: スコア 値 が0 100

(4) ノードのスタンバイ 化 /オンライン 化 crm(live)# node crm(live)node# help standby Set a node to standby status. The node parameter defaults to the node where the command is run. Additionally, you may specify a lifetime for the standby---if set to `reboot`, the node will be back online once it reboots. `forever` will keep the node in standby after reboot. Usage:... standby [<node>] [<lifetime>] lifetime :: reboot forever... ノード 名 を 指 定 しなかった 場 合 は crmシェルを 実 行 中 のノードが スタンバイ 化

おわり