8 エンタープライズ・デプロイメント用のホスト・コンピュータの準備

エンタープライズ・デプロイメント・トポロジを構成する前に、各コンピュータまたはサーバー上で一連のタスクを実行することが重要です。これには、各ホストでのハードウェアおよびオペレーティング・システムの最小要件の検証、オペレーティング・システム・ユーザーおよびグループの構成、Unicodeサポートの有効化、必要な共有記憶域システムのホストへのマウント、および各ホストで必要な仮想IPアドレスの有効化が含まれます。

この章では、エンタープライズ・デプロイメントをホストする各コンピュータまたはサーバーから実行する必要があるタスクについて説明します。

各ホストの最小ハードウェア要件の検証

エンタープライズ・デプロイメントに必要なハードウェアを取得した後は、各ホスト・コンピュータが最小システム要件を満たしているか確認することが重要です。

エンタープライズ・デプロイメントに必要なハードウェアを取得したら、各ホスト・コンピュータにログインし、「エンタープライズ・デプロイメント・トポロジ用のハードウェアおよびソフトウェアの要件」に示すシステム要件を確認します。

Oracle Exalogicなどの仮想サーバー環境にデプロイする場合は、各仮想サーバーが最小要件を満たしていることを確認します。

十分なローカル・ディスク記憶域があり、共有記憶域が「エンタープライズ・デプロイメント用のファイル・システムの準備」で説明されているように構成されていることを確認します。

次のように十分なスワップ領域および一時領域を確保します。

  • スワップ領域–システムに500MB以上ある必要があります。

  • 一時領域/tmpディレクトリに500 MB以上の空き領域が存在している必要があります。

Linuxオペレーティング・システムの要件の検証

この項では、エンタープライズ・デプロイメント用の標準的なLinuxオペレーティング・システムの設定について確認できます。

ホスト・コンピュータが最小オペレーティング・システム要件を満たしていることを確認するには、動作保証済のオペレーティング・システムがインストールされていることと、そのオペレーティング・システムに必要なパッチがすべて適用されていることを確認してください。

さらに、エンタープライズ・デプロイメント用の標準的なLinuxオペレーティング・システムの設定について、次の項を確認してください。

Linuxのカーネル・パラメータの設定

表8-1 に示すカーネル・パラメータおよびシェル制限の値は、単なる推奨値です。これらの値をチューニングしてシステムのパフォーマンスを最適化することをお薦めします。カーネル・パラメータの調整については、ご使用のオペレーティング・システムのマニュアルを参照してください。

カーネル・パラメータは、トポロジのすべてのノードで表8-1の最小値に設定する必要があります。

次の表の値は、現行のLinuxの推奨値です。Linuxおよびその他のオペレーティング・システムの最新の推奨値は、Oracle Fusion Middlewareのシステム要件と仕様を参照してください。

データベースをホストにデプロイしている場合、追加のカーネル・パラメータを変更する必要がある場合があります。使用しているバージョンのデータベースのドキュメントを参照してください。たとえば、『Grid Infrastructureインストレーションおよびアップグレード・ガイドfor Linux』Linux用のカーネル・パラメータの構成に関する項を参照してください。

表8-1 UNIXのカーネル・パラメータ

パラメータ

kernel.sem

256 32000 100 142

kernel.shmmax

4294967295

これらのパラメータを設定するには:

  1. rootとしてサインインし、/etc/sysctl.confファイルのエントリを追加または修正します。
  2. ファイルを保存します。
  3. 次のコマンドを入力して、変更をアクティブ化します。
    /sbin/sysctl -p

UNIXシステムでのオープン・ファイル制限とプロセス数の設定

UNIXオペレーティング・システムでは、Open File Limitは重要なシステム設定です。ホスト・コンピュータ上で動作するソフトウェアのパフォーマンス全体に影響を及ぼす可能性があります。

Oracle Fusion Middlewareエンタープライズ・デプロイメントに適したOpen File Limitの設定のための指針として、「ホスト・コンピュータのハードウェア要件」を参照してください。

ノート:

次の例はLinuxオペレーティング・システム用です。オペレーティング・システムのドキュメントを確認して、システムで使用するコマンドを判別します。

詳細は、次の項を参照してください。

現在開いているファイル数の表示

次のコマンドでオープンになっているファイル数を確認できます。

/usr/sbin/lsof | wc -l

オープン・ファイル制限を確認するには、次のコマンドを使用します。

Cシェル:

limit descriptors

Bash:

ulimit -n
オペレーティング・システムのオープン・ファイルおよびプロセス制限の設定

オープン・ファイル制限値を変更するには:

  1. rootユーザーとしてサインインし、次のファイルを編集します。

    /etc/security/limits.conf

  2. limits.confファイルに次の行を追加します(これらの値は推奨最小値で、ここでは単に例として示しています):
    * soft  nofile  4096
    * hard  nofile  65536
    * soft  nproc   2047
    * hard  nproc   16384
    

    nofilesの値はオープン・ファイル制限を表します。nproc値はプロセス制限を表します。

  3. 変更内容を保存して、limits.confファイルを閉じます。

    ノート:

    Oracle Enterprise Linux 6またはRed Hat Linux 6以上のバージョンを実行している場合は、/etc/security/limits.d/フォルダにある.confファイルによってこれらの値がオーバーライドされないようにします。たとえば、Oracle Enterprise Linux 6またはRed Hat Linux 6では、90-nproc.confファイルで定義された値でlimits.confで定義された値がオーバーライドされます。

    Oracle Enterprise Linux 7またはRed Hat Linux 7では、ファイル20-nproc.confでもこれらの値がオーバーライドされます。また、そのフォルダにある他の既存の.confファイルでも、/etc/security/limits.confに定義されている値がオーバーライドされます。

  4. ホスト・コンピュータに再ログインします。
  5. 次のコマンドを使用して、現在の値を確認します:
    echo "soft nofile = $(ulimit -S -n)"
    echo "hard nofile = $(ulimit -H -n)"
    echo "soft nproc = $(ulimit -S -u)"
    echo "hard nproc = $(ulimit -H -u)"

    ユーザー'root'およびユーザー'oracle'でこれらのコマンドを実行し、各ユーザーの有効な値を確認します。

DNSまたはホスト・ファイルでのIPアドレスとホスト名の確認

Oracleソフトウェアのインストールを開始する前に、ホストのIPアドレス、完全修飾ホスト名および短縮名がすべてDNSサーバーに登録されていることを確認します。または、ローカルhostsファイルを使用して、次のようなエントリを追加することもできます。

IP_Address Fully_Qualified_Name Short_Name

たとえば:

10.229.188.205  host1.example.com  host1

障害リカバリに備えて、別のデータ・センターの別のIPにマップする別名を使用することをお薦めします。障害リカバリの詳細は、『ディザスタ・リカバリ・ガイド』を参照してください。これらの別名を使用して、一部のコンポーネントのリスニング・アドレスも構成できます。

このガイドでは、ワークブックのハードウェア - ホスト・コンピュータタブで指定される抽象ホスト名(SOAHOSTnとADMINVHN)をこの別名として使用します。したがって、/etc/hostsは次の例のようになります。

10.229.188.204 host1-vip.example.com host1-vip ADMINVHN 
10.229.188.205 host1.example.com host1 SOAHOST1 
10.229.188.206 host2.example.com host2 SOAHOST2 
10.229.188.207 host3.example.com host3 WEBHOST1 
10.229.188.208 host4.example.com host4 WEBHOST2 

オペレーティング・システム・ユーザーおよびグループの構成

この項では、エンタープライズ・デプロイメントをホストする各コンピュータで定義するユーザーおよびグループのリストを示します。

グループ

各ノードに次のグループを作成する必要があります。

  • oinstall

  • dba

ユーザー

各ノードに次のユーザーを作成する必要があります。

  • nobody–権限のないユーザー。

  • oracle–Oracleソフトウェアの所有者。別の名前も使用できます。このアカウントのプライマリ・グループはoinstallにする必要があります。このアカウントは、dbaグループにも属している必要があります。

ノート:

  • グループoinstallは、Oracleソフトウェアが使用する共有記憶域およびローカル記憶域のすべてのファイル・システムに対する書込み権限を持っている必要があります。

  • 各グループは、ノードごとに同じグループIDを持っている必要があります。

  • 各ユーザーは、ノードごとに同じユーザーIDを持っている必要があります。

