Quick Service Protection(以下 QSP)を利用して、SQL Server 2017 on Linux リソースを作成してみた。

125
Pocket

こんにちは。
相澤です。LifeKeeperの評価検証業務を担当しております。

Microsoftより、2017年10月2日にSQL Server 2017 がリリースされ、「Linux OS」や「Dockerコンテナ」等の機能が、サポート対象として追加されました。
今回は、QSPを用いて、SQL Server 2017 on Linux のリソース作成を実施してみたので、簡単とはなりますがご紹介します。

QSP の詳細は以下リンクを参照してください。
<http://jpdocs.us.sios.com/Linux/9.2/LK4L/TechDoc/index.htm#administration/administrator_tasks/creating_resource_hierarchies/qsp_resource_hierarchy.htm>

今回作成した環境は以下のようになります。

システム構成 

image1

 

 

項目 設定値
ハードウェア vSphere上の仮想マシン
OS Red Hat Enterprise Linux 7.4
LK/DK

SIOS Protection Suite for Linux v9.2

(非共有ディスク構成のためDataKeeper を使用)

DBソフトウェア SQL Server 2017 on Linux (評価版)
DBサーバホスト名 lk091/lk092
コミュニケーションパス

10.1.5.91/10.1.5.92

192.168.1.91/192.168.1.92

クライアント接続用仮想IP 10.1.5.96
データミラー領域 /dev/sdb
マウントポイント /sqldb
レプリケーション用ネットワーク 192.168.1.91/192.168.1.92

※LifeKeeper/DataKeeperのインストールの詳細については、各種マニュアルをご参照ください。
SQL Serverは、両方のホストへインストールし、SQL Serverで使用するデータは、データミラー領域へ格納しております。

構築の流れ

以下の流れで導入を実施します。

■SQL Server 2017 on Linuxのインストール

■QSP(SQL Server)リソースの作成

■動作検証

LifeKeeperおよびDataKeeperのインストールおよび初期設定は完了しているものとし、lk091がActive、lk092がStandbyとなっている事を前提とします。

image2

1.SQL Server をインストールする。

下記URLの手順を参考に、SQL Serverのインストールを実施します。
※両方のサーバでインストールを実施して下さい。

【 該当URL 】
<https://docs.microsoft.com/ja-jp/sql/linux/quickstart-install-connect-red-hat>

 

2. SQL Server の設定ファイルを編集し、データ格納場所を設定する。

下記URLの手順を参考に、SQL Server のデータ、ログなどの格納場所の設定を実施します。
※本設定は、両方のサーバで実施して下さい。

【 該当URL 】
<https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-configure-mssql-conf>

 

3. IP リソース、DataKeeper リソースを作成する。

下記参照し、IPリソース、DataKeeperリソースの作成を実施します。

【 IP Recovery Kit 管理ガイド 】
 -IP リソース階層の作成

【 SIOS Protection Suite for Linux 9.2 テクニカルドキュメンテーション 】
 -DataKeeper リソース階層の作成

image3

 

4. QSP を用いて、SQL Server リソースを作成する。

Craate Resource Hierarchy を選択し、リソースの作成メニューを起動し以下を選択します。

111

 

項目 入力/選択する値
Please Select Recovery Kit Quick Service protection
Switchback Type Intelligent
Server LK091
Service Name mssql-server
Enable or Disable monitoring  Enable
※serviceコマンドにて、statusの確認が可能なサービスとなるため、enableを選択する。
Resource Tag QSP-mssql-server

※項目は選択式となり、手入力は不要です。

 

5. リソース拡張を行い、SQL Serverリソースを作成する。

リソース拡張メニューより、以下を選択し、SQL Server リソースの作成を実施します。

image5

 

項目 入力/選択する値
Target Server LK092
Switchback Type intelligent
Templete Priority 1
Target Priority 10
Resource Tag QSP-mssql-server

その他項目に関しては、Wizard に従い操作を進めてもらえれば、SQL Serverリソースの作成は完了となります。

 

6. 作成したSQL Server リソースと、他リソースとの依存関係を作成する。

下記URLを参考し、SQL Server リソースと、他リソースとの依存関係を作成します。

【 SIOS Protection Suite for Linux 9.2 テクニカルドキュメンテーション 】
 -リソース依存関係の作成

image6

これで、QSPによる、SQL Server 2017 on Linuxの保護は完了となります。

 

動作検証

QSPによる、SQL Serverリソースの作成が完了したので、正常にフェイルオーバーが行われるかを確認します。

1. LifeKeeper GUIを起動します。

以下コマンドを実行し、LifeKeeper GUIを起動します。

# /opt/LifeKeeper/bin/lkGUIapp

2. 手動スイッチオーバーを実施します。

In Service をクリックします。

222

Server から切替え先である、lk092を選択し、Next をクリックします。

333

 

切替え対象リソースを選択し、Nextをクリックします。
※リソース階層の親リソースを選択することで、全てのリソースが移動します。

444

 

確認画面の内容を確認し、問題ないようであれば In Service をクリックします。

555

 

Done をクリックし、スイッチオーバーを完了します。

666

 

全てのリソースが、lk092側でActiveとなっていることを確認します。

777

 

3. SQL Serverリソースのローカルリカバリーを無効化し、アプリケーション障害によるフェイルオーバーを発生させます。

※ローカルリカバリーが有効となっていると、サービス停止後に自動で復旧してしまう為、無効とします。

以下コマンドを実行し、ローカルリカバリーの設定を確認します。

# /opt/LifeKeeper/bin/lkpolicy -g –v

888

※LocalRecovery が On となっていることが確認できます。

 

以下コマンドを実行し、ローカルリカバリーを無効化します。

# /opt/LifeKeeper/bin/lkpolicy -s LocalRecovery -E tag=”QSP-mssql-server”

 

121

以下コマンドを実行し、変更後の設定を確認します。

/opt/LifeKeeper/bin/lkpolicy -g –v

122

※LocalRecovery が Off となっていることが確認できます。

以下コマンドを実行し、mssql-server.service を停止します。

# systemctl stop mssql-server.service

123

以下コマンドを実行し、mssql-server.service の状態を確認します。

# systemctl status mssql-server.service

124

 

リソース障害を検知し、lk092側にリソースが切替わったことを確認します。

125

lkpolicy コマンドの詳細は、以下マニュアルを参照して下さい。

【 SIOS Protection Suite for Linux 9.2 テクニカルドキュメンテーション 】
 -リソースポリシー管理

これにて、手動スイッチオーバーおよび、アプリケーション異常によるフェイルオーバー動作の確認は終了となります。

まとめ

今回は、QSPを用いてSQL Server 2017 on Linuxのリソース作成を実施させて頂きました。
Generic ARKを用いることで保護を行うことも可能ですが、利用者側で別途スクリプトを作成する必要があり、難易度は高いものとなります。

今回のように、QSPを用いることでリリース間もないソフトウェアでも、簡単に保護することが可能となりますので、今回の記事が参考になれば良いと思います。

>>QSPやLifeKeeper/DataKeeperについてのお問合せはこちら

SNSでもご購読できます。