AWS上でのOracle冗長化で、LifeKeeperの設定作業を一部自動化してみた

こんにちは。サイオステクノロジーの高田です。

LifeKeeper for Linux v9.5.0でLifeKeeperコマンドラインインターフェイス(以下、LKCLI。)が実装されましたが、ご存じだったでしょうか。これらのコマンドラインを利用する事で、LifeKeeperのGUI画面を利用することなく、リソースやコミュニケーションパスを作成頂けるようになっております。

本稿では、LKCLIができること、利用することのメリット、そして実際にAWS上でOracle Databaseを冗長化する際にLKCLIを使って構築した場合のざっくりした流れについて説明したいと思います。最後に構築手順書とサンプルスクリプトのダウンロード場所も掲載しております。より早く、より正確な構築を模索されている、プロジェクトリーダー及びインフラエンジニアの皆様の参考になれば幸いです。

LKCLIが提供するコマンド

執筆時点で最新のLifeKeeper for Linux v9.5.1にて、LKCLIで提供しているコマンドラインは以下のとおりです。

lkcli license ライセンスキーのインストール
lkcli start LifeKeeper の起動
lkcli stop LifeKeeper の停止
kcli import (*1) コミュニケーションパス、リソース作成
lkcli export (*1) コミュニケーションパス、リソース情報の出力
lkcli clean コミュニケーションパスとリソースの削除
lkcli commpath コミュニケーションパスの操作
lkcli dependency 存関係の操作
lkcli resource リソースの操作
lkcli status リソース状態の一覧表示
lkcli log LifeKeeper のログ表示
lkcli server サーバの設定・操作
lkcli mirror DataKeeper のミラーリング操作
lkcli esxi VMDK RK で利用する ESXi ホスト

*1 GUIにはない機能
* LifeKeeper for Linux v9.5.1のLKCLIのページより抜粋。

GUI には無い機能として、コミュニケーションパスやリソース情報の export/import 機能があります。export/import 機能は、作成したシステムの量産や、テスト環境から本番環境のデプロイを容易に行える手段となります。これにより、冗長化する2台目の構築が簡単になります。

LKCLIを使うことのメリット

LKCLIをお使い頂くことのメリットは、ざっくり以下3つあると考えます。

    1. GUI環境準備が不要
      LifeKeeperのGUIを表示するために、操作端末でX Window System等の環境準備の
      手間が不要となる
    2. 工数削減
      必要なコマンドをまとめたスクリプトを実行することでLifeKeeperの構築作業を一部自動化でき、
      工数削減につながる
    3. 構築品質の向上
      スクリプト実行による構築作業の自動化で、構築における手順ミスが起こりにくくなり、
      構築品質が向上する

特に、同じような設定のクラスターノードをたくさん構築する必要がある場合は、構築ミスが減ることで結果的に全体的な工数の削減にも繋がるため、スクリプトの作成を検討するお客様も増え始めております。

また、構築の現場では、設定項目のエビデンスを納品物として提供することがあると思います。そんな時も、GUIの設定画面を何枚もスクリーンショットをとってWordに張り付けていくという地味な作業の代わりに、実行したスクリプトをエビデンスとして提出するだけでよくなる点も、LKCLIによる構築が注目されはじめた点です。

AWS上でOracleを冗長化する際にLKCLIを使ってみた

今回は、LifeKeeperを利用し、Oracleクラスターの構成でLKCLIを利用してみます。

具体的には、LifeKeeperのコミュニケーションパスと各リソース(Oracle、EC2、IP、DataKeeper)の作成を自動構築する、サンプルスクリプトを使ってみたいと思います。AWS 環境に新規の VPC を作成し、 2 ノード構成の Oracle を LifeKeeperとDataKeeperを利用して冗長構成を作成します。最終的に構築する環境の概要は以下のとおりです。この構成をイメージください。

クラウド環境 :AWS
LifeKeepeerのVersion :LifeKeeper for Linux v9.5.0
OSバージョン :CentOS7
保護対象アプリ :Oracle19c
共有領域 :DataKeeper for Linuxでミラーリング

構築の流れは、以下のとおりです。オレンジ枠で囲んだ部分が今回のスクリプトで自動実行を行った項目です。

このスクリプトを実行したことにより、オレンジ枠の作業時間が、約1時間程度短縮できました。時間的には少なく感じるかもしれませんが、作業ミスもなくなった点を考慮すると、大変効率的な構築ができるようになったのでは、と考えます。

構築手順書とサンプルスクリプトの提供

今回ご紹介した構成を構築するためのLKCLIのスクリプトと、スクリプト実行のためガイドを以下のURLにて公開しております。AWSマネジメントコンソールのスクリーンショットなども一部掲載しながら、AWS環境の構築手順も含めて記載しておりますので、ぜひこの機会にご確認頂き、LKCLIを使った構築を体験してみてください。 

なおサンプルスクリプトは、ホスト名/サブネット/IPアドレス等も変更することが可能です。変更しない場合は、前述の構成図にあるデフォルト値で構成されます。変更方法等もガイドに記載しておりますので、合わせてご参考ください。