공용 NTP 서버를 실행할 때 고려해야 할 사항


21

그래서 최근에 네트워크에 3 개의 GPS 시계가 있기 때문에 기술적으로 약간만 돌려주고 세계 다른 지역에 시간을 보낼 수 있다는 생각이 들었습니다. 지금까지 나는이 아이디어의 단점을 전혀 보지 못했지만 다음과 같은 질문이 있습니다.

  1. 이것을 가상화 할 수 있습니까? 나는 이것을 위해 하드웨어를 세우는 데 돈과 시간을 소비하지 않을 것이므로 가상화는 필수입니다. 서버가 세 개의 계층 1 소스에 액세스 할 수 있으므로 ntpd 구성이 올 바르면 이것이 어떻게 문제가 될 수 있는지 알 수 없습니다

  2. 공용 NTP 서버 (pool.ntp.org의 일부)에는 일반적으로 어떤 트래픽이 표시됩니까? 그리고 이것을 위해 얼마나 큰 VM이 필요합니까? ntpd는 내가 수집 할 수있는 한 리소스를 너무 많이 사용해서는 안되지만 미리 알고 싶습니다.

  3. 어떤 보안 측면이 있습니까? DMZ의 두 VM에 ntpd를 설치하고 FW를 통해 ntp 만 허용하고 DMZ에서 내부 ntp 서버로 ntp 만 허용한다고 생각합니다. NTP 풀 페이지에 따라 권장되는 일부 ntp 설정이있는 것 같지만 충분합니까? https://www.ntppool.org/join/configuration.html

  4. LOCAL 클럭 드라이버를 구성하지 않는 것이 좋습니다. 이는 구성 파일에서 LOCAL 시간 소스 구성을 제거하는 것과 동일합니까?

  5. 다른 고려 사항이 있습니까?

답변:


22

첫째, 당신에게 좋습니다. 도움이되고 공개적으로하는 일입니다. 즉, 세 개의 Meinberg GPS 지원 stratum-1 (내부) 서버에서 시간을 동기화하고 공개적으로 사용할 수있는 하나 이상의 DMZ VM을 만들 계획임을 명확히했습니다.

  1. 편집 : 때때로 풀 목록 에 대한 토론을 위해 가상화가 나타납니다 . 최근 한 건은 2015 년 7 월에 있었으며이 이메일 에서 시작할 수 있습니다 . 프로젝트 책임자 인 비요른 한센 (Bjørn Hansen)에게 스레드에 게시했으며 가상화에 대해서는 언급하지 않았다. 분명히 많은 풀 서버 운영자가 현재 가상화하고 있으므로 아무도 당신을 쏘지 않을 것이라고 생각하지 않으며, 한 포스터가 명확하게 알 수 있듯이 서버가 신뢰할 수없는 경우 풀 모니터링 시스템은 단순히 풀. KVM이 선호하는 가상화 기술인 것 같습니다. VMWare를 사용하는 사람은 없었으므로 가상화가 얼마나 "정직한 지"에 대해서는 언급 할 수 없습니다. 아마도 주제에 대한 가장 좋은 요약

    내 풀 서버는 고유 한 KVM 호스트에서 KVM으로 가상화됩니다. 모니터링에 따르면 서버는 매우 정확하며 지난 2-3 년 동안 안정적인 시간을 제공합니다. 그러나 다른 공급자의 임대 가상 서버에는 풀 서버를 설정하지 않습니다.

  2. 이것은 지난해 내 풀 서버 (영국, 유럽 및 글로벌 영역에 있음)에서 볼 수있는 초당 평균 개별 클라이언트 수입니다.

    ntp 클라이언트 수

    이것은 거의 감지 할 수없는 시스템로드를 부과합니다 ( ntpd대부분의 경우 CPU의 1 %에서 2 % 사이에서 사용하는 것으로 보입니다). 연중 어느 시점에서로드는 초당 거의 천 명의 클라이언트에서 잠시 최고점을 기록했습니다 (최대 : 849.27). 나는 과도한 부하를 모니터링하고 경보가 모두 꺼지지는 않았으므로 잠시라도 부하 수준이 문제를 일으키지 않았다는 것을 알 수 있습니다.

  3. 프로젝트 권장 구성은 모범 사례이며 나에게 적합합니다. 또한 iptables롤링 10 초 창에서 클라이언트를 2 개의 인바운드 패킷으로 제한 하는 데 사용 합니다 ( 무례한 클라이언트가 몇 명이나 있는지, 놀랍게도 자신의 시계를 빠르게 설정하려면 자유롭게 터져야한다고 생각합니다).

  4. 또는로 시작하는 서버 주소를 나타내는 줄을 모두 제거하십시오 127.127.

  5. 모범 사례 지침에서는 3 개 이상의 시계를 권장하므로 3 대의 계층 1 서버 외에 다른 공용 서버 나 특정 풀 서버를 선택하는 것이 좋습니다.

    또한이 두 VM을 동일한 호스트 하드웨어에 배치하려는 경우 하나만 실행해야하지만 풀에 선언 된 대역폭을 두 배로 늘려야합니다 (즉, 다른 방법으로 두 배의 쿼리를 수락 함). ).


