思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【Ubuntu24.04/FreeBSD/QNAP】イントラネットタイムサーバーとの時刻同期

複数のサーバー群のメンテナンスをしている中で、メンテナンスを行ったサーバーに対して、イントラネット時刻への同期設定を、すっかり失念していました(^^;;)。

rsyncの常用を開始したにもかかわらず、各サーバーで時刻が異なっていると、タイムスタンプのずれがrsyncの挙動にどのような影響を与えるのか不明ですので、トラブルの未然防止のためにすべてのマシンの時刻が同期するよう設定しようと思います(^^)。

【注*1

宅内のActiveDomainコントローラー(AD-DC[QNAP])は、インターネット時刻に同期するように設定し、ntpサーバーと動かしています😀。

各マシンをインターネット時刻に合わせようとすると、インターネット経路上の遅延でマシンごとに時刻のズレが発生しそうですので🤔、各サーバー/パソコンはAD-DCのntpサーバーに時刻が同期するように設定します😀。

I. Ubuntu24.04

”Ubuntu24.04”は、”VirutalBox用”の実機と、テスト用の仮想マシンVM)の2台だけなので、時刻同期を個別に設定します😀。

1. "timesyncd.conf"の編集

 

user@Ubuntu24.04:~$ sudo vim /etc/systemd/timesyncd.conf ;

下記の黄色字部分を修正します。

[..]

#
# See timesyncd.conf(5) for details.

[Time]
#NTP=
NTP=[イントラネットNTPサーバーのIPアドレス]
#FallbackNTP=ntp.ubuntu.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
#ConnectionRetrySec=30
#SaveIntervalSec=60

[..]

 

 

NTP”に与えるパラメータホスト名でも問題ないのですが、小生はトラブル発生時などに名前解決が出来なかった時のために、IPアドレスを与えることにしています。

 

2. サービスの起動と時刻確認

 

user@Ubuntu24.04:~$ sudo systemctl restart systemd-timesyncd ;

 

 

II. FreeBSD13.5/13.4

拙宅ではサーバーとしてはFreeBSDが主力で、それなりの台数が稼働しています(*2)😅。

FreeBSDについては、すべてのマシンでam-utilsを設定済みですので、起動時にメインファイルサーバー上の共通領域にアクセスが可能です😀。

そこで、メインファイルサーバー上の共通領域にスクリプトと設定ファイルを置き、各FreeBSDからは、メインファイルサーバー上の共通領域にある共通スクリプトを呼び出すだけにします🤔。

設定変更が必要な場合には、メインファイルサーバー上のスクリプトと設定ファイルを修正すれば、各FreeBSDマシンを個別に設定変更しなくて済みます(*3)😀。

1. スクリプトの作成

(1)共通スクリプトの作成
root@mainsv:# cd /Share/scripts/common ; nfsエクスポートディレクトリに移動。
root@mainsv:# touch syncdata.sh ; 空のファイルを作成。
root@mainsv:# chmod +x syncdata.sh ; 実行許可を与える。
root@mainsv:# vi syncdata.sh ;

 

下記の内容で作成します。

#!/bin/sh
/usr/sbin/ntpdate [イントラネットNTPサーバーのIPアドレス]
/usr/sbin/ntpd -c /share/scripts/common/ntp.conf



 

 

(2)"ntp.conf"の作成
root@mainsv:# vi ntp.conf    

 

下記の内容で作成します。

server  [イントラネットNTPサーバーのIPアドレス]

 

 

 

(3)各サーバー用起動時実行スクリプトの作成

 

root@mainsv:# cd /Share/scripts/common ; nfsエクスポートディレクトリに移動。
root@mainsv:# touch 99.syncdata.sh ; 空のファイルを作成。
root@mainsv:# chmod +x 99.syncdata.sh ; 実行許可を与える。
root@mainsv:# vi 99.syncdata.sh ;

 

訂正
  • 下記、スクリプトでは、サービスの起動順序の関係から、正常に機能しません。
  • 修正スクリプトは下記にて公開しております。

  • 加筆:2025/12/26

 

下記の内容で作成します。

#!/bin/sh
/share/scripts/common/syncdata.sh

 

 

2. 各サーバーの設定 

訂正
  • 下記設定では、サービスの起動順序の関係から、正常に機能しません。
  • 修正設定方法は下記にて公開しております。

  • 加筆:2024/12/26

 

各サーバーへの設定は、上記で作成した各サーバー用起動時実行スクリプトを”/usr/local/etc/rc.d”にコピーするだけです😀。

root@FreeBSD:# cd /usr/local/etc/rc.d    
root@FreeBSD:# cp /share/scripts/common/99.syncdata.sh .    

 

III. Windowsパソコン等

Windowsパソコン等も、設定から、AD-DCのイントラネット時刻に同期するように設定を行ってあります。

 

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*2:テスト用のVMも含めて

*3:個別に設定変更しようとすると、設定もれなマシンを作り出す自信があります😅。。。。