Linux 시스템 시계를 정확하게 유지하는 방법

10/07 2015
목차
  1. 시간 관리
  2. 시간 소스
리눅스 시스템 시계

시간을 유지하고 정확하게 유지되도록 하는 것은 컴퓨터 시스템의 일반적인 기능입니다. 이는 시스템 내부에서 발생하며 서버를 설정할 때 제공됩니다. 컴퓨터에서 시간을 지원할 수 있는 기본 인프라가 있는지 확인하는 것은 시스템 관리자의 책임입니다.

이 가이드에서는 네트워크 시간 프로토콜(NTP)이 시간을 관리할 수 있도록 하는 구성 옵션을 살펴보겠습니다. 또한 시간 소스에서 통계를 검사하는 도구를 소개하고 네트워크 도구를 사용하여 몇 가지 문제 해결 연습을 다룹니다.

아래의 블록 다이어그램을 사용하여 하드웨어 상자에 대한 논의를 시작하여 시간 소스로 이동하고 관리에 대한 보다 심층적인 세부 정보로 마무리할 것입니다. 하지만 BIOS 및 하드웨어 클럭부터 시작하겠습니다.

리눅스 시간

BIOS를 설정한 적이 있는 경우 날짜 및 시간 설정을 위한 메뉴 선택 항목이 표시됩니다. 이렇게 하면 PC 마더보드의 시계 시간이 설정됩니다.

이 시계는 상보형 금속 산화물 반도체(또는 CMOS) 시계, BIOS 시계, 마더보드 시계 또는 하드웨어 시계 그림에서와 같이 많은 이름에 답합니다.

CMOS 배터리는 보드에 AC 전원이 공급되지 않을 때 시계를 계속 작동시킵니다. 예전에는 시계와 배터리가 16핀 칩 소켓에 꽂혀 있는 CMOS 모듈에 포함되었을 수 있습니다.

하드웨어 시계는 운영 체제에서 유지 관리하는 시스템 시계의 시간 소스입니다. OS가 시작되면 시스템 클록 시드 시간은 하드웨어 클록에서 가져온 다음 OS가 대신합니다.

이 두 시계는 독립적으로 작동하고 동기화되지 않습니다. 즉, 하드웨어 시계가 잘못된 시간 기록 장치이기 때문에 재부팅하고 시스템 시간이 정확하지 않다는 것을 발견할 수 있습니다. 하드웨어 클록 시간 드리프트가 얼마나 멀리까지 문제를 일으킬 수 있는지에 대해서는 나중에 설명하겠습니다.

시간 관리

시스템 시계는 네트워크 시간 프로토콜 데몬(ntpd)을 사용하여 정확한 시간을 얻기 위해 도움을 요청할 수 있습니다. 이 데몬은 시간 확인을 위해 더 정확한 외부 시간 소스에 요청을 보내고 데몬이 제공한 데이터를 사용하여 외부 소스와 동기화된 시간을 유지하기 위해 드리프트 요소를 시스템 시계에 공급합니다.

ntpd의 한계 중 하나는 시스템 클럭과 외부 소스가 허용되는 범위를 벗어나는 정도입니다. 하드웨어 시계와 시스템 시계가 약 1K초 이상 차이가 나면 데몬은 두 시간 키퍼 중 하나가 잘못 구성되었다고 가정하고 데몬이 실패합니다.

하드웨어 클록은 시스템 클록의 시드 시간이므로 하드웨어 클록이 1K 제한 내에 있는 것이 중요해집니다. 하드웨어 시계를 보상하는 한 가지 메커니즘은 ntpdate 입니다 . 프로그램 ntpdate는 외부 시간 소스를 사용하여 정확도를 위해 시스템 시계를 일회성으로 조정합니다.

명령줄에서 ntpdate 에 시간 소스를 제공할 수 있습니다. 실행 중인 시간 서비스가 없는지 확인한 후 다음을 입력하십시오.

ntpdate 0.pool.ntp.org

일부 OS에서는 ntpd가 시작되기 전에 ntpdate가 외부 시간 소스를 사용하여 정확도를 위해 시스템 시계에 일회성 킥을 제공합니다. ntpdate 에 대한 시간 소스 URL 또는 IP 목록은 /etc/ntp/step-tickers 파일을 참조하십시오 .

ntpd가 인계되어 드리프트 보상을 제공할 때 시스템 시계가 너무 멀어 제 시간에 되돌릴 수 없는 시스템 시계에 직면하지 않습니다. 하드웨어 시계는 계속 이상하게 작동하거나 도움을 받을 수 있지만 나중에 논의하겠습니다.

시간 소스

외부 시간 소스의 세계는 정확도에 따라 번호가 매겨진 수준 또는 계층으로 나뉩니다. 시간의 기원에 가까울수록 지층 번호가 낮아집니다. 직접 연결된 소스에서 시간을 가져오는 것은 계층 0으로 간주됩니다.

해당 시간이 다른 배포 지점에 제공되고 다시 다른 지점으로 시간이 전달되는 경우 계층 번호가 최대 15까지 증가합니다.

가장 정확한 시간의 출처는 원자 시계로, 위성에 탑재되거나 지상 기반이 될 수 있습니다. 위성에는 정확한 시간을 유지하기 위해 여러 개의 원자 시계가 내장되어 있습니다. GPS(Global Positioning System)는 비행기를 수풀에서 벗어나지 않고 활주로에 놓기 위해 시간 정확도가 필요합니다.

Linux 시스템 시계를 정확하게 유지하는 방법

지상 기반 원자 시계는 수십 년 동안 통신 산업에서 시간의 원천이었습니다. 정확한 시간은 비트로 전송된 정보가 상대방에서 수신될 때 허용 가능한 비트로 디코딩될 수 있도록 하는 데 중요합니다.