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) https://en.wikipedia.org/wiki/Precision_Time_Protocol exist:
- PTPd http://ptpd.sourceforge.net: - Apparently, this is the original implentation - Apparently, it is still maintained http://www.github.com/ptpd/ptpd - PTPd2 http://ptpd2.sourceforge.net: - A new version meant to supersede the previous implementation - Apparently unmaintained - For CentOS 6, available only in the EPEL repositories - PTPv2d http://code.google.com/p/ptpv2d: - A further implementation - Unmaintained as well - linuxptp http://linuxptp.sourceforge.net: - A specific implementation for Linux - Maintained - Available on the CentOS repositories - Suggested by the RedHat documentation for both RedHat 6 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Configuring_PTP_Using_ptp4l.html and RedHat 7 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sec-Using_PTP.html
My questions follow:
- Why does the RedHat documentation suggest the use of linuxptp https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-Installing_PTP.html 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 http://linuxptp.sourceforge.net/ ? - 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 ?
Many thanks for any hint.