1
많은 리눅스 배포판 iburst이 기본적으로 설정 되어 있습니다.
Michael Hampton

4
iburst서버에 연결할 수 없는 경우에만 적용되므로 크게 신경 쓰지 않습니다 . burst그러나을 설정하는 것은 완전히 반 사회적입니다.
MadHatter는 Monica

1
고마워 친구, 정확히 내가 알고 싶은 것! 명확히하기 위해, 나는 이것들 하에서 VMware를 실행하고 있으며 분산 클러스터입니다. 내 내부 시계는 Meinberg 어플라이언스이며 NTP를 순진하게 말합니다. 로드는 상당히 합리적이며 내 내부 시계는 그 두 배 정도 보입니다 (그러나 다시 장치가 있기 때문에 원하는대로 반 사회적이 될 수 있습니다).
Stuggi

@Stuggi 풀 운영자 목록을 검색하여 가상화 질문을 명확히하려고 노력했지만 도움이 되길 바랍니다. 모든 질문을 다룬다 고 생각되면 내 대답을 자유롭게 수락하십시오! 풀 서버를 실행 해 주셔서 다시 한 번 감사드립니다.
MadHatter는 Monica November

1
@MadHatter 건배 친구, 일부 정리했습니다. 이전에 VMware에서 많은 시간 문제를 처리해야했으며 이러한 문제를 해결하는 방법을 알고 있었지만 모든 것을 조정 한 후에도 VM이 NTP의 시간 관리에 여전히 너무 나쁠 것이라고 걱정했습니다. VMware는 베어 메탈 하이퍼 바이저 (일명 하이퍼 바이저는 OS)이며 KVM (정확히 기억하는 경우)은 "정상"OS에서 실행되므로 VMware에서 실행하는 것이 좋습니다. 나는 그것을 시도하고 내가 수영장에서 던져 지는지 볼 것이다! :)
Stuggi

12

먼저, 얼굴이 아닌 물질 인 NTP 질문을 축하합니다. :-) 나는이 글의 맨 아래에 몇 가지 그래프를 포함 시켰습니다. 해당 VM은 풀 제어판에서 100Mbps로 설정되어 있으며 영국, 유럽 및 글로벌 풀에 있습니다.

  1. MadHatter가이 부분을 잘 다루었다고 생각합니다. 가상화는 괜찮을 것입니다. 당신이 말했듯이, GPS로 연결된 층 1에서 먹이를 먹는다면, 그것들은 상당히 견고해야합니다. 필자의 경험에 따르면 VM은 주파수 측면에서 베어 메탈보다 약간 까다로운 경향이 있지만 (아래 그래프 참조) 기대하는 것입니다. 클록 에뮬레이션 계층 (희망적으로 매우 효율적)을 처리하고 잠재적으로 시끄러운 부분입니다. 이웃. 그런 종류의 점핑이 보이지 않는다면 오래된 서버 또는 사용하지 않는 데스크탑을 DMZ 스트라타 2로 대신 사용하십시오.

  2. 이 VM은 Ubuntu 16.04 LTS를 실행하는 Open Core (KVM 하이퍼 바이저)에서 가상화 된 1 코어, 2GB RAM입니다. 보다시피, RAM은 약간 위에 있습니다.

  3. 로컬 드라이버를 구성하지 않은 것을 포함한 권장 설정은 Ubuntu 16.04의 기본값입니다. 피어 목록 이외의 스톡 구성에 매우 가깝게 실행 중입니다.

  4. (위 참조)

  5. 아마도 낮은 쪽에서 대역폭을 시작하고 약간 모니터링 한 후에 대역폭을 증가시킵니다. VM이 네트워크 대기 시간 측면에서 서로 인접하고 계층 1 근처에 있으면 모든 VM이 모든 계층 1과 통신하고 아마도 서로 피어링하고 고아 모드를 켤 것입니다.

그래프는 다음과 같습니다. 백업으로 인해 두 번 급증한 네트워크를 제외하고 모두 약 3 주 동안 동일한 기간을 커버합니다. 네트워크 스파이크가 발생했을 때 정상적인 NTP 트래픽도 볼 수 없었기 때문에 일반적인 배경을 보여주기 위해 조금 확대했습니다.

CPU CPU 메모리 기억 네트워크 회로망 주파수 회수 시스템 오프셋시스템 오프셋


Ooooh, 좋은 답변-나에게서 +1!
MadHatter는

1
고마워 친구, 정말 도움이되는 것은 VM 인프라에서 50 마일 이내에 지리적으로 분산되어있는 VM과 물리적 NTP 어플라이언스간에 3ms 미만의 대기 시간을 실행하고 있기 때문에 괜찮을 것입니다.
Stuggi

3

NTP에서 고려해야 할 사항

이미 좋은 답변이 있습니다. 나는 내 자신의 경험을 바탕으로 완전성을 위해 몇 가지 생각을 추가하고 있습니다.

NTP 로깅 및 그래프 클럭 스큐 및 베어 메탈 대 VM의 수정이 문제가 될 경우 해당 논의와 관련이 있으므로 활성화하는 것이 좋습니다. 하드웨어와 구성이 구현마다 다르기 때문에 이것을 쉽게 일반화 할 수 있다고 믿지 않습니다. 그 번호로 자신의 번호를 얻는 것이 가장 좋습니다.

필자는 항상 CPU 시간이 상당히 일정하고 틱리스 커널이 아니거나 절전 모드가 활성화 된 서버 또는 네트워크 장치의 시스템 역할을 선택하도록 제안했습니다. 특히 팜의 계층 2에 불과하더라도 NTP 서버의 데몬 회선 CPU 속도 또는 속도 조정기 또는 고급 절전 기능을 사용하지 마십시오. C-State 1보다 더 깊이 들어 가지 않으면 일부 안정성을 얻을 수 있지만 전력 소비는 증가합니다.

또한 사람들이 네트워크 가장자리에서 40ms 미만인 소수의 계층 1 서버를 선택한 다음이를 에지 NTP 서버 로 나누고 네트워크에서 동일한 SNAT 뒤에있는 2 개의 서버 가 대화 하지 않도록합니다. 동일한 계층 1 서버로. 같은 줄을 따라burst 따라 동일한 업스트림 서버를 사용하여 동일한 SNAT 뒤에 여러 서버가있는 것은 현명하지 않습니다. 그렇지 않은 경우에도 버스트를 활성화 한 서버에 표시됩니다.

항상 kod업스트림 서버 의 패킷을 존중해야 하며 업스트림 서버의 도달 시간 및 도달 가능성을 확인하는 모니터링 도구가 있어야합니다.

당신은 할 수 와 피어에 데이터 센터의 몇에서 자신의 정확한 시간 원본을 고려해 또는 GPS SA가 군대에 의해 활성화되는 드문 경우에 후퇴하고 싶다. 이를 위해 특별히 비용 효율적인 기기가 있습니다. "케이지"환경에 있고 자체 데이터 센터가없는 경우에도 일부 호스팅 시설에서이를 수용 할 수 있습니다.


Stuggi는 이미 해당 네트워크에 3 개의 GPS 시계가 있다고 언급했습니다.
Paul Gear

예. GPS를 사용할 수없는 경우에도 표류하지 않는 로컬 세슘 시계 사용에 대해 구체적으로 이야기하고 있습니다. 그것은 대규모 군사 행사 중에 만 발생해야하지만 결코 알 수 없습니다.
Aaron

2

http://www.vmware.com/pdf/vmware_timekeeping.pdf 에서 vmware 타임 키핑 문서를 참조하십시오.

특히 안정적인 시간이 필요한 경우 VM에서 NTP 데몬을 실행하는 것은 좋지 않습니다.


3
정확한 답변은 아니지만 "TL; DR : 예, 가상화와 관련하여 처리해야 할 문제가 있습니다"라는 유효한 우려가 제기됩니다.
rackandboneman

처리해야 할 문제를 알고 있으며 가능한 경우 더 많이 생각하고 있습니다.
Stuggi 2016

1
Re : "특히 안정적인 시간이 필요한 경우 VM에서 NTP 데몬을 실행하는 것은 좋지 않습니다." -현대 하이퍼 바이저에게는 이것이 사실이라고 생각하지 않습니다. 특별히 링크 된 문서에는 VM에서 NTP를 사용하는 것이 옵션이라고 명시되어 있습니다. 내 응답에 포함 된 그래프는 VM이 ​​KVM에서 좋은 시간을 유지할 수 있음을 보여 주며 새로운 ESXi 시스템도 동일하게 작동 할 것으로 기대합니다.
Paul Gear

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.