プライベート・クラウド・アプライアンスのIaaSの構成

Oracle Private Cloud ApplianceでOracle RACデータベースを作成するには、ネットワーク、コンピュート、ストレージ、オペレーティング・システムを構成し、Oracle Grid InfrastructureおよびOracle RACデータベース・ソフトウェアをインストールする必要があります。プライベート・クラウド・アプライアンスのIaaS構成は、次のアーキテクチャに似ています。



rac-pca-architecture.zip

インフラストラクチャを作成する前に、次の前提と考慮事項を確認してください。

  • Oracle RAC環境内のすべてのノード(仮想マシン)は、ユーザーおよびアプリケーションがデータベースにアクセスできるように、少なくとも1つのパブリック・ネットワークに接続する必要があります。
  • Oracle RACでは、パブリック・ネットワークに加えて、ノードと、そのノード上で動作するインスタンス間の通信専用に使用するプライベート・ネットワーク接続が必要です。
  • Oracle Private Cloud Applianceを使用する場合、構成できるプライベート・ネットワーク・インターコネクトは1つのみです。一般に、このネットワークをインターコネクトと呼びます。相互接続ネットワークは、クラスタ内のすべてのサーバーを接続するプライベート・ネットワークです。
  • Compute Enclave UI (CEUI)へのアクセスに加えて、CEUIに依存するのではなく、OCIを使用してコマンドを実行するように要塞VMでOCI CLIを構成する必要もあります。

次の項では、プライベート・クラウド・アプライアンス・システムでコンピュート、ネットワークおよびストレージ構造を作成する方法について説明します。

ネットワークの構成

  1. 仮想クラウド・ネットワーク(VCN)を作成し、有効なCIDR範囲を定義します。Compute Enclave UI (CEUI)またはOCI CLIを使用できます。
  2. パブリックおよびプライベート・サブネットを作成します。さらに、動的ルーティング・ゲートウェイ、インターネット・ゲートウェイ、セキュリティ・ルール、DHCPオプション、ルーティング表などのゲートウェイを定義します。
  3. プライマリDNSゾーンおよびDNSゾーン・レコードを作成します。
  4. DNSゾーン・レコードにSCAN名および仮想IPを登録します。次のように構成します。
    • Customer EnclaveまたはOCI CLIを使用して、3つの異なるIPアドレスに解決されるSCAN名をDNSゾーンに登録します。
    • 顧客エンクレーブを使用するか、Oracle RACクラスタ内の各ノードにOCI CLIを使用して、DNSゾーンのIPアドレスに仮想IP名を登録します。
    [root@vmrac1 ~]#nslookup node1_name-vip.domain_name
    Server: X.X.X.X
    Address: X.X.X.X
    Name: node1-vip.domain_name
    Address: X.X.X.Y4
    [root@vmrac2 ~]#nslookup node2_name-vip.domain_name
    Server: X.X.X.X
    Address: X.X.X.X
    Name: node2-vip.domain_name
    Address: X.X.X.Y5
  5. ステアリング・ポリシーを作成し、アンサーを3つのIPアドレスとして追加し、同じSCAN名に解決します。
  6. ステアリング・ポリシーを追加し、DNSゾーンをステアリング・ポリシーにアタッチします。
  7. SCAN名の結果を確認します。次に例を示します。
    [root@vmrac1 ~]# nslookup SCAN_name.domain_name
    Server: X.X.X.X
    Address: X.X.X.X
    Name: SCAN_name
    Address: X.X.X.Y1
    Name: SCAN_name
    Address: X.X.X.Y2
    Name: SCAN_name
    Address: X.X.X.Y3

計算ノードの構成

