11.4. HW 타임스탬프링이 있는 Chrony


일부 NIC(네트워크 인터페이스 컨트롤러)의 하드웨어 타임스탬프는 들어오고 나가는 패킷의 정확한 타임스탬프를 제공합니다. NTP 타임스탬프는 일반적으로 시스템 클럭을 사용하여 커널 및 chronyd 에 의해 생성됩니다. 그러나 HW 타임스탬프ing이 활성화되면 NIC는 자체 클럭을 사용하여 패킷이 링크 계층 또는 물리적 계층을 입력하거나 나가는 경우 타임스탬프를 생성합니다. NTP 와 함께 사용하면 하드웨어 타임스탬프가 동기화의 정확도를 크게 향상시킬 수 있습니다. 최상의 정확도를 위해 NTP 서버와 NTP 클라이언트는 하드웨어 타임스탬프를 사용해야 합니다. 이상적인 조건에서는 마이크로 초의 정확도가 가능할 수 있습니다.

하드웨어 타임스탬프를 사용하는 시간 동기화를 위한 또 다른 프로토콜은 PTP 입니다.

NTP 와 달리PTP 는 네트워크 스위치 및 라우터의 지원에 의존합니다. 동기화의 최상의 정확성을 달성하려면 PTP 가 지원되는 스위치 및 라우터가 있는 네트워크에서 PTP 를 사용하고 이러한 스위치 및 라우터가 없는 네트워크에서 NTP 를 선호합니다.

11.4.1. 하드웨어 타임스탬프에 대한 지원 확인

NTP 를 사용한 하드웨어 타임스탬프를 인터페이스에서 확인하려면 ethtool -T 명령을 사용합니다. ethtoolSOF_TIMESTAMPING_TX_HARDWARESOF_TIMESTAMPING_TX_SOFTWARE 기능 및 HWTSTAMP_FILTER_ALL 필터 모드를 나열하는 경우 NTP 를 사용한 하드웨어 타임 스탬프링에 사용할 수 있습니다.

절차

  • 장치의 타임스탬프 기능 및 관련 PTP 하드웨어 클록을 표시합니다.
# ethtool -T enp1s0
Copy to Clipboard Toggle word wrap

11.4.2. 하드웨어 타임스탬프 활성화

/etc/chrony.conf 파일의 hwtimestamp 지시문을 사용하여 하나 이상의 인터페이스에서 하드웨어 타임스탬프를 활성화할 수 있습니다. 지시문은 단일 인터페이스를 지정하거나 와일드카드 문자를 사용하여 이를 지원하는 모든 인터페이스에서 하드웨어 타임스탬프를 활성화할 수 있습니다.

절차

  1. /etc/chrony.conf 파일을 편집하고 다음과 같이 변경합니다.

    1. 하드웨어 타임스탬프를 지원하는 인터페이스에 대한 hwtimestamp 설정을 추가합니다. 예를 들면 다음과 같습니다.

      hwtimestamp enp1s0
      hwtimestamp eno*
      Copy to Clipboard Toggle word wrap

      ptp4l 과 같은 다른 애플리케이션이 없는 경우 * 와일드카드를 사용할 수 있습니다.

    2. 서버 설정에 minpollmaxpoll 옵션을 추가하여 짧은 클라이언트 폴링 간격을 구성합니다. 예를 들면 다음과 같습니다.

      server ntp.example.comlocal minpoll 0 maxpoll 0
      Copy to Clipboard Toggle word wrap

      하드웨어 타임스탬프의 경우 시스템 클럭의 오프셋을 최소화하려면 기본 범위(641024초)보다 짧은 폴링 간격을 구성해야 합니다.

    3. xleave 옵션을 서버 설정에 추가하여 NTP 인터리브 모드를 활성화합니다.

      server ntp.example.comlocal minpoll 0 maxpoll 0 xleave
      Copy to Clipboard Toggle word wrap

      이 설정을 사용하면 chrony가 패킷을 보낸 후에만 하드웨어 전송 타임스탬프를 가져옵니다. 이 동작은 서버가 응답하는 패킷에 타임스탬프를 저장하지 못하도록 합니다. xleave 옵션을 사용하면 chrony가 전송 후 생성된 전송 타임스탬프를 수신할 수 있습니다.

    4. 선택 사항: 서버에 대한 클라이언트 액세스 로깅에 할당된 최대 메모리 크기를 늘립니다. 예를 들면 다음과 같습니다.

      clientloglimit 100000000
      Copy to Clipboard Toggle word wrap

      기본 서버 구성을 사용하면 몇 수천 개의 클라이언트가 인터리브 모드를 동시에 사용할 수 있습니다. clientloglimit 설정의 값을 늘리면 많은 클라이언트에 대해 서버를 구성할 수 있습니다.

  2. chronyd 서비스를 다시 시작합니다.

    # systemctrl restart chronyd
    Copy to Clipboard Toggle word wrap

