Oracle RAC構築用 DNSサーバーセットアップガイド (完全版)

OS

本ドキュメントでは、以下の混合OS環境において、Oracle RAC (Grid Infrastructure) の要件を満たすDNSサーバーの構築およびクライアント設定手順を解説します。

  • DNSサーバー: Oracle Linux 7 (OL7)
  • RACノード: Oracle Linux 8 (OL8)

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

1. 設計情報

項目設定値役割
DNSサーバー IP192.168.56.18OL7 (BIND稼働)
ドメイン名example.localRAC環境用ドメイン
RACノード1 (Public)192.168.56.61OL8 (rac-26ai1)
RACノード2 (Public)192.168.56.62OL8 (rac-26ai2)
Virtual IP (VIP)192.168.56.63, 64各ノードの仮想IP
SCAN IP192.168.56.65, 66, 67共通アクセス用IP (3つ)

2. DNSサーバー側 (OL7: 192.168.56.18) の構築

2.1 BINDのインストール

yum install bind bind-utils -y

2.2 メイン設定ファイル (/etc/named.conf)

directory "/var/named"; は必須設定です。

vi /etc/named.conf
options {
    listen-on port 53 { 127.0.0.1; 192.168.56.18; };
    directory       "/var/named";
    allow-query     { localhost; 192.168.56.0/24; };

    recursion yes;
    dnssec-enable no;
    dnssec-validation no;

    bindkeys-file "/etc/named.root.key";
    managed-keys-directory "/var/named/dynamic";
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

zone "example.local" IN {
    type master;
    file "example.local.zone";
};

zone "56.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.56.rev";
};

2.3 正引きゾーンファイルの作成

SCANは必ず3つのIPを同一ホスト名で登録してください。

vi /var/named/example.local.zone
$TTL 86400
@   IN  SOA dns-server.example.local. root.example.local. (
        2025062201 ; Serial
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400 )    ; Minimum TTL
    IN  NS  dns-server.example.local.

dns-server  IN A   192.168.56.18

; --- Public IP ---
rac-26ai1   IN A   192.168.56.61
rac-26ai2   IN A   192.168.56.62

; --- Virtual IP (VIP) ---
rac-26ai1-vip IN A 192.168.56.63
rac-26ai2-vip IN A 192.168.56.64

; --- SCAN (3つのIPを登録) ---
rac-26ai-scan IN A 192.168.56.65
rac-26ai-scan IN A 192.168.56.66
rac-26ai-scan IN A 192.168.56.67

; --- Private IP (Optional) ---
rac-26ai1-pr IN A  192.168.57.61
rac-26ai2-pr IN A  192.168.57.62

2.4 逆引きゾーンファイルの作成

PTRレコードも不足なく記述します。

vi /var/named/192.168.56.rev
$TTL 86400
@   IN  SOA dns-server.example.local. root.example.local. (
        2025062201 ; Serial
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400 )    ; Minimum TTL
    IN  NS  dns-server.example.local.

18  IN  PTR dns-server.example.local.
61  IN  PTR rac-26ai1.example.local.
62  IN  PTR rac-26ai2.example.local.
63  IN  PTR rac-26ai1-vip.example.local.
64  IN  PTR rac-26ai2-vip.example.local.
65  IN  PTR rac-26ai-scan.example.local.
66  IN  PTR rac-26ai-scan.example.local.
67  IN  PTR rac-26ai-scan.example.local.

2.5 権限設定・SELinux適用

ファイルを削除・再作成した場合は必ずこの手順を再実施してください。

chown root:named /etc/named.conf /var/named/example.local.zone /var/named/192.168.56.rev
chmod 640 /etc/named.conf /var/named/example.local.zone /var/named/192.168.56.rev

restorecon -v /etc/named.conf
restorecon -Rv /var/named

named-checkconf -z /etc/named.conf
systemctl enable --now named
firewall-cmd --add-service=dns --permanent && firewall-cmd --reload

2.6 DNSサーバーの稼働・ステータス確認

# 1. サービスの状態確認
systemctl status named

# 2. BINDの詳細な稼働ステータス確認
rndc status

# 3. 待ち受けポート (53/UDP/TCP) の確認
ss -antup | grep :53

# 4. リアルタイムログの監視
journalctl -u named -f

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

3. RACノード側 (OL8 Client) の設定

OL8において /etc/resolv.conf の編集を永続化させるための推奨手順です。

3.1 NetworkManagerによる永続化 (nmcli)

各ノードで実施します。

# 1. アクティブなコネクション名を確認
nmcli connection show

# 2. DNSサーバーと検索ドメインを登録
nmcli connection modify "コネクション名" ipv4.dns "192.168.56.18"
nmcli connection modify "コネクション名" ipv4.dns-search "example.local"

# 3. 反映 (自動的に /etc/resolv.conf が更新されます)
nmcli connection up "コネクション名"

3.2 設定の最終確認

cat /etc/resolv.conf
# search example.local と nameserver 192.168.56.18 があれば成功

4. インストール前 最終確認リスト

  1. SCANラウンドロビン: nslookup rac-26ai-scan を実行するたびにIPの順番が変わるか。
  2. 短縮名疎通: ping rac-26ai2 で応答があるか(search設定の確認)。
  3. 逆引き一致: nslookup 192.168.56.65 等で正しいホスト名が返るか。

5. FAQ (よくある質問)

Q1: なぜ SCAN IP は 3 つ必要なのですか? A1: Oracle のベストプラクティスであり、Grid Infrastructure インストーラーの検証項目です。3 つ設定することで、クライアント接続時に DNS ラウンドロビンによる負荷分散と高可用性を実現します。

Q2: /etc/resolv.conf を直接編集してはいけないのはなぜですか? A2: OL8 では NetworkManager がこのファイルを管理しているため、再起動やネットワーク切断時に設定が自動的に上書き(消去)されてしまいます。nmcli を使用することで、設定がプロファイルに保存され、永続化されます。

Q3: nslookup は通るのに ping が通りません。 A3: /etc/resolv.confsearch example.local が記述されているか確認してください。記述がない場合、ドメイン名なしの ping rac-26ai1 は失敗します。また、/etc/nsswitch.confhosts: files dns の順序により、/etc/hosts に古いエントリが残っている場合も失敗の原因になります。

Q4: DNS サーバーのシリアル値を更新し忘れるとどうなりますか? A4: レコードを修正しても、シリアル値(Serial)を増やしてサービスを再起動(または rndc reload)しないと、変更が反映されない場合があります。

6. まとめ

  • SCAN の構成: 1 つのホスト名に対して 3 つの A レコードを定義する「DNS ラウンドロビン」が RAC 構成のキモです。
  • 権限と SELinux: /var/named 配下のファイルは、所有者を named グループにし、restorecon でセキュリティコンテキストを正しく設定しないと named がファイルを読み込めません。
  • OL8 ネットワーク管理: OL8 クライアントでは nmcli コマンドを使いこなし、設定を永続化させることが、後のトラブル(再起動後の名前解決不可)を防ぐ唯一の方法です。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました