offline 상황에서 Chrony 서버와 클라이언트를 이용한 시간 동기화 방법

2–3분

안녕하세요! 오늘은 클러스터 환경에서 인터넷이 되지 않는 상황에서도 Chrony를 이용해 시간 동기화를 설정하는 방법에 대해 알아보겠습니다. 클러스터 내 시간 동기화는 시스템의 일관성과 안정성을 유지하는 데 매우 중요합니다. 따라서, 로컬 네트워크를 통해 시간 동기화를 설정하는 방법을 소개드릴게요.

이번 환경은 ubuntu 20.04에서 진행 됩니다.

위와 같은 환경에서 설치된다라고 참고 해주세요.

Chrony 설치

먼저, 메인 서버와 클라이언트 서버 모두에 Chrony를 설치해야 합니다. 다음 명령어를 사용해 Chrony를 설치해 주세요.

$ apt install chrony




설치가 완료되면, 각 서버에서 설정 파일을 수정해줍니다.

메인 서버 설정

메인 서버에서는 /etc/chrony/chrony.conf 파일을 수정해야 합니다. 다음과 같이 설정해 주세요

local stratum 10
driftfile /var/lib/chrony/drift
allow 192.168.0.0/24 # 허용할 IP 대역 설정
makestep 1 3
logdir /var/log/chronyd
rtcsync




여기서 allow 항목은 시간 동기화를 허용할 클라이언트 서버의 IP 대역을 지정하는 부분입니다. 자신의 네트워크 환경에 맞게 설정해 주세요.

클라이언트 서버 설정

클라이언트 서버에서는 메인 서버의 IP를 지정해줘야 합니다. 클라이언트 서버의 /etc/chrony/chrony.conf 파일을 다음과 같이 설정해 주세요

server <main-server-IP> iburst  # main-server에 IP 설정
driftfile /var/lib/chrony/drift
makestep 1 3
logdir /var/log/chrony





<main-server-IP> 부분을 실제 메인 서버의 IP 주소로 변경해 주세요. 이 설정은 클라이언트 서버가 메인 서버와 시간을 동기화하도록 하는 부분입니다.

설정 적용

설정을 마쳤다면, 각 서버에서 Chrony 서비스를 재시작하여 변경 사항을 적용합니다.

$ systemctl restart chrony




그리고 Chrony 서비스가 제대로 동작하는지 확인하기 위해 상태를 체크해보세요

$ systemctl status chrony




모든 설정이 완료되면, 클라이언트 서버에서 시간을 동기화하고 있는지 확인할 수 있습니다:

$ chronyc tracking

이 명령어는 Chrony의 시간 동기화 상태를 보여줍니다. 여기서 메인 서버와의 동기화가 성공적으로 이루어졌는지 확인할 수 있습니다

설정 검증

설정이 제대로 이루어졌는지 검증하는 단계는 매우 중요합니다. 다음과 같은 절차를 통해 설정이 올바르게 되었는지 확인해 보세요.

  1. 메인 서버 상태 확인bash코드 복사$ chronyc tracking 이 명령어를 통해 메인 서버의 시간 소스와 동기화 상태를 확인합니다. 예상 출력은 메인 서버가 자체 시간 소스를 사용하고 있음을 보여야 합니다.
  2. 클라이언트 서버 상태 확인클라이언트 서버에서도 chronyc tracking 명령어를 실행하여 메인 서버와의 동기화 상태를 확인합니다. 출력 결과는 클라이언트 서버가 메인 서버와 동기화되고 있음을 나타내야 합니다.
  3. 로그 확인각 서버에서 Chrony 로그를 확인하여 동기화 과정에서 문제가 발생하지 않았는지 확인합니다.bash코드 복사$ tail -f /var/log/chrony/chronyd.log
  4. 시간 비교최종적으로, 메인 서버와 클라이언트 서버의 시간을 비교하여 동기화가 정확하게 이루어졌는지 확인합니다.bash코드 복사$ date 두 서버의 시간이 거의 동일해야 합니다. 만약 시간이 다르다면, 설정을 다시 검토하고 오류를 수정해야 합니다.

이렇게 해서 인터넷이 되지 않는 상황에서도 클러스터 내에서 시간을 동기화할 수 있는 방법을 알아보았습니다. Chrony를 이용하면 안정적이고 정확한 시간 동기화를 유지할 수 있습니다. 클러스터 환경에서 시간을 잘 맞추어 시스템의 일관성을 유지해보세요!