こんにちは、サイオステクノロジーの高正です。
この度、ニフクラOVM環境においてLifeKeeper for Linuxがご利用いただけるようになりましたので、ご紹介させていただきます。
本記事ではニフクラOVM環境におけるHAクラスターシステムを構築する方法の一例をご紹介します。具体的にはLifeKeeperを使ってニフクラOVM環境でOracleデータベースを冗長化した検証内容をご紹介します。なお、OSはOracle Linuxを使用しています。
※本記事の内容は2021年10月時点のニフクラOVM上で検証した結果に基づいています。将来におけるニフクラおよびLifeKeeperの仕様変更について動作を保証するものではありませんので、HAクラスターシステムを構築する際は、本ブログ記事の内容や、最新のドキュメントを参考に、動作確認を十分に行うようにしてください。
ニフクラOVMの概要
ニフクラOVMは、富士通クラウドテクノロジーズ株式会社が提供するOracle DatabaseライセンスのBYOL(Bring Your Own License)が可能な環境を利用できるサービスです。
ニフクラOVMの詳しい内容につきましては、以下の内容をご参照ください。
構成情報
LifeKeeperを使って以下の2ノード構成のActive/Standbyクラスターを構築します。
今回の検証ではシングルリージョン・シングル構成のサーバーを2台使用します。その2台でDataKeeperを使用してデータレプリケーションをするHAクラスター構成を組みます。ニフクラOVMの構成パターンの詳細につきましてはOVM適用指針をご参照ください。
本検証は以下のサーバータイプ、ソフトウェアでプライマリサーバー・バックアップサーバー両方とも同じバージョンを使用しています。
種類 | バージョン |
---|---|
サーバータイプ | ovm.medium16 |
OS | Oracle Linux 7.6 (RHCK) |
Oracle | Oracle 19c 19.3.0.0.0 |
SIOS Protection Suite for Linux | v9.5.1 |
ニフクラOVM環境の構築と設定
ニフクラの設定
ニフクラOVM上に構築するサーバーに接続するために、ニフクラドに以下を作成する必要があります。
- プライベートLAN
- 踏み台サーバー
ニフクラOVM上のサーバーのアップデートやニフクラOVM上にインターネット経由でソフトウェアをインストールするために、以下が必要になります。
- WebプロキシまたはNATサーバー
それぞれの環境はニフクラのコンソールから作成します。今回作成した環境は以下のとおりです。
踏み台サーバーの構成は以下のとおりです。
クライアント端末からSSH接続するために、ファイアウォール(FWJumpHost)の設定でINルールでポート22番を許可します。
OUTルールではすべての通信を許可します。
NATサーバーはニフクラのルーターの機能を利用してNATサーバーとして構成しています。
ニフクラOVM内のサーバーからyumを実行するため、DNATでhttp(80)とhttp(443)の通信を許可しています。
ニフクラでのルーターのNATテーブルの詳細については、以下をご参照ください。
クラウドヘルプ(ルーター:NATテーブル作成) | ニフクラ
ニフクラOVMの申請
ニフクラOVM上にHAクラスター用に使用するプライマリサーバーとバックアップサーバーを用意します。以下をご参照のうえ、ニフクラOVMのサーバーを申請をしてください。
ニフクラOVM申請時にニフクラOVMのサーバーに接続するネットワーク(ニフクラの設定で作成したプライベートLAN)のIPアドレス(CIDR表記)が必要です。そのため、ニフクラのプライベートLANはニフクラOVMの申請前に作成しておく必要があります。踏み台サーバーやNATサーバーの作成は申請前後のいずれのタイミングで行っても問題ありません。
申請からサーバー作成および引き渡しの手順の詳細は、ニフクラOVMスタートアップガイド(PDF)をご参照ください。 申請が下りると、ニフクラOVMから利用者宛てに初期パスワードがメールで届きます。そのメールの情報をもとに、踏み台サーバーからOVMサーバーにSSH接続できるようになります。
ニフクラOVM内のプライマリサーバーとバックアップサーバーの設定
以降のパートでは2ノードのクラスター構成をセットアップ方法を説明していきます。
Oracle Databaseのインストールと設定
プライマリサーバーの増設ディスク内にOracle Databaseをインストールし、増設ディスク内にユーザーデータ・テーブルを作成します。
※プライマリサーバーの専有ディスク内にOracle Databaseをインストールし、ユーザーデータ・テーブルのみ増設ディスク内に配置する構成も可能です。
プライマリサーバーでは増設ディスク/dev/xvdb1をディレクトリ /u01にmountし、/u01にOracle Databaseをインストールしています。Oracle Databaseのインストール、リスナーの設定、Databaseの作成などのOracleのセットアップの詳細につきましては、Oracle社の公式マニュアル等をご参照ください。また、 LifeKeeperのドキュメントでご紹介しているケースがありますので、必要に応じてご参照ください。
LifeKeeperのインストールと設定
LifeKeeperをプライマリサーバー、バックアップサーバーにインストールし、セットアップします。次節以降で本書の検証での設定内容を記載します。
設定項目および手順の詳細につきましてはLifeKeeper for LinuxスタートアップガイドやLifeKeeper for Linux Oracle Recovery Kit管理ガイドをご参照ください
コミュニケーションパスの作成
プライベートLANにコミュニケーションパスを作成します。ニフクラOVMのサーバーのシングル構成では、LANは1系統のため、コミュニケーションパスは1本です。なお、プライベートLANはニフクラ内で冗長化されています。
コミュニケーションパスは1本であるため、ニフクラにQuorum Server(tcp_remoteモード)を用意し、コミュニケーションパス切断時のsplit brainによるデータ破壊の問題を対策しています。
Quorum Serverの詳細については、テクニカルドキュメントのQuorum/Witnessの箇所をご参照ください。
Quorum(tcp_remote)の設定
プライマリ・バックアップ両サーバーの /etc/default/LifeKeeperに以下の設定を追加します。
# Setting for Quorum(tcp_remote) QUORUM_MODE=tcp_remote QUORUM_HOSTS=172.16.0.5:22 # ニフティクラウド内のQuorumサーバー WITNESS_MODE=none QUORUM_TIMEOUT_SECS=20 QUORUM_LOSS_ACTION=fastboot
tcp_remoteモードの場合は、QuorumサーバーにLifeKeeperをインストールする必要はありません。
IPリソースの作成
LifeKeeper GUI管理画面より Create Resource Hierarchy を選択し、IP リソースを作成します。本構成でのリソース作成ウィザードでの設定内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Select Recovery Kits | IP |
Switchback Type | Intelligent |
Server | プライマリサーバーのホスト名 |
IP Resource | 172.16.0.201 |
Netmask | 255.255.0.0 |
Network Interface | eth0 |
IP Resource Tag | Ip-172.16.0.201 |
バックアップサーバーへのExtend時の内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Target Server | バックアップサーバーを選択 |
Switchback Type | Intelligent |
Template Priority | 1 |
Target Priority | 10 |
IP Resource | 172.16.0.201 |
Netmask | 255.255.0.0 |
Network Interface | eth0 |
IP Resource Tag | Ip-172.16.0.201 |
Data Replicationリソースの作成
LifeKeeper GUI管理画面より Create Resource Hierarchy を選択し、Data Replicationリソースを作成します。本構成でのリソース作成ウィザードでの設定内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Select Recovery Kits | Data Replication |
Switchback Type | Intelligent |
Server | プライマリサーバーのホスト名 |
Hierarchy Type | Replicate Existing Filesystem |
Existing Mount Point | /u01 |
DataKeeper Resource Tag | datarep-data |
Filesystem Resource Tag | /u01 |
Bitmap File | /opt/LifeKeeper/bitmap__u01 |
Enable Asynchronous Replication | No(同期モード) |
バックアップサーバーへのExtend時の内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Template Server | プライマリサーバーを選択 |
Target to Extend | datarep-data |
Target Server | バックアップサーバーを選択 |
Switchback Type | Intelligent |
Template Priority | 1 |
Target Priority | 10 |
Mount Point | /u01 |
Target Disk or Partition | /dev/xvdb1 |
DataKeeper Resource Tag | datarep-data |
Bitmap File | /opt/LifeKeeper/bitmap__u01 |
Replication Path | 172.16.0.10/172.16.0.20 |
Replication Type | Synchronous |
Oracleリソース階層の作成
Oralcle DatabeseリソースとOracle Database Listenerリソースを作成します。
Oracle Database Listenerリソース
LifeKeeper管理画面より、 Create Resource Hierarchy を選択し、 Oracle Database Listener リソースを作成します。本構成でのリソース作成ウィザードでの設定内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Select Recovery Kits | Oracle Database Listener |
Switchback Type | Intelligent |
Server | プライマリサーバーのホスト名 |
Listener Configuration File Path | /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora |
Listener Name | LISTENER |
Listener Executable | /u01/app/oracle/product/19.3.0/dbhome_1/bin |
Listener Protection Level | Full Control(Start,Stop,Monitor,&Recover) |
Listener Recovery Level | Standard,(On) |
IP Address Name | Ip-172.16.0.201 |
Listener Tag | LSNR.LISTENER |
バックアップサーバーへのExtend時の内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Target Server | バックアップサーバーのホスト名 |
Switchback Type | Intelligent |
Template Priority | 1 |
Target Priority | 10 |
Listener Configuration File Path | /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora |
Listener Executable | /u01/app/oracle/product/19.3.0/dbhome_1/bin |
Listener Tag | LSNR.LISTENER |
Oracle Databaseリソース
LifeKeeper管理画面より、 Create Resource Hierarchy を選択し、 Oracle Databaseリソースを作成します。本構成でのリソース作成ウィザードでの設定内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Select Recovery Kits | Oracle Database |
Switchback Type | Intelligent |
Server | プライマリサーバーのホスト名 |
Oracle_SID for Database | oracle |
User Name | Oracle |
Password | パスワード |
Filesystem Resource Tag | /u01 |
Select the Oracle Listener | LSNR.LISTENER |
Database Tag | oracle |
バックアップサーバーへのExtend時の内容は以下の通りです。
設定項目 | 設定値 |
---|---|
Template Server | プライマリサーバーのホスト名 |
Tag to Extend | oracle |
Target Server | バックアップサーバーのホスト名 |
Switchback Type | Intelligent |
Template Priority | 1 |
Target Priority | 10 |
Database Tag | Oracle |
以下のようなリソース階層となります。
リソース階層の図ではサーバーのアイコンが黄色になっています。コミュニケーションパスが1系統の場合は黄色で表示されます。 今回の構成では異常を示す表示ではありません。コミュニケーションパスのステータスの詳細については下記のマニュアルをご参照ください。
さらに、GUI の右ペインのサーバアイコンをチェックしてください。これが、作成済みの 1 つ目のコミュニケーションパスである場合は、1 つのコミュニケーションパスが [ALIVE] であるが、冗長コミュニケーションパスがないことを示す黄色のハートビートがサーバアイコンに表示されます。 docs.us.sios.com
LifeKeeperの動作確認
LifeKeeperが期待する動作をするかを確認するため、以下の内容を実施しました。各項目で期待する動作になることを確認しました。
1.システム起動確認
1.コミュニケーションパスがすべてALIVEである
2.アクティブノードですべての保護対象がISP(Active)である
3.アクティブノード上で仮想IPアドレスが起動している
4.スタンバイノード上で仮想IPアドレスが停止している
5.アクティブノード上で保護対象の共有ファイルシステムにアクセスできる
6.スタンバイノード上で共有ファイルシステムにアクセスできない
7.両ノードでLifeKeeper GUIが起動できる
8.アクティブノード上でOracle Databaseのサービスが起動している
9.スタンバイノード上でOracle Databaseのサービスが停止している
2.LifeKeeper停止、起動確認
1.コマンドを実行してLifeKeeperのサービスと保護サービスが正常に停止する
2.コマンドを実行してLifeKeeperのサービスと保護サービスが正常に起動する
3.ノード停止ならびにスイッチオーバー確認
1.スタンバイノードを停止し、アクティブノード側の保護サービスの動作に影響を及ぼさない
2.アクティブノードからスタンバイノードにスイッチオーバーできて、保護サービスが正常に動作する
3.アクティブノードを正常にシャットダウン後、スタンバイノードにフェイルオーバーが発生しない
4.コミュニケーションパス切断確認
1.コミュニケーションパスの通信障害を発生さえ、通信障害が発生した状態のままサービスが継続する
2.通信障害が解消がされたとき(今回の検証では切断したNICの再接続)、コミュニケーションパスの状態が回復する
5.アプリケーションリソース障害時のフェイルオーバー確認
1.アクティブノードでOracle Databaseのサービスに疑似障害を発生させ、スタンバイノードにフェイルオーバーする
2.フェイルオーバー先のスタンバイノードのOracle Databaseに対し、SQLクエリーを発行し正常な応答が得られる
3.フェイルオーバー元のアクティブノードでOracle Databaseのサービスが停止している
6.ノード障害によるフェイルオーバー確認
1.アクティブノード側の電源を強制的に停止する
2.スタンバイノードがアクティブノードの障害を検知しスタンバイノードへリソースがフェイルオーバーする
3.フェイルオーバー先のスタンバイノードで正常に保護サービスが動作する
4.フェイルオーバ元のアクティブノードが再起動後にLifeKeeperサービスが正常に起動している
まとめ
今回はニフクラOVM環境でSIOS Protection Suite for Linux(LifeKeeperとDataKeeperがセットになった製品)を使ったOracleのレプリケーション構成についてご紹介しました。
現時点では検証した構成は1パターンのみですが、今後、状況によっては構成パターンが増える可能性はあります。
ニフクラOVMにOracleの移行やOracleの新規導入を考えている方は是非ご利用をご検討ください。
参考情報
本記事の元になっている検証レポートは動作検証済みクラウド|サイオステクノロジー株式会社 のニフクラOVMのリンクから入手できます。検証レポートも合わせてご参照ください。