검증

  1. 선택 사항: /var/log/messages 로그 파일에서 하드웨어 시간 샘플링이 활성화되었는지 확인합니다.

    chronyd[4081]: Enabled HW timestamping on enp1s0
    chronyd[4081]: Enabled HW timestamping on eno1
    Copy to Clipboard Toggle word wrap
  2. chronyd가 NTP 클라이언트 또는 피어로 구성된 경우 전송 및 수신 타임스탬프 모드 및 임시 모드를 표시합니다.

    # chronyc ntpdata
    
    Output:
    
    [literal,subs="+quotes,verbatim,normal"]
    
    
    Remote address  : 203.0.113.15 (CB00710F)
    Remote port     : 123
    Local address   : 203.0.113.74 (CB00714A)
    Leap status     : Normal
    Version         : 4
    Mode            : Server
    Stratum         : 1
    Poll interval   : 0 (1 seconds)
    Precision       : -24 (0.000000060 seconds)
    Root delay      : 0.000015 seconds
    Root dispersion : 0.000015 seconds
    Reference ID    : 47505300 (GPS)
    Reference time  : Wed May 03 13:47:45 2017
    Offset          : -0.000000134 seconds
    Peer delay      : 0.000005396 seconds
    Peer dispersion : 0.000002329 seconds
    Response time   : 0.000152073 seconds
    Jitter asymmetry: +0.00
    NTP tests       : 111 111 1111
    Interleaved     : Yes
    Authenticated   : No
    TX timestamping : Hardware
    RX timestamping : Hardware
    Total TX        : 27
    Total RX        : 27
    Total valid RX  : 27
    Copy to Clipboard Toggle word wrap
  3. NTP 측정의 안정성을 보고합니다.

    # chronyc sourcestats
    
    Output:
    
    [literal,subs="+quotes,verbatim,normal"]
    ....
    
    210 Number of sources = 1
    Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
    ntp.local                  12   7    11     +0.000      0.019     +0ns    49ns
    ....
    Copy to Clipboard Toggle word wrap

이 안정성은 Std Dev 열에 보고됩니다. 하드웨어 타임스탬프가 활성화된 경우 NTP 측정의 안정성은 일반 부하에서 수십 또는 수백 나노초이어야 합니다.

11.4.3. PTP-NTP 브리지 구성

PTP(Precision Time Protocol) 기본 timeserver를 PTP를 지원하는 스위치 또는 라우터가 없는 네트워크에서 사용할 수 있는 경우 컴퓨터는 PTP 클라이언트 및 stratum-1 NTP 서버로만 작동할 수 있습니다. 이러한 컴퓨터에는 두 개 이상의 네트워크 인터페이스가 있어야 하며 기본 시간 서버에 가 있거나 직접 연결할 수 있어야 합니다. 이렇게 하면 네트워크에서 매우 정확한 동기화가 수행됩니다.

절차

  1. linuxptp 패키지에서 ptp4lphc2sys 프로그램을 구성하여 PTP 를 사용하여 시스템 클럭을 동기화하도록 하나의 인터페이스를 사용합니다.
  1. 다른 인터페이스를 사용하여 시스템 시간을 제공하도록 chronyd 를 구성합니다.

    bindaddress 203.0.113.74
    hwtimestamp enp1s0
    local stratum 1
    Copy to Clipboard Toggle word wrap
  2. chronyd 서비스를 다시 시작합니다.

    # systemctrl restart chronyd
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat