加します。 ゾーンをインストールして起動すると、インターフェースがゾーンで使用できる ようになります。
メモ: 各グローバルゾーンに 2 つの非グローバルゾーンをインストールした場合は、両方 の非グローバルゾーンで同じインターフェースを使用しないでください。
グローバルゾーンからネットワークインターフェースを使用するように非グローバルゾー ンを設定するには
1
root ユーザーとして各グローバルゾーンにログインします。2
非グローバルゾーンを設定します。# zonecfg -z sys1_zone1
3
排他的 IP ゾーンを作成します。# set ip-type=exclusive
4
ネットワークインターフェースをグローバルゾーンから非グローバルゾーンに追加し ます。次はサンプル設定です。
# zonecfg:sys1_zone1>add net
# zonecfg:sys1_zone1:net>set physical=bge1
# zonecfg:sys1_zone1:net>end
# zonecfg:sys1_zone1:>commit
Oracle Cluster Registry、投票ディスク、データファイルのスト
表 2-2 マウントのタイプ 説明
マウントのタイ プ
ループバックファイルシステムにより、読み書きモードでディレクトリをグローバル ゾーンから非グローバルゾーンへマウントできます。非グローバルゾーンのディ レクトリに加えられた変更はすべてグローバルゾーンに反映されます。同様に、
グローバルゾーンのディレクトリに加えられた変更は非グローバルゾーンに反映 されます。
次のディレクトリをループバックマウントとしてマウントします。
■ /ocrvote(OCR と投票ディスクのファイル用)
■ /oradata(データファイル用)
Oracle RAC のディレクトリは必要に応じて別々にマウントする必要があります。
手順については、Oracle のマニュアルを参照してください。
メモ: 非グローバルゾーンで、グローバルゾーンからのデータベースマウントを ループバックマウントとして使用する場合は、ループバックマウントとして追加し ます。
次の設定手順は、/ocrvote のループバックマウントファイルシステムの設定を 示します。
sys1#zonecfg:sys1_zone1> add fs
sys1#zonecfg:sys1_zone1:fs>set dir=/ocrvote sys1#zonecfg:sys1_zone1:fs>set special=/ocrvote sys1#zonecfg:sys1_zone1:fs>set type=lofs sys1#zonecfg:sys1_zone1:fs>end
sys1#zonecfg:sys1_zone1>commit ゾーン設定によ
るループバック マウント
非グローバルゾーンのルートディレクトリの下でストレージの直接マウントを実行 することにより、ゾーンの設定でそれらのディレクトリを追加せずに非グローバル ゾーンで使用できるようになります。
/ocrvote、/oradata、データベースデータマウントなどのディレクトリを直接 マウントできます。
次に例を示します。
# mount -F vxfs -o cluster
/dev/vx/dsk/ocrvotedg/ocrvotevol ¥ /zone/sys1_zone1/root/ocrvote 非グローバル
ゾーンのルート ディレクトリの下 での直接マウン ト
データファイル用に作成される共有ディスクグループに対し、CVMVolDg リソース属性 CVMDeactivateOnOffline を 1 に設定します。
次に例を示します。
# haconf -makerw
# hares -modify ocrvote_voldg CVMDeactivateOnOffline 1
# haconf -dump -makero
グローバルゾーンからのデバイスを使うための非グローバルゾー ンの設定
Solaris 10 では、グローバルゾーンから非グローバルゾーンに次のデバイスを追加しま す。
■ /dev/llt
■ /dev/vcsmm
■ /dev/lmx
■ /dev/vxportal
■ /dev/fdd
■ /dev/gab/*
■ /dev/nic_name
nic_name には、ネットワークインターフェースの名前(/dev/bge1 など)を指定しま す。
各非グローバルゾーンに設定されるすべてのパブリックおよびプライベートネットワー クインターフェースを含んでいること確認してください。
たとえば、デバイス /dev/llt を追加する手順は次のとおりです。
sys1# zonecfg:sys1_zone1>add device
sys1# zonecfg:sys1_zone1:device>set match=/dev/llt sys1# zonecfg:sys1_zone1:device>end
sys1# zonecfg:sys1_zone1:>commit
非グローバルゾーンの権限のデフォルトセットの修正
Oracle Grid Infrastructure の次の設定を設定します
sys1# zonecfg -z sys1_zone1 set limitpriv="default, ¥ proc_priocntl,proc_clock_highres,sys_time"
詳しくは、Oracle Metalink ドキュメント: 420265.1 を参照してください。
非グローバルゾーンのインストール
メモ: 非グローバルゾーンをインストールする前に、zonepath の親ディレクトリを 700 に 設定してください。そうしないと、VRTS とオペレーティングシステムパッケージの一部が 新しい非グローバルゾーン内に伝播されません。
sys1# dirname zone_path sys1# chmod 700 zone_path
非グローバルゾーンをインストールするには
1
root ユーザーとして各グローバルゾーンにログインします。2
install オプションを指定して zoneadm コマンドを実行します。# zoneadm -z sys1_zone1 install
Preparing to install zone <sys1_zone1>.
Creating list of files to copy from the global zone.
Copying <2443> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1192> packages on the zone.
Initialized <1192> packages on zone.
Zone <sys1_zone1> is initialized.
Installation of <12> packages was skipped.
The file </zone/sys1_zone1/root/var/sadm/system/logs/install_log>
contains a log of the zone installation.
3
ゾーンをブートします。# zoneadm -z zone_name boot
4
グローバルゾーンと非グローバルゾーンの /etc/hosts ファイルを更新します。両 ファイルともグローバルおよび非グローバルゾーンの IP アドレスとホスト名の情報を 含む必要があります。5
非グローバルゾーンをマルチユーザーモードで動作するように設定します。非グローバルゾーンの起動後、非グローバルゾーンコンソールにログインし、必要な サービスをすべて設定します。次のサービスは SF Oracle RAC の動作に必須で す。
multi-user multi-user-server vxfsldlic
次のコマンドを使って、非グローバルゾーンコンソールにログインします。
# zlogin -C sys1_zone1
必要なサービスを設定するには、『System Administration Guide: Solaris Containers - Resource Management and Solaris Zones』マニュアルを参照して ください。
非グローバルゾーン内での SF Oracle RAC 設定ファイルの作成
非グローバルゾーン内で /etc/llthosts ファイルを作成します。
次の例の 0 と 1 は、非グローバルゾーンのノード ID です。 ノード ID は、対応するグロー バルゾーンのファイルに存在するものと同じである必要があります。
非グローバルゾーンのサンプルファイル /etc/llthosts は、次のようになります。
# cat /etc/llthosts 0 sys1_zone1
1 sys2_zone1
グローバルゾーンのサンプルファイル /etc/llthosts は、次のようになります。
# cat /etc/llthosts 0 sys1
1 sys2
Veritas File System による非グローバルゾーンからの Oracle Disk
Manager ファイルへのアクセスの有効化
非グローバルゾーンからのアクセスを有効にするには、Solaris 10 システムで次の手順 を実行します。
root ユーザーとして、グローバルゾーンから、非グローバルゾーンに /dev/odm ディレク トリを作成します。
sys1# mkdir -p /zones/sys1_zone1/dev/odm
非グローバルゾーンの高可用性の設定
非グローバルゾーンの VCS サービスグループとリソースを設定します。
非グローバルゾーンの高可用性を設定するには
◆ 各グローバルゾーンにログインし、ゾーン構成を設定します。
# hazonesetup [-t] -g group_name -r zoneres_name -z zone_name ¥ [-u] user_name -p password [-a] [-l] -s systems
ここで、group_name はアプリケーションサービスグループの名前です。
zoneres_name はゾーンを監視するために設定されるリソースの名前です。
zone_name は非グローバルゾーンの名前です。
user_name は非グローバルゾーンとグローバルゾーン間のパスワード不要の通信 に使われる VCS ユーザーの名前です。ユーザー名を指定しないと、デフォルトの ユーザー名が使われます。
password は、コマンドによって作成される VCS ユーザーまたはセキュリティ(Veritas Product Authentication Service)ユーザーに割り当てられるパスワードです。
-a はグループの AutoStartList 属性がポピュレートされていることを示します。
-l はパラレルサービスグループが設定されていることを示します。このオプションを指 定しないと、デフォルトによりフェールオーバーサービスグループが作成されます。
systems はサービスグループが設定されるシステムのカンマ区切りのリストです。こ のオプションはサービスグループを作成する場合にのみ使います。
次に例を示します。
# hazonesetup -g vcszone -r vcszoneres -z sys1_zone1 -p password
¥
-a -l -s sys1,sys2
アプリケーションサービスグループが存在しない場合、タイプ Zone のリソースを持 つサービスグループが作成されます。スクリプトを実行すると、タイプ Zone のリソー スがアプリケーションサービスグループに追加されます。また、ゾーン間通信を行え るようにグループ管理者権限を持つユーザーアカウントが作成されます。
非グローバルゾーンをクラスタ化するためのクラスタ名の設定
非グローバルゾーンで /etc/cluster_name ファイルを作成し、一意のクラスタ名を指定 します。 Oracle Clusterware のインストール時にクラスタ名の入力プロンプトが表示され たら、この一意のクラスタ名を使用します。
メモ: これは重要なファイルで、グローバルゾーンで複数の非グローバルゾーンをサポー トするために作成する必要があります。 非グローバルゾーンの設定時にクラスタ名を指定 しないと、問題が発生することがあります。
ただし、グローバルゾーンではファイルを作成しないでください。
非グローバルゾーン内での Oracle RAC のインストール
非グローバルゾーンで Oracle Clusterware と Oracle データベースをインストールしま す。
手順については、Oracle のマニュアルを参照してください。
メモ: この段階ではデータベースを作成しないでください。
ODM ライブラリのリンク
Oracle ライブラリがローカルストレージ上にある場合は、各ノードで手順を実行します。
Oracle ライブラリが共有ストレージにインストールされている場合は、ライブラリを 1 つの ノードにのみコピーします。mount コマンドを使って、Oracle ライブラリを含むファイルシ ステムがマウントされていることを確認します。
ODM ライブラリをリンクするには
1
非グローバルゾーンに Oracle ユーザーとしてログインします。2
$ORACLE_HOME/lib ディレクトリに移動します。sys1_zone1$ cd $ORACLE_HOME/lib
3
Oracle の ODM ライブラリのバックアップを作成します。Oracle RAC 11g の場合:
sys1_zone1$ mv libodm11.so libodm11.so.`date +%m_%d_%y-%H_%M_%S`
Oracle RAC 12c の場合:
sys1_zone1$ mv libodm12.so libodm12.so.`date +%m_%d_%y-%H_%M_%S`