오프라인 시간 동기화

오프라인 시간 동기화

가끔 클라이언트에 연결되는 완전히 오프라인인 Linux 서버의 시계를 동기화하는 안정적인 방법이 있습니까?

단일 "기원 이후 밀리초" 숫자를 서버에 전달하는 것은 단순하기는 하지만 부정확할 수 있다고 생각합니다.

클라이언트가 NTP 서버에서 얻는 필수 정보를 NTPD(서버에서 실행)에 제공할 수 있는지 궁금합니다.

답변1

주목해야 할 중요한 점은 온보드 시계가 반드시 신뢰할 수 있는 것은 아니며, 서로 다른 기계가 서로 다른 속도로 표류한다는 것입니다. ntp이 드리프트를 측정하려고 시도했지만 근사치를 계산하려면 충분한 연결 시간이 필요합니다.

어떤 이유로든 인터넷의 NTP 서버와 동기화할 수 없는 컴퓨터에 대해 시계를 동기화된 상태로 유지하는 표준 방법은 로컬 "권한 있는" 시간 원본을 갖는 것입니다. 일반적으로 이것은 GPS 수신기입니다. 이제 귀하의 컴퓨터가 정확한 시간 소스에 액세스할 수 있습니다.

외부 시간 소스가 없으면 컴퓨터의 어떤 것도 충분히 신뢰할 수 있는 것으로 간주될 수 없습니다.

이제 정확도에 크게 신경 쓰지 않고 연결에서 "재동기화"하려는 경우 ntpdate링크가 설정된 동안 실행하는 것으로 충분할 수 있습니다. 이로 인해 시계의 시간이 초과될 수 있다는 점을 유의해야 합니다.뒤로따라서 권장되지는 않지만(유닉스 시간은 단조롭게 증가함) 사용 사례에 해를 끼치지는 않을 것입니다.

답변2

GPS를 사용하는 것은 실제로 시스템 시계를 동기화하는 가장 쉬운 방법입니다. 내 인터넷 연결은 보통 좋은데 여기는 Frontier이기 때문에 매년 며칠 정도 인터넷이 끊어집니다. 인터넷에서 IP 보안 카메라 시계를 동기화했는데 이 카메라의 내부 시계가 정말 좋지 않기 때문에 좀 더 안정적인 것이 필요합니다. 그래서 GPS를 찾으러 갔습니다.

ntpd와 gpsd를 함께 구성해 보았지만 인터넷에 설명된 모든 단계에서는 더 비싼 GPS 및 커널 패치가 필요한 PPS 신호를 사용한다고 가정합니다. 나는 둘 중 하나에도 관심이 없으며 Linux 커널을 영원히 수동으로 유지 관리하고 싶지 않습니다.

반면에 저는 NTP와 GPS에 대해 알고 있고 더 배우고 싶습니다. NTP 서버는 실제로 매우 간단합니다(클라이언트가 대부분의 작업을 수행함). 나는 과거에 GPS와 NMEA를 사용해 왔습니다. 저는 저렴한 USB GPS 마우스(약 12달러)를 구입했습니다. 작업하는 데 몇 주가 걸렸지만 이제 구성이 거의 필요하지 않고 Raspberry Pi 또는 Debian PC에 쉽게 설치할 수 있는 NTP 서버가 있습니다.집 시계.

또한 기존 NTP 서버 도구가 마음에 들지 않습니다. 자체 개발한 NTP 서버 도구를 사용합니다.이케 http웹 서버 라이브러리.

전반적으로 나는 GPSD를 설정하는 방법을 알아내는 것보다 더 많은 시간을 보냈지만 웹 클라이언트에서 GPSD(및 기타 장치)를 자동으로 모니터링할 수 있는 기능이 있습니다. 이것은 내 미래의 애완 동물 프로젝트입니다. 또한 IP 카메라와의 시간 동기화에 몇 가지 문제가 있었고 NTP 클라이언트 활동을 모니터링할 수 있어서 이 문제를 해결하는 데 도움이 되었습니다(윤년의 카메라 펌웨어 버그).

모든 조언은 PPS가 없으면 GPS 동기화가 1초 이상 안정적이지 않다는 것입니다. 내 경험에 따르면 대부분 안정적이지만 일정 기간이 지나면 50~100밀리초 정도 줄어들 수 있습니다. 누가 신경쓰나요: 저는 입자물리학 실험을 하고 있는 것이 아닙니다. 1초의 정확도이면 충분합니다.

다른 Raspberry Pi의 부하가 그다지 높지 않았기 때문에 두 번째 GPS 마우스를 구입했습니다. 짜잔, 집에서 만든 NTP 서버의 중복 쌍입니다.

관련 정보