Как я могу получить аппаратные часы /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), которые позволяют гостям синхронизироваться с хостом с точностью до субмикросекунды.
Чтобы включить устройство 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