ヘッダーをスキップ
Oracle Fusion Middleware Oracle Service Busデプロイメント・ガイド
11g リリース1 (11.1.1.7)
B61432-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

C 静的IPアドレスを使用した仮想環境の構成

この付録では、Oracle Coherenceクラスタが含まれる仮想環境をデプロイし、仮想環境で静的IPアドレスを使用する場合のOracle Service Busの構成方法について説明します。

静的IPアドレスを使用する場合、クラスタのユニキャスト・アドレスに既知のアドレス(WKA)を構成する必要があります。また、サーバーの起動時に使用する引数にService BusのCoherenceオーバーライドが含まれていることを確認する必要があります。

C.1 手順1: ディレクトリ構造の作成

WebLogic Admin Serverが実行中のコンピュータのルート・ディレクトリに次のディレクトリ構造を作成します。

/ovab
   /scripts.d
       /properties
       /post-config.d

ルート・ディレクトリの下にディレクトリを作成する際に権限上の問題が発生する場合、ルート資格証明を持つユーザーとしてディレクトリを作成します。ディレクトリおよびそこに配置したファイルは、OVABイントロスペクションを実行するユーザーが読取り可能である必要があります。

C.2 手順2: プロパティ・ファイルの作成

プロパティ・ファイルは、Service BusのCoherenceオーバーライドを指定する2つのプロパティを定義します。

プロパティ・ファイルを作成するには:

  1. 手順1で作成した/ovab/scripts.d/propertiesディレクトリにosb.userpropsという名前のファイルを作成します。

  2. WKAアドレスの実際のサーバーIPアドレスのカンマ区切りリストに置き換えて、ファイルに次のテキストを追加します。

    coherence.wkaaddresses=Host1,Host2,Host3,Host4..,HostN
    coherence.wkaport=7890
    
    プロパティ 説明

    coherence.wkaaddresses

    Oracle Service BusクラスタのサーバーのIPアドレスのカンマ区切りリスト

    coherence.port

    7890


  3. ファイルを保存して閉じます。

  4. ずべてのユーザーが実行権限を持つようにファイルの権限を変更します。

これらのカスタム・プロパティは、アセンブリのすべてのアプライアンスのOVABデプロイ・プラン・エディタで使用できるようになります。これらのプロパティはService Busクラスタ・アプライアンス用に編集する必要があります。

C.3 手順3: 構成ファイルの作成

bashシェルにはサンプル構成スクリプトが提供されています。

構成ファイルを作成するには:

  1. 手順1で作成した/ovab/scripts.d/post-config.dディレクトリにosb-postconfig.shという名前のファイルを作成します。

  2. 例C-1「サンプル構成ファイル」にテキストを追加します。

  3. ファイルを保存して閉じます。

  4. ずべてのユーザーが実行権限を持つようにファイルの権限を変更します。

例C-1 サンプル構成ファイル

#!/bin/bash
DEBUG_FILE=/tmp/osb-postconfig-$$.debug
/bin/rm -f $DEBUG_FILE
DEBUG=1
 
debug() {
    if [ x$DEBUG=x1 ]; then
        echo $1 >> $DEBUG_FILE
    fi
}
 
CUSTOM_PROPS_DIR=$AB_CUSTOMPROPS_DIR
debug "CUSTOM_PROPS_DIR=$CUSTOM_PROPS_DIR"
OSB_PROPS_FILE=$CUSTOM_PROPS_DIR/osb.userprops
debug "OSB_PROPS_FILE=$OSB_PROPS_FILE"
OPWD=$PWD
cd $CUSTOM_PROPS_DIR/../..
CONTENT_RESDIR=$PWD
 
debug "CONTENT_RESDIR=$CONTENT_RESDIR"
if [ ! -f ./rehydrate.properties ]; then
    debug "Rehydrate properties not found"
    exit 1
fi
 
DOMROOT=$(grep WlsDomainRoot ./rehydrate.properties | sed 's/^.*=//')
if [ -z "$DOMROOT" ]; then
    debug "Domain root cannot be identified"
    exit 2
fi
 
OSB_DOMENV_FILE=$DOMROOT/bin/setOSBDomainEnv.sh
if [ ! -f $OSB_DOMENV_FILE ]; then
    debug "OSB domain env file $OSB_DOMENV_FILE not found"
    exit 3
fi
# Change to root
cd /
 
MYIP=$(/sbin/ip -f inet addr | awk '/eth0:/ { getline; sub(/\/..*$/,"",$2); print $2}')
 
if [ -z "$MYIP" ]; then
    echo "VM IP address cannot be found for the eth0 interface"
    exit 4
fi
 
MYHOST=$(hostname)
 
debug "MYIP = $MYIP"
 
START_ARGS=$(awk -v ip=$MYIP -v host=$MYHOST '
   BEGIN {nhosts = 0 }
   /coherence.wkaaddresses[     ]*=/ {
        sub(/coherence.wkaaddresses[    ]*=/,"", $0)
        n = split ($0, addr, /,/)
        for (i = 1; i <= n && i < 10; ++i) {
             a = addr[i] ""
             gsub(/[    ]*/,"",a)
             wka_arg = sprintf("%s -DOSB.coherence.wka%d=%s ", wka_arg, i, a )
        }
        nhosts=i - 1
        host_arg = " -DOSB.coherence.localhost=" ip
 
   }
   /coherence.wkaport[     ]*=/ {
        sub(/coherence.wkaport[    ]*=/,"", $0)
        port = $0
        for (i = 1; i <= nhosts && i < 10; ++i) {
             port_arg = sprintf("%s -DOSB.coherence.wka%d.port=%d ", port_arg, i, port )
        }
        port_arg = sprintf("%s -DOSB.coherence.localhost.port=%d ", port_arg, port )
   }
   END {
      start_args=sprintf("\"$EXTRA_JAVA_PROPERTIES %s %s %s\"", wka_arg, host_arg, port_arg)
      print start_args
   }
' $OSB_PROPS_FILE)
 
debug "START_ARGS = $START_ARGS"
 
if [ -z "$START_ARGS" ]; then
    debug "No updates needed - Coherence cluster configuration not desired"
    exit 0
fi
 
debug "Updating $OSB_DOMENV_FILE"
echo "EXTRA_JAVA_PROPERTIES=$START_ARGS" >> $OSB_DOMENV_FILE
debug "Done"