LifeKeeper for Windows v.8.9.0から提供されているStorage Quorum/Witnessを使用するための手順を解説します。
Storageモードで設定できる共有ストレージの種類はfile(SMBをサポート),aws_s3の二種類になります。この記事ではaws_s3の構成手順を記載しています。
この種類についての詳細は、ご利用のバージョンのマニュアルを参照してください。
SIOS Technical Documentation
LifeKeeper for Windows テクニカルドキュメンテーション > 構成 > LifeKeeper Quorum > Storageモード
また手順内に記載されるC:¥LK¥etc¥default¥LifeKeeperの各パラメータにつきましては、ご利用のバージョンのQuorumパラメータ一覧を参照してください。
Quorumパラメータ一覧
【aws_s3】
次の環境下での構築を行います。
- 稼働系ノード名:NODE1
- 待機系ノード名:NODE2
- クラスター配置リージョン:ap-northeast-1(東京リージョン)
- S3 バケット配置リージョン:ap-northeast-3(大阪リージョン)
インターネット接続が出来ない環境から別リージョンのAmazon S3にアクセスする場合、エンドポイントの作成が必要になります。
※ S3 Quorumを使用する場合の推奨設定
LifeKeeper for Windowsでは、Amazon S3 QWKオブジェクトへのアクセスの際に、内部で定期的に署名付きURLを発行しています。署名付きURLの発行時は、通常よりも多くのコンピューティングリソースを消費するため、Power ShellにAWS.Tools.S3モジュールをインストールすることで、コンピューターの負荷を減らすことができます。
詳細は以下のURLをご覧ください。
S3 Quorumを使用する場合の推奨設定
-
AWS S3上にバケットを登録する。
S3にバケットを登録する際は、クラスターを構成するすべてのノードで、LifeKeeperサービスを実行するサービスアカウントがAWS CLIでS3オブジェクトに対して読み書きできるように以下の権限を付与してください。- s3:ListBucket
- s3:GetObject
- s3:PutObject
- s3:GetBucketLocation
S3バケットはクラスターがあるリージョンとは異なったリージョンに配置してください。同一リージョンの S3バケットを利用した場合に AZ(Availability Zone) 間の接続が分断されると、複数 AZ にレプリケーションが配置されている S3バケットも同時に分断し、 S3バケットへの一貫性のあるアクセスが期待できないため、リージョンを分ける設定を推奨しています
quorumオブジェクトを配置するS3バケットは1リージョンで足りますが、2リージョンに分割して配置しても運用可能です。
-
クラスターの各ノードに対し、AWS CLIのインストールと、S3にアクセスするための設定を行います。
AWS CLIのインストール
Power Shellをadministrator権限で起動し、aws configureコマンドを実行します。この際、クラスター構築ユーザーのアクセスキーを取得している必要があります。PS C:\Windows\System32> aws configure AWS Access Key ID : AWS Secret Access Key : Default region name : ap-northeast-1 Default output format : text(デフォルトではjson) -
クラスターの各ノードのC:¥LK¥etc¥default¥LifeKeeperの内容を確認します。
パラメータが正しく設定されていること、両ノードで設定が同じことを確認します。QuorumモードにStorageを設定する場合は、WitnessモードもStorageを選択する必要があります。
また、2リージョンにs3バケットを指定している場合は、カンマ区切り(スペースは含まない)で列挙してください。QUORUM_MODE=Storage ~~~~~~~~~~~~~~省略 WITNESS_MODE=Storage ~~~~~~~~~~~~~~省略 (以下はファイルの末尾に追記) QWK_STORAGE_TYPE=aws_s3 QWK_STORAGE_HBEATTIME=7 ##aws_s3の場合は7以上に設定するのを推奨しています。 QWK_STORAGE_NUMHBEATS=4 QWK_STORAGE_OBJECT_NODE1=s3://qwk-s3-625364463210-ap-northeast-3-an/NODE1_QWK QWK_STORAGE_OBJECT_NODE2=s3://qwk-s3-625364463210-ap-northeast-3-an/NODE2_QWK -
クラスターの両ノードで初期化( C:¥LK¥bin¥qwk_storage_init)を実行する。
C:\LK\bin\qwk_storage_initを実行する前に、全てのコミュニケーションパスが稼働しており、ステータスがALIVEであることを確認してください。
クラスターの全ノードの初期化が完了するまでの間、qwk_storage_initコマンドは待機状態となります。【NODE1】
PS C:\Windows\system32> C:\LK\bin\qwk_storage_init ok: LifeKeeper is running. ok: The LifeKeeper license key is successfully installed. ok: QWK parameter is valid. ok: The path of QWK object is valid. ok: Initialization of QWK object of own node is completed. ok: quorum system is ready. Process: LK-init:lki_addwatch(8920) *INFO* (No. 19221) C:\LK\bin\lki_addwatch.exe of process C:/LK/bin/qwk_storage_server.exe C:/LK/config/qwk-storage.cfg has completed successfully. Successful.【NODE2】
PS C:\Windows\system32> C:\LK\bin\qwk_storage_init ok: LifeKeeper is running. ok: The LifeKeeper license key is successfully installed. ok: QWK parameter is valid. ok: The path of QWK object is valid. ok: Initialization of QWK object of own node is completed. ok: quorum system is ready. Process: LK-init:lki_addwatch(7492) *INFO* (No. 19221) C:\LK\bin\lki_addwatch.exe of process C:/LK/bin/qwk_storage_server.exe C:/LK/config/qwk-storage.cfg has completed successfully. Successful. -
QWKオブジェクトの動作を確認します。
各ノード上のQWKオブジェクトが正常に動作していることを確認します。NODE1
PS C:\Windows\system32> aws s3 cp s3://qwk-s3-625364463210-ap-northeast-3-an/NODE1_QWK - signature=lifekeeper_qwk_object local_node=NODE1 time=Thu Jul 23 08:44:40 2026 sequence=359 node=NODE2 commstat=UP checksum=12889958661143474051NODE2
PS C:\Windows\system32> aws s3 cp s3://qwk-s3-625364463210-ap-northeast-3-an/NODE2_QWK - signature=lifekeeper_qwk_object local_node=NODE2 time=Thu Jul 23 08:45:52 2026 sequence=365 node=NODE1 commstat=UP checksum=12890064154130370435以上でStorage Quorum/Witness(aws_s3)の設定は完了です。
【初期化後の設定の変更方法】
初期化後にクラスターを構成するノードの追加・削除をする、またはC:¥LK¥etc¥default¥LifeKeeper設定ファイルのパラメータを変更する場合、再初期化が必要です。
- 全てのノードで¥LK¥bin¥qwk_storage_exitを実行します。
- ノードを削除する場合、削除するノードと他の全てのノード間のコミュニケーションパスを削除します。ノードを追加する場合は、追加するノードと他の全てのノード間にコミュニケーションパスを作成します。
- 全てのノードでC:¥LK¥etc¥default¥LifeKeeper設定ファイルを再設定します。
- 全てのノードで¥LK¥bin¥qwk_storage_initを実行します。
改訂履歴
[公開日:2026年8月4日]