Unicodeサポートの有効化

Unicodeの文字を処理できるように、オペレーティング・システムでUnicodeサポートを有効にすることをお薦めします。

オペレーティング・システムの構成がOracle Fusion Middleware製品でサポートされる文字の動作に影響を与えることがあります。

UNIXオペレーティング・システムでは、LANGLC_ALLの各環境変数をUTF-8文字セットを使用したロケールに設定し、Unicodeサポートを有効化することを強くお薦めします。これにより、Unicodeのすべての文字が処理できるようになります。たとえば、Oracle SOA SuiteテクノロジはUnicodeに基づいています。

オペレーティング・システムがUTF-8以外のエンコードを使用するように構成されている場合、Oracle SOA Suiteコンポーネントが予期しない動作をする可能性があります。たとえば、ASCII以外のファイル名の場合は、ファイルにアクセスできず、エラーが発生する可能性があります。オペレーティング・システムの制約によって発生する問題はサポート対象外となります。

DNSの設定

社内DNSホストにアクセスするようにホストを構成する必要があります。これを行うには、/etc/resolv.confファイルを更新することによってDNS設定を更新します。

ユーザーおよびグループの構成

グループおよびユーザーをローカルに作成するか、NISまたはLDAPサーバーに作成する必要があります。このユーザーはOracleソフトウェア所有者です。

次の手順は、ユーザーをローカルで作成する場合を対象にしています。グループおよびユーザーをNISサーバーに作成する方法の詳細は、NISドキュメントを参照してください。

グループ

各ノードに次のグループを作成する必要があります。

  • oinstall

  • dba

グループを作成し、次のコマンドをrootとして使用する手順:

groupadd groupname

たとえば、次のようになります

groupadd -g 500 oinstall
groupadd -g 501 dba

ユーザー

各ノードに次のユーザーを作成する必要があります。

  • oracle - Oracleソフトウェアの所有者。別の名前も使用できます。このアカウントのプライマリ・グループはoinstallにする必要があります。このアカウントは、dbaグループにも属している必要があります。

ノート:

  • グループoinstallは、Oracleソフトウェアが使用する共有記憶域およびローカル記憶域のすべてのファイル・システムに対する書込み権限を持っている必要があります。

  • 各グループは、ノードごとに同じグループIDを持っている必要があります。

  • 各ユーザーは、ノードごとに同じユーザーIDを持っている必要があります。

  • NFSv4マウント要件のため、ユーザーおよびグループはNISサーバーに存在する必要があります。

ローカル・ユーザーを作成するには、次のコマンドをrootとして使用します。

useradd -g primary group -G optional groups -u userid username

たとえば:

useradd -g oinstall -G dba -u 500 oracle

ノート:

このユーザーをNISに作成する場合は、NISドキュメントを参照してください。

NTP (時間)サーバーを使用するためのホストの構成

デプロイメント内のすべてのサーバーは同じ時間である必要があります。これを実現する最適な方法はNTPサーバーを使用することです。

NTPサーバーを使用するようにホストを構成するには:

  1. 使用するNTPサーバーの名前を特定します。セキュリティ上の理由から、これらは社内秘にしてください。
  2. rootユーザーとしてホストにログインします。
  3. /etc/ntp.confファイルを編集して、時間サーバーのリストに含めます。編集後のファイルは次のようになります。
    server ntphost1.example.com
    server ntphost2.example.com
    
  4. 次のコマンドを実行して、システム・クロックをNTPサーバーに同期化します。
    /usr/sbin/ntpdate ntpserver1.example.com
    /usr/sbin/ntpdate ntpserver2.example.com
    
  5. 次のコマンドを使用してNTPクライアントを起動します。
    service ntpd start
    
  6. 日付コマンドを使用して時間が正しく設定されていることを確認します。
  7. サーバーが常にNTPサーバーを使用して時間を同期化していることを確認します。次のコマンドを使用して、再起動時にクライアントが起動するように設定します。
    OEL 7のコマンド:
    systemctl enable ntpd
    OEL 6のコマンド:
    chkconfig ntpd on

