시간을 고정할 수 있는 Puppet 모듈을 만드는 방법은 무엇입니까? [복사]

시간을 고정할 수 있는 Puppet 모듈을 만드는 방법은 무엇입니까? [복사]

저는 NTP를 통해 시간을 수정할 수 있는 Puppet 모듈을 작성했지만 이는 NTP 오프셋이 작은 서버에서만 작동합니다.

때때로 여러 가지 이유로 인해 일부 서버에서는 10분 이상의 시간 편차가 발생합니다.

ntp 오프셋이 너무 높을 때 exec "service ntpd stop; ntpdate ntp3.domain.local; service ntpd start"를 실행하여 시간을 강제로 수정하는 Puppet 모듈을 만들고 싶습니다.

Puppet에게 이 명령을 실행하도록 지시할 수 있도록 NTP 오프셋이 너무 높은지 어떻게 확인할 수 있습니까? 아니면 더 나은 해결책이 있습니까?

답변1

service ntpd stop; ntpdate ntp3.domain.local; service ntpd start

확실히 이 문제에 대한 잘못된 해결책입니다. 이 -g옵션을 사용하십시오 ntpd:

   -g     Normally, ntpd exits with a message to the  system  log  if  the
          offset  exceeds the panic threshold, which is 1000 s by default.
          This option allows the time to  be  set  to  any  value  without
          restriction; however, this can happen only once.  If the thresh‐
          old is exceeded after that, ntpd will exit with a message to the
          system log.  This option can be used with the -q and -x options.

이것을 iburstslm이 제안한 옵션과 결합하십시오. 왜냐하면 이 옵션이 없으면 ntpd그렇게 큰 차이를 수정하는 데 오랜 시간이 걸리기 때문입니다. 일반적으로 시간 관련 응용 프로그램이 혼동되지 않도록 아주 작은 단계로만 시스템 시간을 변경하려고 시도하지만 이 iburst옵션이 이를 변경합니다.

ntpdPuppet이 패닉 이후 자동으로 다시 시작되는지 확인해야 합니다 . 맨페이지에 따르면 Puppet은 한 번 복구된 다음 여전히 죽기 때문입니다.

관련 정보