Как я могу получить аппаратные часы /dev/ptp0 ptp на виртуальной машине под управлением Linux?

Я пытаюсь запустить программное обеспечение, которое должно получить аппаратные метки времени, используя ptp. Поэтому мне нужно иметь /dev/ptp0 доступным. Я использую Linux/Ubuntu на VMWare.

Есть ли способ заставить это работать на ВМ?

Спасибо!

3 ответа

Вкратце : ptp_kvm.ko

# modprobe ptp_kvm
# ls /dev/ptp*
/dev/ptp0  /dev/ptp_kvm

в длинном:

Red Hat Enterprise Linux 7.5 и более поздние версии предоставляют виртуальные аппаратные часы PTP (PHC), которые позволяют гостям синхронизироваться с хостом с точностью до субмикросекунды.

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/chap-kvm_guest_timing_management (?)

Чтобы включить устройство 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-устройства. Ближайшая вещь найти это на этом сайте

К вашему сведению Запуск linuxptp на qemu-kvm

Запустите две виртуальные машины для GM и Slave и используйте последнюю версию Fedora, RHEL 6.5 7.0 Используйте виртуальную сетевую карту emulationg 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
Другие вопросы по тегам