NIS/YPホストを使用するためのホストの構成

NFSバージョン4を使用する場合は、ディレクトリ・サービスまたはNIS (ネットワーク・インフォメーション・サーバー)を構成します。まだ組織に用意されていない場合は、ZFSストレージ・アプライアンスのビルトインを使用します。Oracle Fusion Middleware Exalogicマシン・オーナーズ・ガイドExalogicでのNFSバージョン4 (NFSv4)の構成に関する項を参照してください。

NISホストを構成した後、このサーバーを使用するように各計算ノードを構成します。開始する前に、使用するNISサーバーのホスト名を特定します。

  1. rootとしてホストにログインします。
  2. /etc/idmapd.conf構成ファイルを編集します。
    vi /etc/idmapd.conf

    次の例のように、ドメイン値を設定します。

    Domain = example.com
    
  3. rpcidmapdサービスを再起動します。
    service rpcidmapd restart
  4. /etc/yp.conf構成ファイルを更新し、次の例のように、適切なドメイン値を設定します。
    vi /etc/yp.conf

    次の行を追加します。

    domain example.com server NIS_Server_hostname_or_IP

    example.comはドメインの例で、NIS_Server_hostname_or_IPはNISホストのホスト名またはIPアドレスです。これらのサンプル値を、使用環境に適した値に置き換える必要があります。

  5. コマンドラインでNISドメイン名を設定します。
    domainname NIS_DOMAIN_NAME

    たとえば:

    domainname nisdomain.example.com
  6. /etc/nsswitch.conf構成ファイルを編集します。
    vi /etc/nsswitch.conf

    次の各エントリにnisを追加します。

    ノート:

    最初の値は、OSおよび企業の要件に応じてcompatまたはfilesのいずれかになります。
    passwd:     files nis
     shadow:     files nis
     group:      files nis
     automount:  files nis nisplus
     aliases:    files nis nisplus
    
  7. rpcidmapdサービスを再起動します。
    service rpcidmapd restart
  8. 次のコマンドを実行して、ypbindサービスを再起動します。
    service ypbind restart
  9. 次のコマンドを実行して、ypサービスを確認します。
    ypwhich
  10. Oracleユーザー・アカウントにアクセスできるかどうかを確認します。
    ypcat passwd
  11. ypbindをブート順序に追加して、再起動後に自動的に起動されるようにます。
    chkconfig ypbind on

各ホストへの必要な共有ファイル・システムのマウント

「エンタープライズ・デプロイメントをインストールおよび構成する場合の共有記憶域の推奨事項」の説明に従って構成された共有記憶域が、それを使用するホスト上で使用可能になっている必要があります。エンタープライズ・デプロイメントでは、ハードウェア記憶域ファイラが存在することと、それがデプロイメント用に取得した各ホスト・コンピュータに接続されて使用可能になっていることが前提となっています。

共有記憶域を、アクセスが必要なすべてのサーバーにマウントする必要があります。

各ホストでは、適切な権限をNetwork Attached Storage (NAS)またはStorage Area Network (SAN)内で設定し、共有記憶域への書込みを可能にする必要があります。

共有記憶域のマウントについては、組織のベスト・プラクティスに従ってください。この項では、NFS記憶域を使用してLinuxでこれを行う方法の例を示します。

共有記憶域の場所を作成してマウントし、SOAHOST1SOAHOST2が2つの別々のボリュームへのバイナリ・インストールである場合に、それらが同じ場所を参照できるようにする必要があります。

「エンタープライズ・デプロイメントをインストールおよび構成する場合の共有記憶域の推奨事項」を参照してください。

次のコマンドを使用して、共有記憶域をNAS記憶域デバイスからLinuxホストにマウントします。別のタイプの記憶域デバイスまたはオペレーティング・システムを使用している場合、これを行う方法の詳細は製造元のドキュメントを参照してください。

ノート:

共有記憶域のファイル・システムの作成に使用されるユーザー・アカウントは、これらのファイルに対する読取り、書込みおよび実行権限を持ちます。オペレーティング・システム・グループにおける他のユーザーは、ファイルの読取りや実行は可能ですが、書込み権限はありません。

