※この記事は「AOS 7.0 AHV10.0 Prism Central pc.2024.3」時点の情報をもとに作成しています。その後の機能アップデートについてはメーカーの公開情報をご確認ください。
今回は、Nutanix AHV環境で、CVMやAHVのNTC設定や通信の様子を確認してみます。
目次
1.今回の環境
3ノードAHVクラスタ
AOS: 7.0.1
AHV: 10.0.1
Prism Central: pc.2024.3.1.1
環境は一般的なNutanixの3ノードクラスタです。Prism CentralはFVNの検証中なので、3台構成としています。

2. PrismのNTP設定画面
クラスターのCVMとAHVのNTPサーバの設定は「Prism Element」から可能です。画面は以下の通り。なお、Nutanixでは、内部のNTCソースを複数台指定するのが推奨構成ですが、ちょうどいいNTPサーバがなかったので、今回はわかりやすく「time.google.com」のみを指定しています。

なお、Prism CentralのNTPサーバの設定は「Prism Central」から可能です。画面は以下の通りで、内容は同様です。

なお、CVMやAHV、Prism CentralはRocky Linuxをベースとしており、NTPの実装でChronyを使用しています。
3. CVMのNTP設定の確認
▽まずは、各CVMの「chrony.conf」ファイルの確認です。
nutanix@CVM01:~$ allssh sudo cat /etc/chrony.conf
================== 172.22.1.52(CVM#2) =================
# Auto generated by ChronyConfig on Fri May 23 23:07:28 2025
server 172.22.1.53 iburst maxpoll 10 ←CVM #3をタイムソースとして参照
#internal 172.22.1.53
keyfile /etc/chrony.keys
driftfile /var/lib/chrony/drift
maxdistance 16.0
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
allow 127.0.0.1
allow ::/0
allow ::1
leapsectz right/UTC
cmdport 0
logdir /var/log/chrony
log measurements statistics tracking
================== 172.22.1.53(CVM#3) =================
# Auto generated by ChronyConfig on Fri May 23 23:07:27 2025
server time.google.com iburst maxpoll 10 ←CVM#3が外部ソースを参照している
local stratum 10
keyfile /etc/chrony.keys
driftfile /var/lib/chrony/drift
maxdistance 16.0
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
allow 127.0.0.1
allow ::/0
allow ::1
leapsectz right/UTC
cmdport 0
logdir /var/log/chrony
log measurements statistics tracking
================== 172.22.1.51(CVM#1) =================
# Auto generated by ChronyConfig on Fri May 23 23:07:28 2025
server 172.22.1.53 iburst maxpoll 10 ←CVM #3をタイムソースとして参照
#internal 172.22.1.53
keyfile /etc/chrony.keys
driftfile /var/lib/chrony/drift
maxdistance 16.0
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
allow 127.0.0.1
allow ::/0
allow ::1
leapsectz right/UTC
cmdport 0
logdir /var/log/chrony
log measurements statistics tracking
上記の結果から分かるように、クラスター内の代表CVMがNTPサーバを参照して時刻同期し、その他のCVMは代表CVMを参照するように設定されています。
試しに「その他の」CVMの通信を覗いてみると、以下のように代表CVMを参照していることが分かります。ちなみに、CVMの外向け管理インターフェースである「eth0」のパケットキャプチャをしたい場合は、AHVからCVMのOVSインターフェースである、「vnet0」をtcpdumpで監視すると確認できます。
[root@ahv-01 ~]# tcpdump -i vnet0 udp port 123
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vnet0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:02:49.723406 IP 192.168.70.3.ntp > 192.168.83.1.51163: NTPv3, Server, length 48
14:02:53.491429 IP 172.22.1.51.47179 > 172.22.1.53.ntp: NTPv4, Client, length 48
14:02:53.491860 IP 172.22.1.53.ntp > 172.22.1.51.47179: NTPv4, Server, length 48
14:02:58.038898 IP 192.168.70.3.ntp > 192.168.83.1.58313: NTPv3, Server, length 48
14:03:01.556194 IP 192.168.70.3.ntp > 192.168.83.1.58037: NTPv3, Server, length 48
14:03:02.850298 IP 192.168.70.3.ntp > 192.168.83.1.37708: NTPv3, Server, length 48
UDP/123ポートで代表CVM宛に通信が流れていることが分かります。
▽ちなみに、代表CVMのパケットもキャプチャしてみましょう。
[root@ahv-03 ~]# tcpdump -i vnet0 udp port 123
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vnet0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:57:47.334528 IP 192.168.70.3.ntp > 192.168.83.1.47280: NTPv3, Server, length 48
14:57:49.318143 IP 172.22.1.53.51327 > time3.google.com.ntp: NTPv4, Client, length 48
14:57:49.359094 IP time3.google.com.ntp > 172.22.1.53.51327: NTPv4, Server, length 48
14:57:49.519961 IP 172.22.1.53.35787 > time2.google.com.ntp: NTPv4, Client, length 48
14:57:49.560961 IP time2.google.com.ntp > 172.22.1.53.35787: NTPv4, Server, length 48
代表CVMからは、指定したNTPサーバに対して通信が発生しているのが分かりますね。
4. AHVのNTP設定の確認
▽続いて、AHVのNTP設定を確認してみます。AHVについては、ノード間で特に差はなく、全ホストが設定したNTCサーバを参照するように設定が入っています。
[root@ahv-01 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 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.
# 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
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
port 0
cmdport 0
server time.google.com maxpoll 10 iburst
Nutanixは、CVMがクラスター全体をコントールしていますが、AHVはCVMを経由して時刻同期しているわけではなく、自らNTPサーバを参照しています。
▽tcpdumpからも、AHVからNTPサーバへの通信の様子が確認できます。
[root@ahv-01 ~]# tcpdump -i br0 udp port 123
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes
15:17:20.799891 IP 192.168.70.3.ntp > 192.168.83.1.59085: NTPv3, Server, length 48
15:17:26.726216 IP ahv01-ntnx.test.42876 > time4.google.com.ntp: NTPv4, Client, length 48
15:17:26.767473 IP time4.google.com.ntp > ahv01-ntnx.test.42876: NTPv4, Server, length 48
15:17:28.386805 IP 192.168.70.3.ntp > 192.168.83.1.64682: NTPv3, Server, length 48
5. Prism CentralのNTP設定の確認
▽Prism Centralの設定ファイルも確認したところ、今回のようにPrism Central3台構成の場合はCVMと同様で、代表Prism CentralがNTPサーバを参照し、「その他の」Prism Centralは代表Prism Centralを参照するように設定されていました。
nutanix@PCVM02:~$ allssh sudo cat /etc/chrony.conf
================== 172.22.1.56(PC#1) =================
# Auto generated by ChronyConfig on Fri May 23 07:31:51 2025
server 172.22.1.57 iburst maxpoll 10
#internal 172.22.1.57
keyfile /etc/chrony.keys
driftfile /var/lib/chrony/drift
maxdistance 16.0
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
allow 127.0.0.1
allow ::/0
allow ::1
leapsectz right/UTC
cmdport 0
logdir /var/log/chrony
log measurements statistics tracking
================== 172.22.1.58(PC#3) =================
# Auto generated by ChronyConfig on Fri May 23 07:31:51 2025
server 172.22.1.57 iburst maxpoll 10
#internal 172.22.1.57
keyfile /etc/chrony.keys
driftfile /var/lib/chrony/drift
maxdistance 16.0
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
allow 127.0.0.1
allow ::/0
allow ::1
leapsectz right/UTC
cmdport 0
logdir /var/log/chrony
log measurements statistics tracking
================== 172.22.1.57(PC#2) =================
# Auto generated by ChronyConfig on Fri May 23 07:31:46 2025
server time.google.com iburst maxpoll 10
local stratum 10
keyfile /etc/chrony.keys
driftfile /var/lib/chrony/drift
maxdistance 16.0
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
allow 127.0.0.1
allow ::/0
allow ::1
leapsectz right/UTC
cmdport 0
logdir /var/log/chrony
log measurements statistics tracking
PCのtcpdumpは割愛します。CVM同様で、AHVからtcpdumpでPCの「tapN」ポートを指定すれば確認可能です。
以上です。