CentOS7 on Vagrantでの時刻設定
CentOS7からはntpdではなく、chronyを使用するように推奨されている。
インストールして、デーモンとして常駐させるように設定する。
$ sudo yum install -y chrony
$ sudo systemctl enable chronyd
$ sudo systemctl status chronyd
chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)
Active: inactive (dead)
“/etc/chrony.conf”の参照するサーバを日本のNTPサーバに設定する。
server ntp.nict.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst
chronyを起動する。
$ sudo systemctl start chronyd
chronyの状態を確認する。
$ chronyc cources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-b2.nict.go.jp 1 6 37 38 -1471ns[-3530us] +/- 3053us
^- ntp1.jst.mfeed.ad.jp 2 6 37 37 -922us[ -922us] +/- 12ms
^- ntp2.jst.mfeed.ad.jp 2 6 37 38 -1038us[-4557us] +/- 35ms
^- ntp3.jst.mfeed.ad.jp 2 6 37 38 +2003us[+2003us] +/- 16ms
さらに詳細な情報を得たい場合は、-vオプションをつける。
210 Number of sources = 4
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| / xxxx = adjusted offset,
|| Log2(Polling interval) -. | yyyy = measured offset,
|| \ | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-b2.nict.go.jp 1 6 77 22 +275us[ +681us] +/- 3850us
^- ntp1.jst.mfeed.ad.jp 2 6 77 21 -1044us[-1044us] +/- 44ms
^- ntp2.jst.mfeed.ad.jp 2 6 77 22 -914us[ -508us] +/- 37ms
^- ntp3.jst.mfeed.ad.jp 2 6 77 22 -466us[ -62us] +/- 12ms
他には、トラッキング情報を確認したりなど。
$ chronyc tracking
$ chronyc sourcestats
UTCになっている場合
日本人なので、JST(日本標準時)で時刻を確認したいので変更します。
CentOS7からは、”timedatectl”で確認、設定ができます。(“/etc/localtime”などを直接編集しません)
# 確認
$ timedatectl
# timezoneの確認(一覧)
$ timedatectl list-timezones
# timezoneの設定
$ sudo timedatectl set-timezone Asia/Tokyo
これで”date”コマンドが、JSTで表示されます。
Vagrantを使用している場合
Vagrantはデフォルトでホストと時間を同期してくれます。ホストの時間がずれていると時間は永遠にありません。
ホストの時刻があっている場合は問題無いです。
ホストの時間がずれている場合は同期をやめるように設定しましょう。
config.vm.provider :virtualbox do |vb|
vb.customize ["setextradata", :id, "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 1]
end
のっぴきならない事情でホストの時刻がずれている場合は、こうしないとダメですね。