CentOS 5 で ntpd を使って時刻同期する基本を確認します。古い Linux サーバーでは、証明書、ログ、認証、監視のすべてが時刻に依存します。時刻がずれると、一見関係なさそうな障害として表に出ることがあります。
時刻同期を確認する理由
時刻同期は地味ですが、サーバー運用の土台です。CentOS 5 のような古い環境では、chrony ではなく ntpd が使われていることが多いため、設定ファイルと状態確認の方法を押さえておく必要があります。
- ログの時系列を正しく追う
- 証明書の有効期限判定を正しく行う
- Kerberos や LDAP 連携で時刻ずれを避ける
- 監視データの時刻を揃える
インストールと起動設定
yum install ntp
chkconfig ntpd on
service ntpd start
service ntpd status起動直後はすぐに同期済みにならないことがあります。上位 NTP サーバーとの通信、オフセット、選択されている同期先を確認します。
ntp.conf の基本
CentOS 5 では /etc/ntp.conf に参照先 NTP サーバーを設定します。内部 NTP サーバーがある場合は、外部 NTP ではなく内部の基準サーバーを参照させる方が管理しやすいです。
server ntp1.example.local iburst
server ntp2.example.local iburst
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1restrict は NTP サーバーへの問い合わせや制御を制限する設定です。単に時刻を合わせたいクライアントであれば、外部から自由に問い合わせできる必要はありません。
状態確認
同期状態は ntpq -p で確認します。先頭に * が付いているサーバーが現在の同期先です。
ntpq -p
ntpstat
date
tail -f /var/log/messagesntpstat が入っていない環境では、ntpq -p とログで確認します。ファイアウォールや経路の問題がある場合、NTP サーバーへ UDP 123 で到達できるかも確認します。
netstat -lunp | grep :123
iptables -L -n
traceroute ntp1.example.local大きく時刻がずれている場合
時刻が大きくずれている状態では、ntpd がすぐに補正しない場合があります。初回だけ ntpdate で合わせてから ntpd を起動する運用が使われることもありました。
service ntpd stop
ntpdate ntp1.example.local
service ntpd start
ntpq -pただし、稼働中のシステムで時刻を急に動かすとアプリケーションに影響する場合があります。特にデータベース、認証、ジョブ管理が動いているサーバーでは、作業タイミングを考える必要があります。
まとめ
CentOS 5 の時刻同期では、/etc/ntp.conf、ntpd の起動状態、ntpq -p の結果を確認します。古い環境ほど時刻同期が軽視されがちですが、ログ、証明書、認証、監視の前提になるため、移行前の棚卸しでも必ず確認する項目です。
関連する記事
- CentOS 5 サーバー管理ガイド
CentOS 5 系の記事を役割別に確認できるハブページです。 - CentOS 5 syslogd ログサーバー構築
ログを集約する場合、時刻同期は前提になります。 - CentOS 5 Cacti モニタリングサーバー構築
監視データの時系列にも時刻同期が関係します。
参考書籍
古い Linux サーバーの記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見る
