리눅스 시스템의 시간은 정확해야 합니다. 정확한 시간은 시스템의 안정적인 운영과 보안을 위해 필수적입니다. NTP(Network Time Protocol)는 네트워크를 통해 시간 정보를 동기화하는 프로토콜입니다. NTP 서버를 사용하여 리눅스 시스템의 시간을 정확하게 유지할 수 있습니다.

리눅스 NTP 서버 시간 동기화 설정 단계

NTP 서버 시간 동기화는 다음과 같은 단계로 수행할 수 있습니다.

  1. chrony 패키지를 설치합니다.
  2. chrony.conf 파일을 편집하여 NTP 서버의 주소를 지정합니다.
  3. chronyd 서비스를 활성화하고 시작합니다.
  4. chronyc 명령을 사용하여 시간 동기화 상태를 확인합니다.
  5. timedatectl 명령을 사용하여 시스템의 시간을 확인합니다.

리눅스 NTP chrony

chrony 패키지 설치

chrony 패키지는 대부분의 리눅스 배포판의 기본 패키지 저장소에 포함되어 있습니다. 다음 명령을 사용하여 chrony 패키지를 설치할 수 있습니다.

# yum install chrony -y

chrony.conf 파일 편집

chrony.conf 파일은 chronyd 서비스의 설정을 지정하는 파일입니다. chrony.conf 파일을 편집하여 NTP 서버의 주소를 지정합니다. 다음은 NTP 서버 time.bora.net을 사용하는 예입니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
# vi /etc/chrony.conf
server time.bora.net iburst

chronyd 서비스 활성화 및 시작

chronyd 서비스는 chrony 패키지를 설치하면 자동으로 활성화되지 않습니다. 다음 명령을 사용하여 chronyd 서비스를 활성화하고 시작할 수 있습니다.

# systemctl enable chronyd
# systemctl restart chronyd

chronyc 명령으로 시간 동기화 상태 확인

chronyc 명령을 사용하여 시간 동기화 상태를 확인할 수 있습니다. 다음 명령을 사용하여 chronyd 서비스의 현재 상태를 확인할 수 있습니다.

# chronyc sources -v

chronyc sources -v 명령으로 chronyd 서비스의 현재 상태를 확인하면 다음과 같은 출력 화면을 볼 수 있습니다.

chronyc sources -v

  • time.bora.net 10.129.15.200 1 60 377 427ms 0.000ms 2023-07-20 08:35:03 +0900 -0.000000000000000000

출력 결과에서 다음과 같은 정보를 확인할 수 있습니다.

  • Source : NTP 서버의 이름 또는 IP 주소입니다.
  • Reference : NTP 서버의 기준 시계입니다.
  • Stratum : NTP 서버의 신뢰도 수준입니다.
  • Poll : NTP 서버와의 동기화 간격입니다.
  • Reach : NTP 서버에 접근할 수 있는지 여부입니다.
  • LastRx : NTP 서버로부터 시간 정보를 수신한 마지막 시간입니다.
  • LastErr : NTP 서버로부터 시간 정보를 수신하는 데 발생한 오류입니다.
  • When : NTP 서버로부터 시간 정보를 수신한 마지막 시간의 UTC 시간입니다.
  • Drift : NTP 서버와 리눅스 시스템 간의 시간 차이입니다.

출력 결과에서 Stratum은 NTP 서버의 신뢰도 수준을 나타냅니다. Root Delay는 NTP 서버와 리눅스 시스템 간의 지연 시간을 나타냅니다. Root Dispersion은 NTP 서버와 리눅스 시스템 간의 분산을 나타냅니다.

리눅스 NTP timedatectl

timedatectl 명령으로 시스템 시간 확인

timedatectl 명령을 사용하여 시스템의 시간을 확인할 수 있습니다. 다음 명령을 사용하여 시스템의 현재 시간을 확인할 수 있습니다.

# timedatectl

timedatectl 출력 결과

출력 결과에서 System Clock은 시스템의 현재 시간을 나타냅니다. NTP synchronized는 시스템 시간이 NTP 서버와 동기화되었는지 여부를 나타냅니다.

timedatectl 명령으로 시스템의 시간을 확인하면 다음과 같은 출력 화면을 볼 수 있습니다.

# timedatectl

Local time: 2023-07-20 08:35:03.000184186 +09:00
Universal time: 2023-07-20 01:35:03.000184186 UTC
RTC time: 2023-07-20 08:35:03.000184186 +09:00
Time zone: Asia/Seoul (KST)
NTP synchronized: yes
NTP peer: time.bora.net
NTP drift: 0.000000000000000000 seconds
System clock synchronized: yes
System clock error: 0.000000000 seconds
Last synchronization: 2023-07-20 08:35:03.000184186

timedatectl 출력 정보

출력 결과에서 다음과 같은 정보를 확인할 수 있습니다.

  • Local time : 리눅스 시스템의 현재 시간입니다.
  • Universal time : UTC 시간입니다.
  • RTC time : 리눅스 시스템의 RTC(Real-Time Clock) 시간입니다.
  • Time zone : 리눅스 시스템의 시간대입니다.
  • NTP synchronized : NTP 서버와 시간 동기화가 되어 있는지 여부입니다.
  • NTP peer : NTP 동기화를 수행하는 NTP 서버의 이름 또는 IP 주소입니다.
  • NTP drift : NTP 서버와 리눅스 시스템 간의 시간 차이입니다.
  • System clock synchronized : 리눅스 시스템의 시간이 NTP 서버와 동기화되어 있는지 여부입니다.
  • System clock error : NTP 서버와 리눅스 시스템 간의 시간 차이입니다.
  • Last synchronization : NTP 서버와 시간 동기화가 마지막으로 수행된 시간입니다.

추가 설정

chrony.conf 파일에서 다음 설정을 사용하여 시간 동기화 성능을 개선할 수 있습니다.

  • driftfile : chronyd 서비스가 시간 동기화를 위해 사용하는 드리프트 파일의 경로를 지정합니다.
  • maxupdateskew : NTP 서버의 시간과 리눅스 시스템 시간의 차이가 허용되는 최대 값을 지정합니다.
  • logdir : chronyd 서비스의 로그 파일이 저장되는 디렉토리의 경로를 지정합니다.

시간대 설정

chronyd 서비스는 NTP 서버에서 시간대 정보를 가져옵니다. 따라서 chronyd 서비스를 사용하면 별도의 설정 없이도 시스템의 시간대를 자동으로 설정할 수 있습니다.

그러나 시스템의 시간대를 수동으로 설정하려면 다음 명령을 사용하여 timedatectl 명령을 사용할 수 있습니다.

# timedatectl set-timezone Asia/Seoul

이 명령은 시스템의 시간대를 한국으로 설정합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