文書番号: PDTS20130601-025-007

LifeKeeper for Linux
Dovecot Generic ARK スクリプト仕様書
第7版

サイオステクノロジー株式会社

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

目次
1. 概要 .................................................................................................3
2. サポート環境 ......................................................................................3
2.1. Dovecot Generic ARK のサポートポリシー ........................................3
3. 前提条件 ............................................................................................5
4. 基本動作 ............................................................................................6
4.1. 起動処理(restore) ........................................................................6
4.2. 停止処理(remove) ........................................................................64.3. 監視処理(quickCheck) ..................................................................64.4. 回復処理(recover) ........................................................................65. 障害時の切り替え動作............................................................................75.1. Dovecot リソース障害時 .................................................................75.2. ノード障害時 .................................................................................76. スクリプト仕様 ....................................................................................86.1. 監視スクリプト(quickCheck) ..........................................................86.2. 起動スクリプト(restore) ................................................................86.3. 停止スクリプト(remove) ................................................................96.4. 回復スクリプト(recover) .............................................................. 10
7. スクリプトの実行時間.......................................................................... 10
7.1. restore、remove、recover ........................................................ 10
7.2. quickCheck .............................................................................. 10
8. スクリプトのパラメータ一覧 ................................................................. 12
9. 免責事項 .......................................................................................... 13

改版履歴2013 年 6 月 5 日
2013 年 11 月 18 日
2014 年 1 月 27 日
2014 年 3 月 6 日
2015 年 4 月 1 日
2017 年 5 月 31 日
2017 年 6 月 12 日

第1版
第2版
第3版
第4版
第5版
第6版
第7版

2
©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

1. 概要
本書は Dovecot サービス向けの Generic ARK スクリプトの動作を解説します。あらゆる環境において正常に動作することを保証するものでありません。本書に記載されている動作環境とは異なる環境で使用する場合は、必要に応じてスクリプト内容を修正し、ご利用ください。以降、本文書内でスクリプトと記載している箇所は、Dovecot サービス向けのGeneric ARK スクリプトを指すものとします。

2. サポート環境
2.1. Dovecot Generic ARK のサポートポリシー
Dovecot Generic ARK のサポートポリシーは以下の通りです。

[サポート対象 OS]
LifeKeeper のサポートに準じます。
[サポート対象 Dovecot]
Dovecot v1
Dovecot v2[留意点]
 本 Generic ARK は、OS が提供している Dovecot の RPM パッケージを使用して設定した Dovecot 環境で動作検証を行っています。Dovecot のソースフゔ゗ルからコンパ゗ルした環境は動作確認していません。
動作検証が行われていない方法で゗ンストールされた Dovecot 環境において、Dovecot に関連した問題が発生した場合は、OS が提供している RPM から゗ンストールした Dovecot に変更することをお願いする可能性があります。予めご了承ください。
Amazon EC2 環境で本 Generic ARK をご利用いただくことができます。
なお、Elastic IP を利用している場合は、保護対象のゕプリケーションをすべての IP に対して Listen する設定が必要です。

LifeKeeper Single Server Protection for Linux で、本 Generic ARK をご利用いただくことができます。

3©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書[参考情報]
Dovecot Generic ARK の各スクリプトは以下の環境で動作検証を行っております

RHEL5.9(kernel-2.6.18-348.el5) + Dovecot(dovecot-1.0.7-7.el5_7.1)+ LifeKeeper for Linux v8.1.2



RHEL5.9(kernel-2.6.18-348.el5) + Dovecot(dovecot-1.0.7-7.el5_7.1)+ LifeKeeper for Linux v8.2



RHEL6.3(kernel-2.6.32-279.el6) + Dovecot(dovecot-2.0.9-2.el6_1.1)+ LifeKeeper for Linux v8.1.2



RHEL6.4(kernel-2.6.32-358.el6.x86_64) + Dovecot(dovecot-2.0.9 - 5.el6)+ LifeKeeper for Linux v8.2



RHEL6.5(kernel-2.6.32-431.el6.x86_64) + Dovecot(dovecot-2.0.9 - 7.el6)+ LifeKeeper for Linux v8.2.1



RHEL7.0(kernel- 3.10.0-123.el7.x86_64) + Dovecot(dovecot-2.2.10-4.el7)+ LifeKeeper for Linux v8.4



RHEL7.3(kernel-3.10.0-514.el7.x86_64) + Dovecot(dovecot-2.2.10-7.el7)+ LifeKeeper for Linux v9.1.2

