만성 동기화

만성 동기화

나는 많은 Rhel 서버를 가지고 있으며 모든 서버가 시간에 맞춰 동기화되도록 해야 합니다. 그들은 모두 chronyd 서비스를 실행하고 있습니다.

내 질문은 명령을 통해 이를 확인할 수 있는 유틸리티가 있습니까? 이 작업을 수행할 수 있는 모듈에 대해 아는 사람이 있나요? 나는 아무것도 찾지 못했습니다.

내가 원하는 것은 엄격하고 효율적인 방법으로 모든 서버가 동시에 실행되고 있는지 확인하는 것입니다. 아마도 ntpdate와 비슷한 것이 나에게 적합할 것입니다.

미리 감사드립니다!

답변1

chrony가 명령과 동기화되는지 확인

chrony 특정 명령을 사용하여 ntp 상태를 확인할 수 있습니다. 현재 NTP 서버 사용에 대한 정보를 보고 싶다면

chronyc tracking

모든 NTP 서버를 표시하려면

chronyc sources

자세한 내용은 다음을 참조하세요. fedora - chrony가 동기화되었는지 확인

앤서블과의 결합

Ansible 모듈은 없지만 다른 방법이 있습니다.

chrony에서도 작동하는 ntpstat 유틸리티가 여전히 있어야 합니다. 반환 코드는 ntp 상태에 대한 정보를 제공합니다. 시계가 동기화된 경우 0, 동기화되지 않은 경우 1, 시계 상태가 결정되지 않은 경우 2입니다. 보다맨페이지

당신은 그것을 확인할 수 있습니다

ntpstat
echo $?

ansible 명령 모듈을 사용하여 ntpstat를 실행하는 경우 명령의 반환 코드가 0이 아니면 기본적으로 실패합니다. 따라서 이 경우 이를 유리하게 사용할 수 있습니다. ntpstat 명령을 실행하는 간단한 플레이북을 만듭니다.

- name: Check if chrony is synchronized
  command: ntpstat

원하는 호스트 그룹에 대한 플레이북을 실행합니다. 실패한 모든 호스트에는 동기화된 ntp가 없습니다.

더 나아가려면 전역 chrony 구성(chrony.conf)을 모든 호스트에 복사하고 반환 코드가 0이 아닌 경우 ansible을 사용하여 chronyd 서비스를 다시 시작할 수 있습니다.

- name: Check if chrony is synchronized
  command: ntpstat
  register: ntpstat_rc
  ignore_errors: true

- name: Copy chrony configuration
  copy:
   src: <global chrony.conf on your ansible server>
   dest: /etc/chrony.conf
   backup: yes
  when: ntpstat_rc.rc != 0

- name: Restart chrony service
  systemd:
   name: chronyd
   state: restarted
  when: ntpstat_rc.rc != 0

이게 도움이 되길 바란다.

건배

관련 정보