11.9. 컴퓨팅 노드를 Timemaster와 동기화
이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
시간 프로토콜을 사용하여 시스템 간 일관된 타임스탬프를 유지 관리합니다.
RHOSP(Red Hat OpenStack Platform)에는 PTP(Precision Time Protocol) 및 NTP(Network Time Protocol)가 지원됩니다.
NTP를 사용하여 밀리 초 범위에서 네트워크의 클럭을 동기화할 수 있으며 PTP를 사용하여 더 높은 마이크로초 단위의 정확도에 클럭을 동기화할 수 있습니다. PTP의 사용 사례는 가상 무선 액세스 네트워크(vRAN)로, 처리량이 증가하여 더 많은 간섭의 위험을 나타내는 여러 개의 radio access network(vRAN)가 포함되어 있습니다.
Timemaster는 chronyd 또는 ntpd 와 함께 ptp4l 및 phc2sys 를 사용하여 시스템 클럭을 NTP 및 PTP 시간 소스에 동기화하는 프로그램입니다. phc2sys 및 ptp4l 프로그램은 SHM(Share Shared Memory Driver) 참조 클럭을 사용하여 PTP 시간을 chronyd 또는 ntpd 에 전송하여 시스템 시계를 동기화하는 시간 소스를 비교합니다.
RHEL(Red Hat Enterprise Linux) 커널에서 PTPv2 프로토콜의 구현은 linuxptp 입니다.
linuxptp 패키지에는 PTP 경계 클럭 및 일반 클럭 동기화를 위한 ptp4l 프로그램과 하드웨어 타임스탬프를 위한 phc2sys 프로그램이 포함되어 있습니다. PTP에 대한 자세한 내용은 Red Hat Enterprise Linux 시스템 관리자 가이드의 PTP 소개 를 참조하십시오.
chrony는 NTP 프로토콜의 구현입니다. Chrony의 두 가지 주요 구성 요소는 Chrony 데몬인 chronyd 와 Chrony 명령줄 인터페이스인 chronyc 입니다.
Chrony에 대한 자세한 내용은 Red Hat Enterprise Linux 시스템 관리자 가이드에서 Chrony 모음을 사용하여 NTP 구성 을 참조하십시오.
다음 이미지는 PTP 구성에서 패킷 이동에 대한 개요입니다.
그림 11.1. PTP 패킷 이동 개요
다음 이미지는 PTP 구성의 컴퓨팅 노드에서 패킷 이동에 대한 개요입니다.
그림 11.2. PTP 패킷 이동 세부 정보
11.9.1. Timemaster 하드웨어 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같은 하드웨어 기능이 있는지 확인합니다.
- 하드웨어 타임스탬프 기능을 사용하여 NIC를 구성했습니다.
- 멀티 캐스트 패킷을 허용하도록 스위치를 구성했습니다.
- 스위치가 경계 또는 투명한 클록으로 작동하도록 구성되었습니다.
ethtool -T <device> 명령을 사용하여 하드웨어 타임스탬프를 확인할 수 있습니다.
투명성 또는 경계 클럭 스위치를 사용하여 정확도와 대기 시간을 줄일 수 있습니다. 경계 클록에 uplink 스위치를 사용할 수 있습니다. 경계 클럭 스위치는 PTPv2 헤더에서 8비트 correctionField 를 사용하여 지연 변형을 수정하고 최종 클록에서 정확성을 높입니다. 투명한 클럭 스위치에서 최종 클록은 correctionField 가 아닌 지연 변형을 계산합니다.
11.9.2. Timemaster 구성 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드 노드에서 시간 동기화를 위한 기본 RHOSP(Red Hat OpenStack Platform) 서비스는 OS::TripleO::Services::Timesync 입니다.
알려진 제한 사항
- 가상화된 컨트롤러의 NTP를 활성화하고 베어 메탈 노드에 PTP를 활성화합니다.
-
ptp4l에 호환되는 PTP 장치가 필요하기 때문에 virtio 인터페이스는 호환되지 않습니다. -
SR-IOV가 있는 VM에 물리적 기능(PF)을 사용합니다. VF(가상 기능)는 PTP에 필요한 레지스터를 노출하지 않으며 VM은
kvm_ptp를 사용하여 시간을 계산합니다. - 여러 소스 및 여러 네트워크 경로가 있는 HA(고가용성) 인터페이스가 호환되지 않습니다.
프로세스
선택한 역할에 속하는 노드에서 Timemaster 서비스를 활성화하려면 해당 역할의
roles_data.yaml파일 섹션에서OS::TripleO::Services::Timesync가 포함된 행을OS::TripleO::Services::TimeMaster라인으로 교체합니다.#- OS::TripleO::Services::Timesync - OS::TripleO::Services::TimeMaster
#- OS::TripleO::Services::Timesync - OS::TripleO::Services::TimeMasterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용하는 compute 역할의 heat 매개변수를 구성합니다.
#Example ComputeSriovParameters: PTPInterfaces: ‘0:eno1,1:eno2’ PTPMessageTransport: ‘UDPv4’
#Example ComputeSriovParameters: PTPInterfaces: ‘0:eno1,1:eno2’ PTPMessageTransport: ‘UDPv4’Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 환경과 관련된 다른 환경 파일과 함께
openstack overcloud deploy명령에 새 환경 파일을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 을 기존 배포의 일부인 환경 파일 목록으로 바꿉니다 <existing_overcloud_environment_files>.
- <new_environment_file>을 오버클라우드 배포 프로세스에 포함할 새 환경 파일 또는 파일로 바꿉니다.
검증
ptp4linux와 함께 설치된phc_ctl명령을 사용하여 NIC 하드웨어 클록을 쿼리합니다.phc_ctl <clock_name> get phc_ctl <clock_name> cmp
# phc_ctl <clock_name> get # phc_ctl <clock_name> cmpCopy to Clipboard Copied! Toggle word wrap Toggle overflow