SLES12SP2(kernel- 4.4.21-69-default) + Dovecot(dovecot22-2.2.13-2.7)+ LifeKeeper for Linux v9.1.24©SIOS Technology, Inc.LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

前提条件

3.

Dovecot リソースを作成する前に以下の前提条件を満たす必要があります。


各ノードに同一バージョンの LifeKeeper for Linux(ラ゗センスを含む)が゗ンストールされていること



各ノードに同一バージョンの Dovecot が゗ンストールされていること



各ノード上の Dovecot の設定が同一であること



各ノードにおいて、OS 起動時の Dovecot の自動起動が無効にされていることDovecot リソース導入前に、各ノードで Dovecot の起動、停止が手動で行えるように Dovecot の設定が行なわれていること

クラスタシステムに Dovecot で使用する IP ゕドレスが確保されていること(初期値ではループバックゕドレス 127.0.0.1 を使用します。IP リソースによる切り替え可能な仮想 IP ゕドレスを指定する場合は、依存関係を作成し、IP リソースをDovecot リソースの下位に配置する必要があります。)

Dovecot の動作に必要なポートが開放されていること(初期値では TCP の 143ポートで接続を待ち受けます。)

5©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

4.

基本動作

Dovecot リソースでは、下記の 4 つの動作を実行します。
4.1. 起動処理(restore)
Dovecot リソースを ISP(サービス稼動状態)にするために、Dovecot サービスの起動処理を実行します。この動作は Dovecot リソースの起動処理、ス゗ッチオーバやフェールオーバーの切り替え動作が該当します。起動処理に失敗した場合は、Dovecot リソースは OSF(サービス障害状態)になります。Dovecot リソースの上位に依存関係を持つリソースが存在する場合は、そのリソースは起動されません。この動作の詳細は「6.スクリプト仕様」をご参照ください。
4.2. 停止処理(remove)
Dovecot リソースを OSU(サービス停止状態)にするために、Dovecot サービスの停止処理を実行します。この動作は Dovecot リソースの停止処理、ス゗ッチオーバやフェールオーバーの切り替え動作が該当します。停止処理に失敗した場合は、Dovecotリソースは OSF(サービス障害状態)になります。Dovecot リソースの下位に依存関係を持つリソースが存在する場合は、そのリソースは停止されません。
LifeKeeper for Linux v7.1 以降はフェールオーバー時、リソースの停止に失敗すると、稼動系ノードの強制再起動し、フェールオーバーを継続させます。この動作の詳細は「6.スクリプト仕様」をご参照ください。
4.3. 監視処理(quickCheck)
Dovecot リソースが ISP のときに、Dovecot の稼働状態の判定を行ないます。監視処
理で障害を検出すると回復処理に状態遷移します。この動作の詳細は「6.のスクリプト仕様」をご参照ください。
4.4. 回復処理(recover)
監視処理で障害を検出した場合に限り実行します。監視処理で障害を検出したノード上で Dovecot サービスの再起動を実行します。回復処理に失敗した場合、待機系へのフェールオーバーを開始します。この動作の詳細は「6.スクリプト仕様」をご参照く
ださい。フェールオーバー動作の詳細は「5.障害時の切り替え動作」をご参照ください。

6©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

障害時の切り替え動作

5.

スクリプトは以下のようなケースで切り替えが発生することを目的に作成しております。
Dovecot リ ソ ー ス は 起 動 (restore) ス ク リ プ ト 、 停 止 (remove) ス ク リ プ ト 、 監 視(quickCheck)スクリプト、回復(recover)スクリプトがそれぞれ指定されているものとします。
5.1. Dovecot リソース障害時
Dovecot リソースの障害を検知した場合は、以下のように動作します。
(1). Dovecot リソースの quickCheck 処理で障害を検知します。
(2). Dovecot リソースの recover 処理を実行され、回復処理を実行します。
Dovecot リソースの回復処理に成功した場合は、通常のサービス状態に戻ります。

Dovecot リソースの回復処理に失敗した場合は、待機系ノードへフェールオーバーします。

5.2. ノード障害時
コミュニケーションパスが全て DEAD 状態になった場合は、待機系ノードでフェールオーバーを開始します。このフェールオーバーでは待機家ノードで各リソースを順次、起動処理を行ないます。この時の Dovecot リソース起動時の動作としては、「3.起動処理(restore)」を実行します。

7©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

6.

スクリプト仕様

