1.概要
本検証は、2021年4月時点のRHEL8系、Oracle 19c(19.7)、LifeKeeper9.5.1、NetVault13の組み合わせによる
サイオステクノロジー社LifeKeeperのフェイルオーバークラスタ構成におけるOracle Pluginの基本動作の検証を目的としています。
2.検証環境
2.1 NetVaultサーバ環境
OS: |
Windows Server 2019 |
ホスト名: |
W19NV13 |
NetVault Core: |
13.0.2 |
バックアップストレージ: |
VTL |
2.2 HAクラスタノード環境
|
クラスタノード1 |
OS: |
RHEL 8.3 |
ホスト名: |
r83o197p |
NetVault Core: |
13.0.2 |
Oracle Plugin: |
13.0 |
Database |
オラクル社 Oracle 19c (19.7) |
Cluster Software |
サイオステクノロジー社 LifeKeeper for Linux 9.5.1 |
|
クラスタノード2 |
OS: |
RHEL 8.3 |
ホスト名: |
r83o197s |
NetVault Core: |
13.0.2 |
Oracle Plugin: |
13.0 |
Database |
オラクル社 Oracle 19c (19.7) |
Cluster Software |
サイオステクノロジー社 LifeKeeper for Linux 9.5.1 |
3.検証手順
3.1 LifeKeeper for Linux HAクラスタ構成の構築
サイオステクノロジー社の以下の資料を参考に、LifeKeeperとOracle19cをクラスタノードにインストールします。
実践!! LifeKeeper for Linux を使ったOracle 19c DataBase HAクラスター化の手順紹介
https://bcblog.sios.jp/lkforlinux-oracle19c-procedure/
>補足
・コミュニケートパス用LANを2系統追加します
・LifeKeeperのインストールは、ネットワークに接続され、yumが設定されていることが前提です。
事前に以下の必要なパッケージをyumでインストールしておきます。
https://docs.us.sios.com/spslinux/9.5.1/en/topic/linux-dependencies
yum install libXtst libstdc++ bzip2-libs pam zlib patch redhat-lsb ncurses-libs
・RHEL8.3での注意点
https://docs.us.sios.com/spslinux/9.5.1/ja/topic/configuring-the-lifekeeper-gui
RHEL 8 系では、LifeKeeper と OS 同梱の OpenJDK の間でメモリー管理の不整合があります。
これを回避するため、RHEL8ではLifeKeeper のインストールイメージに同梱している OpenJDK がインストールされます。
しかしRHEL8.3では自動でインストールされずLifeKeeperのGUIが起動エラーになってしまうので、手動でインストール・設定する必要がありました。
以下の手順を参考に、LifeKeeper 9.5.1のインストールイメージに同梱している openjdk-12.0.2_linux-x64_bin.tar.gzを手動で設定します
https://lkdkuserportal.sios.jp/hc/ja/articles/360038982011-LifeKeeper for Linux v9.3.1でのOpenJDK サポートについて
・本検証環境では、共有ディスク(/dev/sdb1)を/u01/app/oracle/oradataにマウントして、共有ディスクリソースとして登録します
・サイオステクノロジー社の資料の手順では、FRA未作成、アーカイブログ無効でインストールしていますが、
NetVaultのOracle PluginでRMANによりバックアップする場合アーカイブログ有効が必須のため、
Fast Recovery Areaを共有ディスクのパスに作成しアーカイブログ有効で設定します
(本検証では、共有ディスクをマウントしている/u01/app/oracle/oradataの下にFast Recovery Areaを設定しました)
LifeKeeperのGUIを起動し、クラスタ構成を構築します
また、検証の手順は、2016年にサイオステクノロジー社が公開した、以下の検証レポートに準じています
LifeKeeper for Linux と NetVault Backup
Oracle データベースの動作検証レポート
https://bcblog.sios.jp/lifekeeper-for-linux-netvault-backup11/
3-2 NetVaultのインストール
簡単設定ガイドを参考に、バックアップサーバ、クラスタ各ノードにNetVaultをインストールし、バックアップサーバにクラスタ各ノードをNetVaultクライアントとして登録します。
(1) | バックアップサーバ(Windows2019)にNetVault Server 13.0.2(Windows版Pure64)をインストールしました。 |
(2) |
クラスタの各ノード(RHEL8.3)にNetVault Client 13.0.2(Linux版Pure64)をEnglish(※)でインストールしました。 ※バックアップサーバ(Windows)とクライアント(Linux)が異なるOSの場合、クライアントを日本語(JapaneseEUC) |
(3) | バックアップサーバにバックアップデバイスとしてVTLを作成します |
(4) |
クライアント管理でクラスタのノード1(r83o197p)とノード2(r83o197s)をクライアントとして登録します。
|
(5) |
[NetVault13~]ライセンス管理で、NetVault Plugin for Oracle Clusterライセンスをインストールしておきます
|
3-3 NetVault仮想クライアントの作成
クラスタの仮想IPとクラスタの各リソースを、仮想クライアントとして登録します。
(1) |
仮想クライアントにプラグインモジュールをインストールする場合、 |
(2) |
クライアント管理で |
(3) |
[仮想クライアント]ページで、右上のフィールドのプルダウンリストにOracle Pluginのプラグインファイルが表示されますので、選択します。 |
(4) |
「利用可能なクライアント」リストから、クラスタノードのクライアントを確認して、そのクライアント名左側の アイコンをクリックして[選択済みクライアント]リストに登録します。 |
(5) |
仮想クライアント名、仮想クライアント アドレス、を入力します。 |
(6) |
[仮想クライアントの作成]をクリックすると、仮想クライアントが作成されます。 |
(7) |
仮想クライアントが登録され、プラグインモジュールもインストールされます。 |
(8) |
クライアント管理で黄色アイコンの仮想クライアントr83vclkが表示されます。 |
3-4 仮想クライアントのOracle Plugin の設定
Plugin for Oracle のプラグインオプションを設定します。以下の項目を指定します。
1.NetVault サーバ
2.NetVault サーバ からリストアを実施する
3.NetVault クライアントからのバックアップをリストアする
1と 2 に NetVault サーバ 、 3 に仮想クライアントを指定します。
この設定は 仮想クライアントで直接指定出来ないため 各クライアントノードに対して実施します。
(1) |
[設定変更]で [マシンを選択する]をクリックします。 |
(2) |
クライアントの一覧が表示されるので、仮想クライアントに登録している実クライアントを選択して[>設定に移動する]をクリックします。 |
(3) |
[プラグインオプション]をクリックします 。 |
(4) |
[プラグインオプション]ダイアログ内項目[Plug in for Oracle]で 、 |
(5) |
[プラグインオプション]ダイアログ内項目[Plug in for Oracle]で 、 |
ここまでをクラスタノード(r83o197p,r83o197s)すべてに設定します |
3-5 Oracle Recovery Manager(RMAN)の設定
Oracleが稼働しているノードでRMANの設定を行います
本検証では、
・RMANリポジトリは使用しません(NOCATALOG)。
・RMANのデフォルトデバイスはSBT_TAPE(NetVaultのメディア)です。
・RMANのAUTOBACKUPはOFFにしています。
(1) |
3-6 仮想クライアントのOracle Pluginバックアップジョブ作成
バックアップジョブを作成します。バックアップジョブ作成のステップ中にOracle Pluginの設定もおこないます。
(1) |
WebUI右側ペインの バックアップジョブ 作成をクリックします 。 |
(2) |
NetVault Backup セレクションでバックアップ対象の仮想クライアントr83vclkを展開します 。 |
(3) |
Plugin for Oracle を選択すると 「オラクル・データベースを追加する」ダイアログがポップアップします。
※注意 |
(4) |
OK をクリックし、ダイアログを 閉じます。 |
(5) |
再度Plug in for Oracle 左の ボタン をクリックするとデータベースが展開されます。 |
(6) |
ここで、バックアップの対象を選びます。データベース全体をバックアップします。 データベーストップの orcl にチェックを入れます。
|
(7) |
バックアップジョブ作成画面に戻ってきます。セレクションに、さきほど設定したセット名orclが表示されていることを確認します。 |
(8) |
[バックアップオプション]タブ |
(9) |
バックアップジョブ作成画面に戻ってきます。
|
3-7 Oracle Pluginバックアップジョブの実行確認
前項で実行したバックアップジョブの実行を確認します。
また、フェイルオーバー後もジョブが実行できることを確認します
(1) |
Oracleインスタンスが稼働しているノードは、LifeKeeperGUIで確認します |
(2) |
NetVault WEBUIのジョブステータスで、バックアップジョブの進行状況や結果を確認できます 。 |
(3) |
ログを参照すると、仮想クライアント(r83vclk)がプライマリノード(r83o197p)上で実行されているのが確認できます。 |
(4) |
ジョブが正常終了したことを確認します。 |
(5) |
LifeKeeperGUIでOracleインスタンスをスタンバイノード(r83o197s)に、フェイルオーバーさせます。 |
(6) |
(※以下の作業はスタンバイノード側でフェイルオーバーさせてから最初の1回だけ行います。) |
(7) | (※以下の作業はスタンバイノード側でフェイルオーバーさせてから最初の1回だけ行います。) cd $ORACLE_HOME/lib ln -s /usr/netvault/lib/orasbt.so libobk.so ls -l libobk.so lrwxrwxrwx 1 oracle oinstall libobk.so -> /usr/netvault/lib/orasbt.so |
(8) |
フェイルオーバー後のジョブ実行 |
(9) |
ログを参照すると、仮想クライアント(r83vclk)がフェイルオーバー先のプライマリノード(r83o197s)上で実行されているのが確認できます。 |
(10) |
ジョブが正常終了することを確認します。 |
このあと、フェイルオーバーを複数行い、クラスタノードを切り替えて、再度バックアップジョブを実行し、 |
3-8 Oracle Pluginリストアジョブの実行確認
(ご注意)前提として、Oracle RMANのリストア操作は、Oracleに精通した管理者のかたが行ってください。
・ユーザ表領域であれば、インスタンス稼働中にユーザ表領域のみのリストアは可能です。
・データベース全体の復旧の場合、shutdown abort, startup nomount, startup mount, alter database openの操作が必要になります。
(1) |
Oracleインスタンスの停止・起動を伴うリストアの場合、LifeKeeper for Linuxがshutdownを検出してフェイルオーバーが発生してしまうので、 lkstop -fでLifeKeeper GUIではX表示になりますが、lkstop直前の状態で、共有ディスクはマウントされており、Oracleインスタンスは稼働しています。 |
(2) |
リストアジョブ作成をクリックします。 |
(3) |
データベース全体をリストアします。 |
(4) |
プラグインオプションの編集で[リストアオプション タブにします。 |
(5) |
[リストアオプション]タブで、下にスクロールして以下のように変更します。 |
(6) |
[Perform Recovery] タブの リカバリ・タイプ を選択します。 |
(7) |
[ジョブ名]を入力し、[クライアント指定]に仮想クライアントが表示されていることを確認し |
(8) |
リストアの正常終了を確認します 。 |
- 本ドキュメントは、検証作業や検証結果についてまとめたものを紹介しているものであり、本ドキュメントに関する内容について、クエスト・ソフトウェア株式会社が動作を保証するものではありません。各ソフトウェアのバージョンおよび環境等の違いにより動作しない場合も想定されますので、導入の際には事前に検証をされることを推奨いたします。
- 記載されている会社名および製品名などは該当する各社の商標または登録商標です。
- 本手順で説明している他社製品の操作詳細については、各社のマニュアル等をご参照ください。
作成:2021年4月