『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』で、インストール・ユーザーの選択に関する項を参照してください。

次の例では、nasfilerは共有記憶域ファイラを表します。これらは単なる例であることに注意してください。通常、これらの共有記憶域場所のマウントは、UNIXシステムでは/etc/fstabsファイルを使用して行う必要があります。これにより、再起動しても、これらのデバイスのマウントが維持されます。詳細は、オペレーティング・システムのドキュメントを参照してください。

Linuxで共有記憶域をマウントするには:

  1. 「エンタープライズ・デプロイメントの共有記憶域ボリュームの概要」に説明されているとおりにSOAHOST1にマウント・ディレクトリを作成してから、共有記憶域をマウントします。たとえば:

    mount -t nfs nasfiler:VOL1/oracle/products/ /u01/oracle/products/
    
  2. VOL2を使用してSOAHOST2で手順を繰り返します。

共有記憶域の構成の検証

構成した共有記憶域にテスト・ファイルを作成して、新しくマウントしたディレクトリでファイルの読取りおよび書込みができることを確認します。

たとえば:

$ cd newly mounted directory
$ touch testfile

所有者と権限が正しいことを確認します。

$ ls -l testfile

ファイルを削除します。

$ rm testfile

ノート:

共有記憶域には、NASデバイスまたはSANデバイスを使用できます。次は、NASデバイスの記憶域をSOAHOST1から作成する例を示しています。オプションは、具体的な記憶域デバイスに応じて異なる場合があります。

mount -t nfs -o rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768 nasfiler:VOL1/Oracle/u01/oracle

使用する環境に適切なオプションについて学習するには、ストレージ・ベンダーとマシン管理者に確認してください。

各ホストでの必要な仮想IPアドレスの有効化

エンタープライズ・デプロイメント用に各ホストを準備するには、仮想IP (VIP)アドレスを有効化する必要があります。

「エンタープライズ・デプロイメント用の必須IPアドレスの予約」を参照してください。

すでにVIPアドレスおよびホスト名を予約済であり、ネットワーク管理者がそれらを有効化していることを前提とします。その後、適切なホストでVIPを有効化できます。

エンタープライズ・トポロジに使用される仮想IPアドレスは、選択した管理対象サーバーおよびクラスタのサーバー全体の移行(ただし、このガイドでは、SOAエンタープライズ・デプロイメント用のサーバーの移行ではなく、サービスの移行が推奨され、仮想IPは必要ありません)または手動フェイルオーバー(管理サーバーの場合)によって管理されるため、永続化されません。

Oracle Enterprise Linux 6以降、"ifconfig"コマンドが廃止され、"ip"コマンドに置き換えられました。

各ホストでこのVIPアドレスを有効にするには、次のコマンドをrootとして実行します。
  1. ネットマスクのCIDR表記を特定します。各ネットマスクにはCIDR表記があります。たとえば、255.255.240.0のCIDRは20です。
    追加するネットマスクがインタフェースと同じ場合、これを特定する最も簡単な方法は、ネットワーク・カードに割り当てられた既存のIPアドレスを調べることです。これを行うには、次のコマンドを使用します。
    ip addr show dev eth0
    出力例:
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:21:f6:03:85:9f brd ff:ff:ff:ff:ff:ff
    int 192.168.20.1/20 brd 10.248.11.255 scope global eth0
    この例では、CIDR値はスラッシュ(/)の後の値(つまり、20)です。CIDR値が不明な場合は、ネットワーク管理者に問い合せてください。
  2. 次のコマンドを使用して、該当するネットワーク・インタフェース・カードの追加のIPアドレスを適切な接尾辞の付いたラベルで構成します。
    ip addr add VIP/CIDR dev nic# label nic#:n

    ノート:

    追加する必要があるVIPごとに、1から始まる:n接尾辞を増分します。
    例: VIP IPが192.168.20.3、netmask: 255.255.240.0 (CIDR: 20)、eth0 NICの場合は次のようになります
    ip addr add 192.168.20.3/20 dev eth0 label eth0:1
  3. 定義する仮想IPアドレスごとに、次のコマンドを使用してARPキャッシュを更新します。
    arping -b -A -c 3 -I eth0 192.168.20.3