各スクリプトの仕様を以下に記載いたします。
6.1. 監視スクリプト(quickCheck)
以下の手順で Dovecot を監視します。
(1). Dovecot のプロセスの確認
Dovecot のプロセス（プロセス名：”dovecot”）の存在を確認します。
(2). ソケット通信の確認
Dovecot で設定されている IP ゕドレス/ポート1に対して接続の確認をします。
(3). Dovecot の稼働状況の確認
Dovecot のステ゗タスコマンドを実行して、Dovecot の稼働状態を確認します。
# service dovecot status
上記の監視項目が全て成功すれば Dovecot が稼働状態であると判定し、上記の監視項目が 1 つでも失敗した場合は、Dovecot が停止状態であると判定します。
6.2. 起動スクリプト(restore)
以下の手順で Dovecot の起動を実行します。
(1). Dovecot の稼働状態の確認
Dovecot の稼働状態2を確認します。Dovecot が稼働状態であると判定した場
合、起動スクリプトを終了します。
(2). Dovecot の起動
Dovecot の起動コマンドを実行します。
# service dovecot start(3). Dovecot の稼働状態の確認
Dovecot の起動コマンドを実行後、sleep コマンドによる 3 秒3間隔をあけてから Dovecot の稼働状態を確認します。Dovecot が稼働状態あると判定した
場合、起動スクリプトを終了し、Dovecot が停止状態である場合は、(2)~(3)の処理を最大 3 回4まで繰り返し実行します。Dovecot の繰り返し起動処理が1

IP ゕドレス/ポート番号は、APP_DOVECOT_IP_LIST プロパテゖで変更可能です。

2

稼働状態の確認項目は、「6.1 監視スクリプト(quickCheck)」の３つの確認項目を実行します。

3

sleep 秒数は APP_DOVECOT_RESTORE_WAIT パラメータで指定可能です。

4

起動処理の繰り返し回数は APP_DOVECOT_RESTORE_CHECK_RETRY パラメータで指定可能です。
8©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

実行された場合は、下記のログが記載されます。
<日時> Dovecot process <found/not found>,Port <connected/cannot
connected>, Status <alive/dead>, Retry count: <回数>.
6.3. 停止スクリプト(remove)
以下の手順で Dovecot の停止を実行します。
(1). Dovecot の稼働状態の確認
Dovecot の稼働状態5を確認します。Dovecot が停止状態であると判定した場合、停止スクリプトを終了します。
(2). Dovecot の停止
Dovecot の停止コマンドを実行します。
#service dovecot stop(3). Dovecot の稼働状態を確認
Dovecot の停止コマンドを実行後、sleep による 3 秒6の間隔をあけてからDovecot の稼働状態を確認します。
Dovecot が停止状態あると判定した場合、停止スクリプトを終了し、Dovecot が稼働状態である判定した場合は(2)~(3)の処理を最大 3 回7まで繰り返し実行します。
(4). (2)~(3)で Dovecot の停止コマンドを実行後でも Dovecot が稼働状態である
場合は、killall コマンドを使用して強制的に Dovecot のプロセスを停止させます。Dovecot プロセスの強制停止を実行後、sleep による 3 秒の間隔をあけてから Dovecot の稼働状態を確認します。Dovecot が停止状態であると判定した場合、停止スクリプトを終了します。

5

稼働状態の確認項目は、「6.1 監視スクリプト(quickCheck) 」の「(1) Dovecot のプロセスの確認」を実行します。

6

sleep 秒数は、APP_DOVECOT_REMOVE_CHECK_RETRY パラメータで変更可能です。

7

停止処理の繰り返し回数は APP_DOVECOT_REMOVE_CHECK_RETRY パラメータで指定可能です。

9©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

6.4. 回復スクリプト(recover)
Dovecot の停止処理および起動処理を実行し、Dovecot のサービスの回復を実行します。回復スクリプトは、内部的に停止スクリプトと起動スクリプトの処理を呼び出すことで、Dovecot の再起動処理を実行します。
(1). 停止スクリプトの処理を呼び出します。詳細は 6.2 起動スクリプト(restore)
を参照してください。
(2). 起動スクリプトの処理を呼び出します。詳細は 6.3 停止スクリプト(remove)を参照してください。
(3). (2)の起動スクリプトに成功した場合は回復スクリプトを終了し、失敗した場合は待機ノードへフェールオーバーが開始されます。

