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アドレス (各ノード) |
| OS | Oracle 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点を確認してください。
- マスターサーバー(18)側で
allow設定が正しくネットワークをカバーしているか。 - マスターサーバー側のファイアウォール(UDP 123)が開放されているか。
- マスターサーバー自体が
^*または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点に集約されます。
- 可用性の確保:
local stratum 10を設定することで、外部ネットワーク障害時もクラスター内の時刻同期を維持し、ノード・エビクションを防ぐ。 - 適切なアクセス制御:
allow設定により、RACノードが所属するネットワークからのリクエストを確実に許可する。 - GIインストーラーへの適合: インストール開始前に全ノードの
chronyc sourcesが正常(同期先が見えている状態)であることを確認する。
正確な時刻同期は、安定したRAC運用の第一歩です。構築後の cluvfy(検証ツール)実行で「パス」が出ることを目標に進めてください。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント