しばたテックブログ

気分で書いている技術ブログです。

All Windows Serverな環境でOracle Real Application Clusters(RAC)を構築してみる - 3.RAC準備編 2/3


本シリーズの概要と一覧はこちらからどうぞ。


前回の続きです。

引き続き、

Oracle® Grid Infrastructureインストレーション・ガイド 12c リリース1 (12.1) for Microsoft Windows x64 (64-Bit)

Grid Infrastructure Installation Guide (英語版)

から必要な設定内容を抜粋して記載していきます。
(※今回の環境に必要な分のみを記載するので、実環境でRACを構築する際は別途作業が必要になるかもしれませんのでその点はご留意ください)

RAC構築前準備(ネットワーク構成)

4 Oracle Grid InfrastructureおよびOracle RACのネットワークの構成

4.1.1 各ノードのネットワーク要件

インストレーションガイドの以下の点に注意して、各ノードのホスト名とネットワーク接続名設定してください。

  • 各ノードのホスト名には、aからz、AからZ、0から9、およびダッシュまたはマイナス記号(-)のみを使用する必要があります。アンダースコア(_)を使用するホスト名はサポートされていません。

  • パブリックまたはプライベート(インターコネクト)のネットワーク接続名に、PUBLICおよびPRIVATE (すべて大文字)という名前は使用しないでください。

今回の環境ではネットワーク名をPublicInterconnectに設定します。

PowerShellから以下の様にしてネットワーク名を変更することができます。

Rename-NetAdapter -Name (Get-NetIPAddress | Where-Object { $_.IPAddress -like "192.168.33.*"}).InterfaceAlias -NewName "Public"
Rename-NetAdapter -Name (Get-NetIPAddress | Where-Object { $_.IPAddress -like "192.168.35.*"}).InterfaceAlias -NewName "Interconnect"
# 一応iSCSIのアダプタ名も変更しておく
Rename-NetAdapter -Name (Get-NetIPAddress | Where-Object { $_.IPAddress -like "192.168.34.*"}).InterfaceAlias -NewName "iscsi"

4.1.2 プライベート・ネットワークのネットワーク要件

インストレーションガイドから要件を抜粋しますので以下の点に注意してください。

  • プライベート・ネットワーク接続名にマルチバイト言語の文字を含めることはできません。プライベート・ネットワーク接続名では大/小文字が区別されます。

  • OUIを使用してOracle Grid Infrastructureをインストールする場合、プライベート・ネットワーク・アダプタに関連付けるプライベート・ネットワーク接続名は、すべてのノードで同じにする必要があります。
    たとえば、2ノードのクラスタがあり、node1のプライベート・ネットワーク接続名がPrivNICである場合は、node2のプライベート・ネットワーク接続名がPrivNICである必要があります。

4.1.3 パブリック・ネットワークのネットワーク要件

インストレーションガイドから要件を抜粋しますので以下の点に注意してください。

  • パブリック・ネットワーク接続名では大/小文字が区別されます。

  • パブリック・ネットワーク接続名にマルチバイト言語の文字を含めることはできません。

  • OUIを使用してOracle Grid Infrastructureをインストールする場合、各ネットワークのパブリック・ネットワーク・アダプタに関連付けるパブリック・ネットワーク接続名は、すべてのノードで同じにする必要があります。
    たとえば、2ノードのクラスタのネットワーク・アダプタの場合、パブリック・ネットワーク接続名としてnode1ではNIC1、node2ではNIC2というようには構成できません。パブリック・ネットワーク接続名は同じにする必要があるため、両方のノードのパブリック・ネットワーク接続名としてNIC1を構成する必要があります。

4.1.4 ASMネットワーク・インタフェースのネットワーク要件

Flex ASMを使用する場合はこの要件に注意してください。
今回はFlex ASMは使用しません。

4.1.5 WindowsでのIPv6プロトコルのサポート

パブリックネットワークに対してIPv6はバージョン12.1.0.1ではサポートされておらず、12.1.0.2でサポートされる様になりました。
ただ、IPv6を使うケースは少ないと思われますので基本無効にしておいた方が無難だと思います。

今回の環境でもIPv6は無効にします。
PowerShellから以下のコマンドで各ネットワークアダプタからIPv6のバインドを解除したうえでIPv6関連の機能をすべて無効にします。

