記事のディレクトリ
1.ntpとchronyの違い
-
ntp
:システムクロックをUTCと同期すると、ローカルエリアネットワークで精度が0.1ミリ秒に達し、インターネット上のほとんどの場所で精度が1〜50ミリ秒に達する可能性があります。プロジェクトの公式Webサイト:http://www.ntp。 org -
chrony
:NTPプロトコルを実装するフリーソフトウェア。システムクロックは、NTPサーバー、基準クロック(GPS受信機など)、および時計とキーボードを使用した手動入力と同期できます。また、NTPv4(RFC 5905)サーバーおよびピアとして動作して、ネットワーク上のコンピューターにタイムサービスを提供することもできます。断続的で非常に混雑したネットワーク接続、温度変化(コンピューターの時計は温度に敏感)、継続的または仮想マシン上で実行できないシステムなど、さまざまな条件下で適切に動作するように設計されています。インターネットを介して同期される2台のマシン間の一般的な精度は、数ミリ秒以内です。LANでは、精度は通常数十マイクロ秒です。サブマイクロ秒の精度を達成するには、ハードウェアタイムスタンプまたはハードウェア基準クロックを使用します
1.1、chronyについて
-
Chronyの公式ウェブサイト:https://chrony.tuxfamily.org/
-
2つの主要なプログラム:chronydとchronyc
chronyd
:バックグラウンドで実行されているデーモン。カーネルで実行されているシステムクロックを調整して、クロックサーバーと同期するために使用されます。コンピュータが時間を増減する速度を決定し、それを補正しますchronyc
:コマンドラインユーザーツール。パフォーマンスを監視し、さまざまな構成を実行するために使用されます。chronydインスタンスによって制御されるコンピューターまたは別のリモートコンピューターで動作します
-
サービスユニットファイル:
/usr/lib/systemd/system/chronyd.service
-
リスニングポート:
323/udp,123/udp
-
構成ファイル:
/etc/chrony.conf
1.2chronydの利点
- 時間と周波数のエラーを最小限に抑える高速同期は、24時間稼働していない仮想コンピューターに非常に役立ちます
- クロック周波数の急激な変化に適切に対応できます。これは、不安定なクロックを備えた仮想マシンや、クロック周波数の変化を引き起こす省エネテクノロジーに非常に役立ちます。
- 最初の同期後は、システム時間を単調に保つ必要があるアプリケーションへの影響を防ぐために、クロックを停止しません。
- 一時的な非対称遅延を処理するとき(たとえば、大規模なダウンロードによってリンクが飽和する場合)、安定性が向上します。
- サーバーを定期的にポーリングする必要がないため、断続的なネットワーク接続を備えたシステムでも、クロックをすばやく同期できます。
2.環境紹介
linux-oz6w:~ # cat /etc/os-release
NAME="SLES"
VERSION="12-SP3"
VERSION_ID="12.3"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP3"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp3"
3.chronyをデプロイします
linux-oz6w:~ # zypper in chrony # suse自带的镜像源中,有chrony这个服务
4、配置chrony
linux-oz6w:~ # cp /etc/chrony.conf{,.bak} # 良好的备份习惯,可以减少跑路的次数
linux-oz6w:~ # vim /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp1-7.aliyun.com iburst
makestep 1.0 3
rtcsync
allow 192.168.10.0/16
local stratum 10
linux-oz6w:~ # systemctl enable chronyd.service --now # 设置chronyd开机自启,并立刻启动chronyd服务
4.1、構成ファイルの分析
server
-クロックサーバーに使用できます。iburstオプションは、サーバーに到達可能なときに通常のパケットの代わりに1つの8パケットを送信します。パケット間隔は通常2秒で、これにより初期同期速度を上げることができます。driftfile
-実際の時間に基づいてコンピューター時間の増減の比率を計算し、ファイルに記録し、再起動後にシステムクロックを補正しますrtcsync
-カーネルモードを有効にすると、システム時刻が11分ごとにリアルタイムクロック(RTC)にコピーされますallow/deny
-このサーバーへのアクセスを許可または拒否するホスト、サブネット、またはネットワークを指定しますcmdallow / cmddeny
-chronydを介して制御コマンドを使用できるホストを指定できますbindcmdaddress
-chronydが、chronycによって実行されたコマンドを受信するインターフェイスを監視できるようにしますmakestep
-通常、chronydは要求に応じてクロックを遅くしたり速くしたりするため、システムはすべての時間偏差を徐々に修正します。場合によっては、システムクロックのドリフトが速すぎて、調整プロセスがシステムクロックを修正するのに長い時間がかかることがあります。この命令は、調整期間が特定のしきい値よりも大きい場合、chronydにシステムクロックの調整を強制しますlocal stratum 10
-サーバーコマンドでタイムサーバーが使用できない場合でも、他のクライアントの標準時間として現地時間を使用できます。
4.2.chronydが現在同期しているタイムサーバー情報を表示する
linux-oz6w:~ # chronyc sources -v
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- undefined.hostname.local> 2 6 175 40 +29ms[ +29ms] +/- 125ms
^- ntp1.flashdance.cx 2 6 175 38 +33ms[ +33ms] +/- 193ms
^- sv1.ggsrv.de 2 6 137 101 +44ms[ +44ms] +/- 166ms
^- ntp8.flashdance.cx 2 6 315 33 +114us[ +114us] +/- 196ms
^* 203.107.6.88 2 6 177 37 +371us[ +707us] +/- 42ms
5.パブリックNTPサービス
- AlibabaCloudパブリックNTPサーバー
- ntp.aliyun.com
- ntp1-7.aliyun.com
- 大学のNTPサービス
- s1a.time.edu.cn
北京邮电大学
- s1b.time.edu.cn
清华大学
- s1c.time.edu.cn
北京大学
- s1a.time.edu.cn
- National Time ServiceCenterサーバー
- 210.72.145.44