CentOS7をHyper-Vで構築したのですが、時刻が大幅にずれていたのでchronyを使って同期してみます。
現在の本当の時刻は「2020年7月29日」なのですがCentOS内の時刻は「2020年 7月 28日」となっており1日程度のズレが生じていました。
どうも調べてみるとHyper-VでLinux系の仮想マシンの場合は、以下にある「時刻の同期」はサポートされていないようで、Linuxマシン側で時刻同期の設定が必要みたいです。
環境と時刻の状態
ホストOS:Windows10 Pro [192.168.10.24]
ホスト側の時刻:あってる
ゲストOS:CentOS7 (ホスト名:gitlab)
ゲスト側の時刻:あってない
CentOS7の時刻を正しくする
日付、時刻、タイムゾーンの確認
まず、CentOS側の日時やタイムゾーンの状態をdateコマンドやtimedatectlコマンドで確認します。
これを見ると時間がずれていますが、タイムゾーンはAsia/Tokyoなので問題なようです。
[root@gitlab ~]# date
2020年 7月 28日 火曜日 09:53:10 JST
[root@gitlab ~]# timedatectl
Local time: 火 2020-07-28 09:53:12 JST
Universal time: 火 2020-07-28 00:53:12 UTC
RTC time: 火 2020-07-28 15:03:32
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
時刻同期が正しく行われてなさそうなので、NTPの設定をしていきます。
Chronyのインストール
CentOS7ではChronyを使って時刻同期をします。インストールされてなければインストールして、サービスを起動して、さらにOS起動時にも起動するように設定します。
[root@gitlab ~]# yum install chrony
[root@gitlab ~]# systemctl start chronyd
[root@gitlab ~]# systemctl enable chronyd
Chronyの設定
Chronyの設定を確認します。
デフォルトではcentosのNTPサーバが設定されていますが、今回はインターネット上にNTPで接続することはせずに、ホストOS(192.168.10.24)と時刻同期をするようにします。
[root@gitlab ~]# vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
# 以下を追加
server 192.168.10.24 iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
~
CentOSを再起動してから時刻を確認すると正しく同期されています。
[root@gitlab ~]# shutdown -r now
[root@gitlab ~]# date
2020年 7月 29日 水曜日 08:37:54 JST
今回は以上となります。
コメント