# IPv6のバインド停止(全インターフェイス)
Get-NetAdapterBinding -ComponentID ms_tcpip6 | Disable-NetAdapterBinding
# レジストリを変更し、その他IPv6関係のコンポーネントをすべて停止
$RegPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\"
Set-ItemProperty $RegPath -name DisabledComponents -Type DWord -value 0xffffffff
# 再起動するとIPv6が無効化される
Restart-Computer

再起動するとIPv6が無効化されます。

4.1.6.4 Manually Configure Automatic Metric Values

※この手順は英語版のインストレーションガイドにのみ存在します。

  • the Interface Metric field, set the public network interface metric to a lower value than the private network interface. For example, you might set the public network interface metric to 100 and the private network interface metric to 300.

にある通り、Publicのメトリックを100、Interconnectのメトリックを300にします。

Set-NetIPInterface -InterfaceAlias "Public" -InterfaceMetric 100
Set-NetIPInterface -InterfaceAlias "Interconnect" -InterfaceMetric 300

4.1.6.5 Set the Dynamic Port Range for Oracle RAC Installations

※この手順は英語版のインストレーションガイドにのみ存在します。

netshコマンドを以下の様に実行してダイナミックポートのレンジを拡張しておきます。
この設定は高負荷環境向けのものですが、全てのRAC環境で実施しておいた方が安全でしょう。

netsh int ipv4 set dynamicport tcp start=20000 num=40000

4.1.7 パブリック・ネットワーク・アダプタのDNS登録の構成解除

Windows Server 2008以降のOSではパブリックネットワークアダプタ設定の「この接続のアドレスを DNS に登録する」オプションを構成解除する必要があります。

f:id:stknohg:20150916183859p:plain

PowerShellからだとSet-DnsClientを使って設定を変えることができます。

Set-DnsClient -InterfaceAlias "Public" -RegisterThisConnectionsAddress $false

この手順を行った後はDNSからAレコードが消える場合がありますので、その場合は手動でAレコードを追加しなおしてください。

4.1.8 Windowsのメディア検出機能の無効化

以下の様にレジストリを変更してWindowsのメディア検出機能を無効にします。

$RegPath = "HKLM:\System\CurrentControlSet\Services\Tcpip\Parameters"
Set-ItemProperty $RegPath -name DisableDHCPMediaSense -Type DWord -value 1

4.1.9 ネットワーク・アダプタのバインド順序の設定

  • Windowsのネットワーク・プロパティでは、各ノードのパブリック・ネットワーク接続はバインドの順序(ネットワーク・サービスがノードにアクセスする順序)の最初にリストされる必要があります。プライベート・ネットワーク接続は、2番目にリストされる必要があります。

にある様にネットワークアダプタのバインド順を変更する必要があります。
この手順はコマンドからは簡単にできないため、GUIでネットワーク接続詳細設定を開き、以下の図の様にバインド順をPublicInterconnectの順に並べ替えます。

f:id:stknohg:20150916193956p:plain

f:id:stknohg:20150916194005p:plain

ちなみにコマンドから変えようとする場合は、Windows Server 2012 - Get Binding Order For NICS in Powershellが参考になります。

4.1.10 クラスタ内のファイルをコピーするための権限の確認

Grid Infrastructureのインストール中に各ノードにファイルの展開を行うため、Cおよびインストール先のドライブに対してNET USEコマンドが通る様にする必要があります。

Node #1でインストールを実行する場合は以下の様にNode #2へNET USEコマンドが通る様にしておいてください。

NET USE \\oraserver02\C$
NET USE \\oraserver02\D$

4.2.2 クラスタ名およびSCANの要件

インストレーションガイドから要件を抜粋しますので以下の点に注意してください。

  • クラスタ名は、組織で一意の、1文字以上15文字以内の長さの英数字である必要があり、数字で始めることはできませんが、ハイフン(-)を含めることはできます。アンダースコア文字(_)は使用できません。

  • 標準クラスタを構成して標準インストールを選択する場合、SCANはクラスタの名前でもあります。この場合、SCANはクラスタ名の要件を満たす必要があります。SCANは、15文字以下にする必要があります。

4.2.6 SCANのDNS構成の確認

NSLOOKUPコマンドでSCAN名が正しく引ける様にしておいてください。

PS C:\> nslookup oracluster
サーバー:  UnKnown
Address:  192.168.33.11

名前:    oracluster.contoso.local
Addresses:  192.168.33.43
          192.168.33.41
          192.168.33.42

さらに続きます