Oracle RAC構築用 NTPサーバー (Chrony) セットアップガイド

Oracleインストール

Oracle RAC環境において、全ノードの時刻が正確に同期されていることは、Grid Infrastructure(GI)の正常稼働に不可欠です。本ドキュメントでは、Oracle Linux 7 (OL7) を使用し、RACノードに対して時刻を配布するNTPサーバー(マスター)を構築する手順を解説します。

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

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

1. 環境情報

項目設定値
NTPサーバー (Master)192.168.56.18
RACノード (Clients)任意のIPアドレス (各ノード)
OSOracle Linux 7.x
同期プロトコルChrony (NTP)

2. NTPサーバー側 (192.168.56.18) の構築

2.1 パッケージのインストール

まずは chrony が導入されているか確認し、インストールを行います。

# インストール確認
rpm -q chrony

# インストール(未導入の場合)
sudo yum install chrony -y

2.2 設定ファイル (/etc/chrony.conf) の編集

RACノードからのリクエストを許可し、外部接続が不安定な場合でも自身をマスターとして動作させるための設定を行います。

# バックアップ取得
sudo cp /etc/chrony.conf /etc/chrony.conf.bak

# 設定編集
sudo vi /etc/chrony.conf

【設定内容】 既存の内容を削除またはコメントアウトし、以下を記述します。

# --- 同期元(上位)サーバー ---
# インターネット接続可能な場合は公共NTPサーバーを指定
# 閉域網の場合は上位スイッチ等のIPを指定
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst

# 誤差情報の記録ファイル
driftfile /var/lib/chrony/drift

# 起動直後の大幅なズレを許容する設定 (1秒以上のズレを3回までステップ補正)
makestep 1.0 3

# カーネルのRTC同期を有効化
rtcsync

# ★重要:RACノードが所属するサブネットからのアクセスを許可
# 環境に合わせてネットワークアドレスを調整してください
allow 192.168.56.0/24

# ★重要:孤立時の運用設定
# 上位サーバーと通信できない場合でも、自身の時計を信頼させて配布を継続
local stratum 10

# ログ設定
logdir /var/log/chrony

2.3 サービスの起動と自動起動設定

# サービスの有効化と起動
sudo systemctl enable chronyd
sudo systemctl start chronyd

# 起動状態の確認
sudo systemctl status chronyd

2.4 ファイアウォールの開放

NTP(UDP 123ポート)を許可します。

sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload

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

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

3. 動作確認

サーバー側で、正しく時刻同期が開始されているか確認します。

# 同期ソースの確認
chronyc sources -v
  • 行頭が ^* であれば同期完了です。
  • ^? の場合はまだ同期中または到達不可ですが、数分待つと ^* に変わります。

4. RACノード側への展開アドバイス

各RACノードの /etc/chrony.conf には、今回構築したサーバーを指定してください。

# RACノード側の /etc/chrony.conf 例
server 192.168.56.18 iburst

5. FAQ (よくある質問)

Q1: GIのインストール中に「NTPが設定されていますが、推奨はCTSSDです」と警告が出ます。 A: これは正常な挙動です。NTP(Chrony)が動作している場合、OracleのCTSSDは「オブザーバー・モード」で待機します。設定が正しければ、このままインストールを続行して問題ありません。

Q2: RACノード側で chronyc sources を実行しても ^? (未同期) のままです。 A: 以下の3点を確認してください。

  1. マスターサーバー(18)側で allow 設定が正しくネットワークをカバーしているか。
  2. マスターサーバー側のファイアウォール(UDP 123)が開放されているか。
  3. マスターサーバー自体が ^* または local stratum により信頼された状態か。

Q3: インストール中に時刻が大幅にズレてしまったら? A: GIインストール前であれば、systemctl stop chronyd 停止後に chronyd -q 'server 192.168.56.18 iburst' を実行して強制同期させ、再度サービスを開始してください。

Q4: RAC稼働後に時刻を「戻す」ような補正は危険ですか? A: はい、危険です。データベースの不整合を防ぐため、RAC稼働後は時刻を急激に戻さず、徐々に調整する(Slew調整)のが基本です。Chronyは標準でこの動作を行いますが、本手順の makestep 設定は「起動直後のみ」に限定しているため安全です。

6. まとめ

Oracle RAC環境における時刻同期の構築ポイントは以下の3点に集約されます。

  1. 可用性の確保: local stratum 10 を設定することで、外部ネットワーク障害時もクラスター内の時刻同期を維持し、ノード・エビクションを防ぐ。
  2. 適切なアクセス制御: allow 設定により、RACノードが所属するネットワークからのリクエストを確実に許可する。
  3. GIインストーラーへの適合: インストール開始前に全ノードの chronyc sources が正常(同期先が見えている状態)であることを確認する。

正確な時刻同期は、安定したRAC運用の第一歩です。構築後の cluvfy(検証ツール)実行で「パス」が出ることを目標に進めてください。

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

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

コメント

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