I need to create a reliable and accurate synchronization between two CentOS 6 machines connected through a direct Ethernet connection.
I've seen that on Linux several implementation of the IEEE 1588 Precision Time Protocol (PTP) exist:
- PTPd:
- Apparently, this is the original implentation
- Source code available on GitHub (appparently,
still maintainedalmost unmaintained)
- PTPd2:
- A new version meant to supersede the previous implementation
- Apparently unmaintained
- For CentOS 6, available only in the EPEL repositories
- PTPv2d:
- A further implementation
- Unmaintained as well
- linuxptp:
My questions follow:
- Why does the RedHat documentation suggest the use of linuxptp for RedHat 6 (based on Linux kernel 2.6) despite the linuxptp documentation says that a Linux kernel version 3.0 or newer is needed ?
- Which are differences between PTPd2 and Linuxptp in terms of reliability and timing accuracy ?
- Which one should I prefer on CentOS 6 and on CentOS 7, respectively ?
- Why either PTPd2 and Linuxptp do not synchronize immediately and often need me to start/stop the service several times or manually change system time through
date
to make the machine synchronize ?