しばたテックブログ

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

All Windows Serverな環境でOracle Real Application Clusters(RAC)を構築してみる - 1.AD構築編


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


RACを構築するにあたり、最初にドメイン環境を作成します。

RACではActive Directoryは必須ではありませんが、SCANなどの名前解決のためにDNSが必要であったり、ワークグループ環境だとインストールユーザーやOracleホーム・ユーザーをすべてのサーバーで合わせる必要が出てしまうため、ドメイン環境にしていた方が構築は楽になります。

AD構築手順

ドメインの構築については、以前書いたエントリ、

stknohg.hatenablog.jp

の手順に従えばPowerShellでサクッと作れます。
作るドメインはcontoso.localとし、Domain Controllerとするホストに対してPowerShellで以下のコマンドを実行していきます。
(※最低限のネットワーク設定はVagrantがしてくれています。非Vagrant環境でこの手順を実行する場合は適宜ネットワーク設定をしてください。)

最初にホスト名を変更、一応Pingも通る様にしておきます。

#
# Configure Windows Firewall
# 
Set-NetFirewallRule –Name "FPS-ICMP4-ERQ-In"  –Enabled True
Set-NetFirewallRule –Name "FPS-ICMP6-ERQ-In"  –Enabled True
Set-NetFirewallRule –Name "FPS-ICMP4-ERQ-Out" –Enabled True
Set-NetFirewallRule –Name "FPS-ICMP6-ERQ-Out" –Enabled True

#
# Rename Computer
#
ReName-Computer "dcserver" -Restart

再起動後、以下のコマンドでドメインを構築します。

#
# Install ADDS/GPMC/RSAT(ADTools) Components
#
Add-WindowsFeature AD-Domain-Services, GPMC, RSAT-ADDS, RSAT-AD-PowerShell

#
#  Create new Forest/Domain 
#
Import-Module ADDSDeployment
$Params = @{
    DomainName        = "contoso.local";
    DomainNetbiosName = "CONTOSO";
    ForestMode        = "Win2012R2";
    DomainMode        = "Win2012R2";
    DatabasePath      = "C:\Windows\NTDS";
    LogPath           = "C:\Windows\NTDS";
    SysvolPath        = "C:\Windows\SYSVOL";
    SafeModeAdministratorPassword = (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force);
    InstallDns           = $true;
    CreateDnsDelegation  = $false;
    NoRebootOnCompletion = $false;
    Confirm = $false;
}
Install-ADDSForest @Params

Install-ADDSForestが終了すると自動でサーバーが再起動されドメイン環境が出来上がります。

ユーザーの作成

Oracleインストール用のユーザーoracle@contoso.localとOracleホーム・ユーザーorahome@contoso.localを作成しておきます。

# oracle
$Params = @{
    Name            = "oracle";
    AccountPassword = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force;
    PasswordNeverExpires = $true;
    Enabled = $true;
}
New-ADUser @Params

# orahome
$Params = @{
    Name            = "orahome";
    AccountPassword = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force;
    PasswordNeverExpires = $true;
    Enabled = $true;
}
New-ADUser @Params

Oracleインストールユーザーは各種ソフトウェアのインストール用のユーザーでRACの各ノードの管理者ユーザーにもなります。
Oracleホーム・ユーザーはGrid InfrastructureやOracle Databaseのサービスの実行ユーザーになります。

DNSの設定

以下のコマンドを実行し、DNSに各ノードのVIPとSCAN用にAレコードを追加します。

# VIPs
Add-DnsServerResourceRecordA -Name "oraserver01-vip" -ZoneName "contoso.local" -IPv4Address @("192.168.33.33")
Add-DnsServerResourceRecordA -Name "oraserver02-vip" -ZoneName "contoso.local" -IPv4Address @("192.168.33.34")
# SCAN
Add-DnsServerResourceRecordA -Name "oracluster" -ZoneName "contoso.local" -IPv4Address @("192.168.33.41", "192.168.33.42", "192.168.33.43")

これでドメインの作成とそれに関わるRACの設定は完了となります。

次はストレージの構築を行います。