我正在尝试运行需要使用 ptp 获取硬件时间戳的软件。因此,我需要有/dev/ptp0可用。我在 VMWare 上运行 Linux/Ubuntu。
有没有办法让它在虚拟机上工作?
谢谢!
我正在尝试运行需要使用 ptp 获取硬件时间戳的软件。因此,我需要有/dev/ptp0可用。我在 VMWare 上运行 Linux/Ubuntu。
有没有办法让它在虚拟机上工作?
谢谢!
简而言之:ptp_kvm.ko
# modprobe ptp_kvm
# ls /dev/ptp*
/dev/ptp0 /dev/ptp_kvm
长:
Red Hat Enterprise Linux 7.5 及更高版本提供了一个虚拟 PTP 硬件时钟 (PHC),它使客户机能够以亚微秒级的精度与主机同步。
要启用 PHC 设备,请在虚拟机中执行以下操作:
将 ptp_kvm 模块设置为在重启后加载。
# echo ptp_kvm > /etc/modules-load.d/ptp_kvm.conf
添加 /dev/ptp0 时钟作为 chrony 配置的参考:
# echo "refclock PHC /dev/ptp0 poll 2" >> /etc/chrony.conf
重新启动 chrony 守护进程:
# systemctl restart chronyd
要验证主机-来宾时间同步是否已正确配置,请chronyc sources
在来宾上使用该命令。
# chronyc sources
#* PHC0 0 2 377 4 -6ns[ -6ns] +/- 726ns
简单的回答 VMware 不支持 linuxptp 模拟 ptp 设备。最接近的是在这个网站上找到这个
仅供参考 在 qemu-kvm 上运行 linuxptp
为 GM 和 Slave 运行两个虚拟机并使用最新的 Fedora,RHEL 6.5 7.0 使用虚拟网卡仿真 g e10000(支持软件时间戳)不要忘记定义适当的防火墙规则以允许多播不要'期望高精度和准确度
现在是 2021 年,我发现如果你能够编译自己的 Linux 内核,那么已经有一个内置的驱动程序了。启用它make menuconfig
:
Device Drivers --> PTP clock support --> KVM virtual PTP clock
在 KVM 来宾内部,/dev/ptp0
将出现一个新设备,以及以下内核启动日志:
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered