2021年8月15日日曜日

(その1)Nutanix上にWindows+Oracle SEHA環境を構築する

前回は、LifeKeeperを利用したNutanix上に稼動するOracleデーターベースの保護方法をご紹介しました。

LifeKeeperは、簡単に構成ができる一方、有償製品であることやOracleのバージョンとLifeKeeperのバージョンの組み合わせなどを気にする必要も出てきます。Oracle Fail Safeからの移行の場合、考え方が近く管理しやすい一方Oracle製品だけで完結できないもどかしさもあります。

今回は、Oracle 19c (19.7)から搭載された、Oracle Standard Edition High Availability(Oracle SEHA)をNutanix環境上に構築する方法を数回に分けてご紹介させて頂きます。
SEHAの情報は、OracleだけにLinux版での実績や情報が多いようにありますが、今回はOracle Fail Safeからの移行を考慮し、Windows版での構築方法をご紹介いたします。


そもそもOracle Standard Edition High Availabilityとは?

Oracle SEHAは、Oracle 19cからStandard Edition 2においてReal Application Cluster(SE-RAC)が廃止され利用できなくなったこと、そして、Oracle Fail Safe(OFS)が、非推奨となりました。OFSは、非推奨のためOracle19cとの組み合わせの利用であってもサポートされますが、この後のバージョンでは利用できなくなる可能性が高いです。
こうなるとStandard Edition 2において、RACはおろか、HAのような高可用性機能も満足な形での提供がなくなり、Oracleデーターベースにおいて高可用性を求める場合、Enterprise Editionを購入するか、サードパーティーのクラスターソフトウェアを用いない限り、構成することが出来なくなってしまいました。そんな中、Oracleより発表されたのが、Oracle SEHAでした。Oracle SEHAは、Oracle Grid Infrastructureを利用した、アクティブ/スタンバイ方式のクラスターを提供する機能で、Standard Edition 2のみで利用できる機能となります。
Linux版だけでなくWindows版でも利用可能なため、事実上OFSの後継として位置づけることが出来ます。(作りや考え方は、OFSと全然違いますが)
Oracle SEHAは、バージョン19.7からの提供となるため、OTNやE-Deliveryから現行提供されるバイナリ「19.3」では利用できず、19.3のバイナリに「19.7」以降のパッチを適用する必要があります。


では、早速環境構築に進みたいと思います。

今回もAHV上での構成を行います。AHVの場合、Volume Groupで提供する共有ディスクボリュームをSCSI Direct Attacheでの構成も可能ですが、Nutanix+vSphere環境や、物理ホストでOracle SEHAを構築し、Nutanix Volumesの共有ディスク利用する構成にも対応出来るように、iSCSI形式での構成とします。

今回の構成図は、このような形となります。



作業ステップは以下の通りとなります。

  1. DATA SERVICE IPの設定
  2. 仮想マシンの作成
  3. Windows Server 2019 のインストール
  4. 仮想マシンのクローン
  5. Volume Groupの作成
  6. Sysprepの実行(任意)
  7. ホスト名の設定
  8. NICの設定
  9. 各パラメーターの設定変更
  10. ストレージの設定
  11. hostsとDNSの設定
  12. ドメインアカウントの作成とローカル管理者の設定
  13. レジストリの設定
  14. Oracleソフトウェアの配置
  15. ファイルの変更
  16. Grid Infrastructureのインストール
  17. Grid Infrastructureへのパッチ適用
  18. Oracle Databaseのインストール
  19. Oracle Databaseへのパッチ適用
  20. Oracle Databseインスタンスの作成
  21. addonnodeコマンドで、2台目のサーバーを設定
  22. LISTNERの設定変更
  23. コンテナDBの自動起動設定
  24. ノードの追加
  25. オペレーションの紹介


1.DATA SERVICE IPの設定

まずはNutanix VolumesでiSCSI接続ができるよう、「DATA SERVICE IP」の設定を行います。Prismの左上にあるクラスター名をクリックします。


ここで表示されるVirtul IPを設定します。Network Segmentation機能を利用していない場合は、CVMが設定されるIPアドレスと同じセグメントである必要があります。


2.仮想マシンの作成

今回は、以下の構成で仮想マシンを作成します。

vCPU6
RAM12GB
ディスク構成
Cドライブ100GBWindowsインストール場所
Dドライブ100GBOracle インストール場所


また、Nutanix上の仮想マシン名、仮想マシンのホスト名は以下の通りとします。

仮想マシン名ホスト名
ORA19CSEHA01ora19cseha01.toriten.oita
ORA19CSEHA02ora19cseha02.toriten.oita

なお、ORACLE SEHAは、Grid Inrdastructureを利用する関係から、Windowsの場合、各サーバーはActive Directoryドメイン参加が推奨されます。Workgroupでの構築も試してみましたが、Grid InfrastructureのASMインスタンスに対してのOS認証がうまく動作しない事象から抜け出せませんでしたので、やはり推奨されるドメイン参加での運用が必要になると思います。
今回は、あらかじめ用意した「toriten.oita」というActive Directoryドメインに参加した構成で構築を行います。

Prism上で仮想マシンを作成します。
まず1号機の仮想マシン「ORA19CSEHA01」を作成します。


ドライブ構成は、Cドライブ(OS領域)とDドライブ(ORACLE_HOME領域)の2つの仮想ディスクを構成します。
さらに、CDROMドライブを2つ構成し、1つは「Virt IO Driver」を、もう1つは、「Windows Server 2019」のISOをマウントします。



続いてNICの構成ですが、Oracle SEHAは、ハートビート通信を作成する必要があります。サービス系のネットワークと共にハートビート専用に別のVLANの2つを用意します。ここでは、「SERVICE」をサービス系、「HB」をハートビートネットワーク、NutanixのVolume Groupと接続するストレージパス用に「iSCSI」のそれぞれVLANを割り当てたNICを設定します。



以上の設定が出来たら、Saveで仮想マシンを保存します。
この時点で仮想マシンの作成は1台でよいです。




3.Windows Server 2019 のインストール

Windows Server 2019 Standardをインストールします。


必要なツールも併せてインストールしておきます。

OSのインストールが終わったら、一度仮想マシンをシャットダウンします。




4.仮想マシンのクローン

続いて、仮想マシンをクローンします。

PrismのVMから「ORA19CSEHA01」を選択し、Cloneをクリックします。



仮想マシン名は「ORA19CSEHA02」として、クローンを行います。




仮想マシンが、01と02で2台できたことがわかります。






5.Volume Groupの作成


次に、Volume Groupを作成します。
PrismのStorageメニューから、VolumeGroupを作成します。


今回はボリュームグループ名を「ORACLE19C-SEHA」と設定します。
Add New Diskから、今回共有ディスクで利用する「+ASM」、「+MGMT」、「+DATA」にあたる3つの共有ボリューム(LUN)を作成します。
今回は、ASMを50GB、MGMTとDATAは100GBで構成します。

次に、Volume Groupに接続する仮想マシンを登録します。AHVで直結の場合は、「Attach a VM」でダイレクトにSCSIバスを使った接続が可能です。今回はiSCSIを利用した接続を行うため、Clientの登録を行います。


ここでは、iSCSIのイニシエーターのIQNの登録を行います。IQNは文字列が長いため、入力間違いをする可能性もあります。そのため、Nutanix Volumesでは、IQN以外にiSCSIで接続するIPアドレス(iSCSIイニシエーターが利用するIP)を登録することで、ストレージボリュームのアクセスを許可させることが出来ます。今回はCHAP Authentificationは、利用しませんのでこのままAddします。


続いて2台目のVMのIPアドレスを登録します。登録の際にメッセージが表示されますが、これは1つのストレージボリュームを複数の仮想マシンからアクセスする場合、クラスターソフトウェアで制御する必要がある旨のメッセージが表示されます。今回はOracle Grid Infrastructureを利用したクラスター構成を作成するため特に問題はありません。そのまま、「Allow」をクリックします。

2つの仮想マシンのIPアドレスが登録されたら、以下のように一覧に表示されます。
iSCSIで利用するIPアドレスが登録されていることを確認し、Saveをクリックし、Volume Groupの設定を終えます。


6.Sysprepの実行(任意)

今回WorkGroupでの利用のため、必要に応じてとなりますが、「ORACLE19C-LK01」クローンして、「ORACLE19C-LK02」を作成しているため、SIDが重複した状態となっています。必要に応じてSysprepを実行してください。

Sysprepについては、「Windows7以上でデバイスドライバー消さずに簡易的にsysprepを行う方法」を参考に行って下さい。





0 件のコメント:

コメントを投稿