OS 기술/Linux

NTP 오류 - ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM

DongT 2023. 11. 13. 17:38
728x90
반응형

 

[증상]

서버 시간이 갑자기 안맞는게 확인되서 로그를 확인 해봤더니 아래와 같은 로그가 무수히 쏟아지고 있었다.

grep ntp /var/log/messages
ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM
ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM
ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM
ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM
ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM
...

/var/log/messages 파일의 ntpd 로그 검색

 

내용인 즉 ntpd를 이용한 시간을 체크했을때 시간이 너무 많이 차이나서 로그를 남기는 상태임.


 

원래대로라면 ntp 참조서버 시간을 따라서 알아서 맞춰지겠지만, 그렇지 않은 경우가 있다.

설정만 잘 되있다면 ntpd 서비스 재시작만으로 해결되지만, 아닐 경우는 강제로 조정해야한다.

 

[조치: ntpd서비스 재시작]

ntp 설정에서 참조하는 IP로의 iburst 옵션이 들어있으면 ntpd 서비스 재시작시 빠르게 시간을 동기화한다.

(보통은 시간을 천천히 따라잡는 방식으로 맞추기 때문에 약간의 시간이 소요된다)

vi /etc/ntp.conf
server [시간참조서버IP] iburst burst minpoll 4 maxpoll 4

/etc/ntp.conf에서 참조서버 설정

 

테스트를 위해서 시간을 강제로 수정하여 실제 시간과 틀어지게 만든다.

# 시간 변경
date mmddHHMMYYYY
# ntpd 상태 확인
ntpq -p

 

ntpd 서비스를 재시작하고 잠시 후 시간 강제로 맞춰지는것 확인.

systemctl restart ntpd

 

시간이 심하게 틀어져서 offset이 증가하면 /var/log/messages에는 시간이 너무 차이 난다는 로그가 쌓이게 된다.

이른 iburst 옵션을 이용한 ntpd 서비스 재시작으로 즉각적인 시간동기화를 하였다.

 

또다른 방법으로

[조치: offset 강제 제거]

 

이 방법은 iburst옵션과 비슷하다.

단지 iburst옵션이 적용이 안되거나, 사용하지 않을 때 offset 강제 제거로 조치를 한다. (어떤 방식을 써도 상관은 없어보인다)

관련하여 Redhat 사이트에 설명 및 해결 방안이 나와있다.

 - Redhat ntpd : https://access.redhat.com/solutions/35640

 

iburst옵션을 사용하지 않는다는 시나리오로 테스트 해봤을 때

vi /etc/ntp.conf
server [시간참조서버IP] burst minpoll 4 maxpoll 4

 

iburst 없는 ntp.conf 설정

# 시간 변경
date mmddHHMMYYYY
# ntpd 서비스 재시작
systemctl restart ntpd
# ntpd 상태 확인
ntpq -p

iburst 없는 ntpq -p의 offset

# ntpd 서비스 중지
systemctl stop ntpd
# offset 초기화
ntpd -qg
# ntpd 서비스 시작
systemctl start ntpd

ntpd offset 초기화

 

꼭 시간을 강제로 맞춘것처럼, iburst 옵션이 적용된 것 처럼 시간이 동기화 되는걸 볼 수 있다.

 

 

 


[덤.]

이런 방법이 있다는것만 인지하고 있으면 좋을 것 같다.

시간을 맞추는 방법에는 굉장히 많은 방법이 있으니, 시스템에 따라 리소스에 따라 환경에 따라 맞는 방법을 쓰면 어떨까..

(방법: crontab, chrony, ntpd, ntpdate, rdate 등)

 

 

728x90