15.3. HW 타임스탬프링을 사용하는 Chrony


하드웨어 타임스탬프링은 수신 및 발신 패킷의 정확한 타임스탬프를 제공하는 일부 NIC(Network Interface Controller)에서 지원되는 기능입니다. NTP 타임스탬프는 일반적으로 시스템 클록을 사용하여 커널 및 chronyd 에 의해 생성됩니다. 그러나 HW 타임스탬프가 활성화되면 NIC는 자체 클록을 사용하여 패킷이 링크 계층 또는 물리적 계층을 입력하거나 종료할 때 타임스탬프를 생성합니다. NTP 와 함께 사용할 경우 하드웨어 타임스탬프를 사용하면 동기화의 정확성을 크게 향상시킬 수 있습니다. 최적의 정확성을 위해 NTP 서버와 NTP 클라이언트 모두 하드웨어 타임스탬프를 사용해야 합니다. 이상적인 상황에서 마이크로초 미만의 정확성이 가능할 수 있습니다.

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

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

다음 섹션에서는 다음을 수행하는 방법을 설명합니다.

  • 하드웨어 타임스탬프 지원 확인
  • 하드웨어 타임스탬프 활성화
  • 클라이언트 폴링 간격 구성
  • 인터리브드 모드 활성화
  • 많은 수의 클라이언트를 위해 서버 구성
  • 하드웨어 타임스탬프 확인
  • PTP-NTP 브리지 구성

15.3.1. 하드웨어 타임스탬프 지원 확인

인터페이스에서 NTP 를 사용한 하드웨어 타임스탬프를 지원하는지 확인하려면 ethtool -T 명령을 사용합니다. ethtool 이 SOF_TIMESTAMPING_TX_ HARDWARE 및 SOF_TIMESTAMPING_TX_QUAWARE 기능과 HWTSTAMPMP_FILTER_ ALL 필터 모드를 나열하는 경우 인터페이스를 NTP 로 하드웨어 타임스탬프에 사용할 수 있습니다.

예 15.2. 특정 인터페이스에서 하드웨어 타임스탬프 지원 확인

# ethtool -T eth0

출력:

Timestamping parameters for eth0:
Capabilities:
        hardware-transmit     (SOF_TIMESTAMPING_TX_HARDWARE)
        software-transmit     (SOF_TIMESTAMPING_TX_SOFTWARE)
        hardware-receive      (SOF_TIMESTAMPING_RX_HARDWARE)
        software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)
        software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
        hardware-raw-clock    (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
        off                   (HWTSTAMP_TX_OFF)
        on                    (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
        none                  (HWTSTAMP_FILTER_NONE)
        all                   (HWTSTAMP_FILTER_ALL)
        ptpv1-l4-sync         (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)
        ptpv1-l4-delay-req    (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)
        ptpv2-l4-sync         (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)
        ptpv2-l4-delay-req    (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)
        ptpv2-l2-sync         (HWTSTAMP_FILTER_PTP_V2_L2_SYNC)
        ptpv2-l2-delay-req    (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ)
        ptpv2-event           (HWTSTAMP_FILTER_PTP_V2_EVENT)
        ptpv2-sync            (HWTSTAMP_FILTER_PTP_V2_SYNC)
        ptpv2-delay-req       (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ)

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

하드웨어 타임스탬프를 활성화하려면 /etc/chrony.conf 파일에서 hwtimestamp 지시문을 사용합니다. 지시문은 단일 인터페이스를 지정하거나 와일드카드 문자를 사용하여 이를 지원하는 모든 인터페이스에서 하드웨어 타임스탬프를 활성화할 수 있습니다. linuxptp 패키지의 ptp4l 과 같은 다른 애플리케이션이 인터페이스에서 하드웨어 타임스탬프를 사용하는 경우 와일드카드 사양을 사용합니다. chrony 구성 파일에는 여러 hwtimestamp 지시문이 허용됩니다.

예 15.3. hwtimestamp 지시문을 사용하여 하드웨어 타임스탬프 활성화

hwtimestamp eth0
hwtimestamp eth1
hwtimestamp *

15.3.3. 클라이언트 폴링 간격 구성

인터넷의 서버에는 폴링 간격의 기본 범위(64-1024초)가 권장됩니다. 로컬 서버 및 하드웨어 타임스탬프의 경우 시스템 클럭의 오프셋을 최소화하기 위해 더 짧은 폴링 간격을 구성해야 합니다.

/etc/chrony.conf 의 다음 지시문은 1초 폴링 간격을 사용하여 로컬 NTP 서버를 지정합니다.

server ntp.local minpoll 0 maxpoll 0

15.3.4. 인터리브드 모드 활성화

하드웨어 NTP 어플라이언스가 아니라 소프트웨어 NTP 구현을 실행하는 범용 컴퓨터(예: chrony )는 패킷을 보낸 후에만 하드웨어 전송 타임스탬프를 가져옵니다. 이렇게 하면 서버가 해당 패킷의 타임스탬프를 저장하는 것을 방지할 수 있습니다. 전송 후 생성된 전송 타임스탬프를 수신하는 NTP 클라이언트를 활성화하려면 /etc/chrony.conf의 server 지시문에 xleave 옵션을 추가하여 클라이언트가 NTP 인터리브 모드를 사용하도록 구성합니다.

server ntp.local minpoll 0 maxpoll 0 xleave

15.3.5. 다수의 클라이언트에 대해 서버 구성

기본 서버 구성을 사용하면 대부분의 수천 개의 클라이언트가 인터리브드 모드를 동시에 사용할 수 있습니다. 다수의 클라이언트에 대해 서버를 구성하려면 /etc/chrony.conf 에서 clientloglimit 지시문을 늘립니다. 이 지시문은 서버에서 클라이언트 액세스 권한을 로깅하기 위해 할당된 최대 메모리 크기를 지정합니다.

clientloglimit 100000000

15.3.6. 하드웨어 타임스탬프 확인

인터페이스가 하드웨어 타임스탬프를 성공적으로 활성화했는지 확인하려면 시스템 로그를 확인합니다. 로그에는 하드웨어 타임스탬프가 성공적으로 활성화된 각 인터페이스에 대해 chronyd 의 메시지가 포함되어야 합니다.

예 15.4. 하드웨어 타임스탬프가 활성화된 인터페이스에 대한 로그 메시지

chronyd[4081]: Enabled HW timestamping on eth0
chronyd[4081]: Enabled HW timestamping on eth1

chronydNTP 클라이언트 또는 피어로 구성되면 chronyc ntpdata 명령으로 각 NTP 소스에 대해 보고된 전송 및 수신 타임스탬프 모드와 인터리브드 모드가 있을 수 있습니다.

예 15.5. 각 NTP 소스에 대해 전송 보고, 수신 타임스탬프링 및 인터리브드 모드

# chronyc ntpdata

출력:

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

예 15.6. NTP 측정의 안정성 보고

# chronyc sourcestats

하드웨어 타임스탬프를 활성화하면 NTP 측정의 안정성이 정상 부하에서 수십 또는 수백 나노초 내에 있어야 합니다. 이 안정성은 chronyc sourcestats 명령의 출력의 Std Dev 열에 보고됩니다.

출력:

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

15.3.7. PTP-NTP 브리지 구성

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

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

다른 인터페이스를 사용하여 시스템 시간을 제공하도록 chronyd 를 구성합니다.

예 15.7. 다른 인터페이스를 사용하여 시스템 시간을 제공하도록 chronyd 구성

bindaddress 203.0.113.74
hwtimestamp eth1
local stratum 1
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.