これらのステップは、コンピュートVMの作成方法を説明しています。
  1. 同じパブリック・サブネット内の2つのVMを起動します。次のようにVMを構成します。
    • 2つのPrivate Cloud Applianceコンピュート・インスタンスとOL7.9プラットフォーム・イメージ。
    • VMシェイプVM.PCAStandard1.xxは、クラスタ・ノードおよび2つ以上のVNICにCPUを提供するのに十分な大きさである必要があります。各クラスタ・ノードには少なくとも2つのOCPUが必要です。
    • 両方のノードでプライマリ(デフォルト)VNICの「ソース/宛先チェックのスキップ」を有効にします。詳細は、Oracle Private Cloud Applianceユーザー・ガイドのVNICの更新に関する項を参照してください。
  2. 次のように、両方の計算ノードでセカンダリIPを構成します。
    • コンピュート・インスタンスごとに、クラスタ・ノードごとに1つのプライマリVNICがすでに作成されています。
    • コンピュート・インスタンスのプライマリVNICと同じVCNサブネット内。
    • プライマリIPアドレスには、目的のクラスタ・ホスト名であるホスト名が割り当てられます。
    • 割り当てられたホスト名cluster-node-name-vipを使用して、このVNICにセカンダリIPアドレスを割り当てます。
  3. 次のように、同じプライベート・サブネット内の両方のノードでプライベートIPを構成します:
    • コンピュート・インスタンスごとに、クラスタ・ノードごとに1つのセカンダリVNICを作成します。詳細は、Oracle Private Cloud Applianceユーザー・ガイドのセカンダリVNICのインスタンスOSの構成に関する項を参照してください。Oracleスクリプトsecondary_vnic_all_configure.shをダウンロードして実行し、/etc/sysconfig/network-scripts/ifcfg*ファイルを編集してセカンダリVNICを有効にする必要がある場合があります。
    • インスタンスの起動後に、両方のノードのプライベート・サブネットに2番目のVNICを追加します。これにより、プライベート・サブネットCIDR範囲からIPアドレスが割り当てられます。
    • プライベート・インターコネクト・トラフィックが問題なく通過できるように、すべてのファイアウォールが無効になっていることを確認します。
    • /etc/hostsファイル内のプライベートIPのエントリを更新します。
    • オプションで、IPアドレスを入力するか、プライベート・サブネットCIDR範囲からIPアドレスをシステムで割り当てることができます。
    Cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    X.X.X.A1 node1 node1.domain_name 
    X.X.X.A2 node2 node2.domain_name
    X.X.X.A3 node1-vip node1-vip.domain_name
    X.X.X.A4 node2-vip node2-vip.domain_name
    X.X.Y.B1 node1-priv node1-priv.domain_name
    X.X.Y.B2 node2-priv node2-priv.domain_name
    
    上の例に示すように、両方のノードの/etc/hostsファイルには、パブリックIP、仮想IPおよびプライベートIPのエントリが必要です。
  4. 各ノードにローカル・ブロック・ボリュームをアタッチします。
    コンピュート・インスタンスごとにクラスタ・ノードごとに新しいブロック・ボリュームを1つ作成し、読取り/書込みモードでコンピュート・インスタンスにアタッチします。このボリュームは、Grid InfrastructureホームおよびOracle Database Homeに使用されます。

ストレージの構成

Oracle RACでは、効率的な共有記憶域アクセスのためにOracle Automatic Storage Management (Oracle ASM)が使用されます。Oracle Automatic Storage Management (Oracle ASM)は、基礎となるクラスタ化されたボリューム・マネージャとして機能します。データベース管理者は、すべてのサーバーおよびストレージ・プラットフォームで一貫性のあるシンプルなストレージ管理インタフェースを使用できます。Oracle Databaseファイル専有の垂直統合ファイル・システムおよびボリューム・マネージャとして、Oracle Automatic Storage Management (Oracle ASM)は、ファイル・システムを簡単に管理できるRAW I/Oのパフォーマンスを提供します。
  1. 共有ストレージ・ディスク・グループを作成します。Oracle Automatic Storage Management (Oracle ASM)ディスク・グループに使用されるブロック・ボリュームを少なくとも1つ作成します。このブロック・ボリュームは、両方のVMに共有モードでアタッチし、Oracle Automatic Storage Management (Oracle ASM)ディスクのAFDを構成し、asmcmdコマンドを使用してAFD_labelを作成する必要があります。これらのブロック・ボリュームは、ASMのクラスタ共有ディスクに使用されます。
  2. ディスクの権限が次のように構成されていることを確認します。
    chown grid:asmadmin /dev/sdc
  3. 再起動後もディスク権限を永続的に設定します。次のファイルを作成し、ディスク権限を更新します。
    /etc/udev/rules.d
  4. 次のように構成されたローカルストレージマウントポイントを作成します。
    • 各ノードのローカル・マウント・ポイントに使用する2つのブロック・ボリュームを作成します。VMごとに、新しく作成された1つのブロック・ボリュームを読取り/書込みモードでアタッチする必要があります。
    • 各ノードで/u01として各VMにローカル・マウント・ポイントを作成します。
    • このブロック・ボリュームの上にファイルシステムを作成し、各ノードに/u01を作成します。各ノードの/u01にファイルシステムを作成します。
    • リブート後も永続的になるように、/etc/fstabにエントリを追加してください。このマウント・ポイントは、各ノードのOracle Grid InfrastructureホームおよびOracle Databaseホームに使用されます。

オペレーティング・システムの構成

Oracle Grid InfrastructureおよびOracle RACのユーザー、グループおよび環境を構成します。
  1. プライマリ・グループとセカンダリ・グループを持つグリッドおよびOracleユーザーを作成し、両方のノードでユーザーIDを確認します。
    [root@vmrac1 ~]#groupadd -g 201 oinstall
    groupadd -g 200 dba
    groupadd -g 202 asmadmin
    groupadd -g 203 asmdba
    [root@vmrac1 ~]#useradd -u 200 -g oinstall -G dba,asmdba oracle
    useradd -u 123 -g oinstall -G dba,asmdba,asmadmin grid
    id oracle
    id grid
    root@vmrac2 ~]#groupadd -g 201 oinstall
    groupadd -g 200 dba
    groupadd -g 202 asmadmin
    groupadd -g 203 asmdba
    [root@vmrac2 ~]#useradd -u 200 -g oinstall -G dba,asmdba oracle
    useradd -u 123 -g oinstall -G dba,asmdba,asmadmin grid
    id oracle
    id grid
  2. rootユーザーとして両方のノードで次のコマンドを実行し、ソフトウェア・インストール・ディレクトリを作成します。
    [root@vmrac1 ~]#mkdir -p /u01/app/21.0.0/grid
    chown grid:oinstall /u01/app/21.0.0/grid
    mkdir -p /u01/app/grid
    mkdir -p /u01/app/oracle
    chown -R grid:oinstall /u01 
    chown oracle:oinstall /u01/app/oracle
    chmod -R 775 /u01/
    mkdir /etc/oraInventory
    chown grid:oinstall /etc/oraInventory
    chmod 770 /etc/oraInventory
  3. 3人のユーザー(rootgridおよびoracle)すべてに対してパスワードなしのSSH構成を構成します。ロール分離がない場合は、Oracle Grid InfrastructureOracle RACの両方のデータベース・ソフトウェアに1人のoracleユーザーのみが必要です。

Oracle Grid InfrastructureおよびOracle RACデータベース・ソフトウェアの設定

  1. Oracle Grid InfrastructureおよびOracle RACデータベース・ソフトウェアの両方をステージングします。
  2. ステージング・ディレクトリを作成します。たとえば、/u01/app/stageです。
  3. Oracle Grid Infrastructureソフトウェアをステージング・ディレクトリ(/u01/app/stage)にステージングし、Oracle Grid Infrastructureソフトウェアをソフトウェア・インストール・ディレクトリ(/u01/app/21.0.0/grid)に解凍します。
  4. クラスタ検証ユーティリティを実行して、インストールの前提条件を満たしていることを確認します。たとえば: GI_HOME/bin/runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup -verbose
    /u01/app/21.0.0/grid/bin/runcluvfy.sh stage -pre crsinst -n racvm1,racvm2 -fixup -verbose
    インストールを続行する前に、クラスタ検証出力のエラーを修正します。cluvfyコマンドで生成された修正スクリプトも使用できます。