7. スクリプトの実行時間
スクリプトの実行時間およびタ゗ムゕウトは下記の通りです。
7.1.restore、remove、recover
これらのスクリプトの処理に要する時間に制限はありません。スクリプトの終了
時間はスクリプト内部で使用されている OS のコマンドや Dovecot の各コマンドの実行処理時間に依存します。導入するシステムの CPU、Memory、I/O 等 のシ
ステムリソースの使用状況により終了時間に遅延が発生する場合があります。
7.2.quickCheck
LifeKeeper for Linux v9.0.2 までは、quickCheck スクリプトは初期値で 22 秒のタ゗ムゕウト値が設定されています。quickCheck スクリプトのタ゗ムゕウト値
は/etc/default/LifeKeeper フゔ゗ルに${CONVTAG}_TIMEOUT パラメータを以下のように追加することで調整が可能です。$CONVTAG は Dovecot リソースのタグ名で、英数字以外の全ての記号を”_”に置き換えた文字列です。
${CONVTAG}_TIMEOUT=<秒数>
LifeKeeper for Linux v9.1.0 以降では、初期値ではタ゗ムゕウトが設定されません 。 タ ゗ ム ゕ ウ ト を 設 定 す る 場 合 は 、 /etc/default/LifeKeeper フ ゔ゗ ル に${CONVTAG}_QUICKCHECK_TIMEOUT パラメータを以下のように追加することで調整が可能です。$CONVTAG は Dovecot リソースのタグ名で、英数字以外の全ての記号を”_”に置き換えた文字列です。
${CONVTAG}_QUICKCHECK_TIMEOUT=<秒数>

10©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

quickCheck スクリプトの処理がタ゗ムゕウトした場合は、監視処理のタ゗ムゕウ
トを意味する下記のメッセージがログに出力され、処理が終了します。
quickCheck スクリプトのタ゗ムゕウトは障害とは見なさないため、タ゗ムゕウト
後にローカルリカバリやフェールオーバーの動作には遷移しません。
Script has hung checking “$TAG”. Forcibly terminating.
$TAG は Dovecot リソースのタグ名です。

11©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

8. スクリプトのパラメータ一覧
設定可能なパラメータ一覧を下記に記載します。これらのパラメータは設定フゔ゗ル/etc/default/LifeKeeper に記載することで調整可能です。パラメータの変更は両ノードで行ってください。パラメータ変更後、直ちに設定が有効になり、LifeKeeper の再起動は必要ありません。
パラメータ
APP_DOVECOT_DEBUG
APP_DOVECOT_RESTORE_CHECK_RETRY
APP_DOVECOT_RESTORE_WAIT
APP_DOVECOT_REMOVE_CHECK_RETRY
APP_DOVECOT_REMOVE_WAIT
APP_DOVECOT_IP_LIST

機能
デバックログの有効(1)・無効(0)の設定をします。初期値は無効(0)です。
起動コマンドのリトラ゗回数を指定します。初期値は 3 回です。
起動コマンドの sleep 時間(秒)を指定します。初期値は 3 秒です。
停止コマンドのリトラ゗回数を指定します。初期値は 3 回です。
停止コマンドの sleep 時間(秒)を指定します。初期値は 3 秒です。
使用する IP ゕドレス:ポート番号:TCPタ゗ムゕウト値(秒)を指定します。初期値は 127.0.0.1:143:2 です。

12©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書

9. 免責事項


本書に記載された情報は予告なしに変更、削除される場合があります。最新のものをご確認ください。



本書に記載された情報は、全て慎重に作成され、記載されていますが、本書をもって、その妥当性や正確性についていかなる種類の保証もするものではありません。



本書に含まれた誤りに起因して、本書の利用者に生じた損害については、サ゗オステ
クノロジー株式会社は一切の責任を負うものではありません。

第三者による本書の記載事項の変更、削除、ホームページ及び本書等に対する不正なゕクセス、その他第三者の行為により本書の利用者に応じた一切の損害について、サ゗オステクノロジー株式会社は一切の責任を負うものではありません。

システム障害などの原因によりメールフォームからのお問い合せが届かず、または延着する場合がありますので、あらかじめご了承ください。お問い合せの不着及び延着に関し、サ゗オステクノロジー株式会社は一切の責任を負うものではありません。

13©SIOS Technology, Inc.

LifeKeeper for Linux Dovecot Generic ARK スクリプト仕様書【著作権】
本書に記載されているコンテンツ(情報・資料・画像等種類を問わず)に関する知的財産権は、サ゗オステクノロジー株式会社に帰属します。その全部、一部を問わず、サ゗オステクノ
ロジー株式会社の許可なく本書を複製、転用、公衆への送信、販売、翻案その他のニ次利用をすることはいずれも禁止されます。またコンテンツの改変、削除についても一切認められません。
本書では、製品名、ロゴなど、他社が保有する商標もしくは登録商標を使用しています。

サ゗オステクノロジー株式会社〒106-0047 東京都港区南麻布 2-12-3 サ゗オスビル
http://www.sios.com

14©SIOS Technology, Inc.