Máy chủ NTP địa phương hay công cộng?


11

Đối với một mạng tương đối lớn (hàng nghìn máy chủ) - các đối số và chống lại việc chạy (các) máy chủ NTP được quản lý cục bộ (có thể được định kỳ đặt qua một số máy chủ NTP công cộng) và có tất cả các máy chủ khác trên mạng sử dụng rằng (nhóm) máy chủ NTP so với việc tất cả các máy chủ chỉ đơn giản sử dụng máy chủ NTP công cộng trực tiếp, nói qua ntp.pool.org?

Bên cạnh những ưu và nhược điểm, thực tiễn tốt nhất điển hình hiện nay là gì?


câu hỏi bài tập về nhà? Có vẻ như một quản trị viên mạng cho một mạng có hàng ngàn máy chủ sẽ sử dụng NTP.
JamesBarnett

2
Câu hỏi không phải là nên sử dụng NTP, mà là nên đứng lên NTP của riêng bạn hay sử dụng NTP công khai.
Ian Varley

Hah, đã lâu lắm rồi tôi mới có bài tập về nhà :) Tôi không phải là quản trị viên mạng với hàng ngàn máy chủ - nhưng câu hỏi được đặt ra và tôi quan tâm đến các thực tiễn tốt nhất hiện có.
BeeOnRope

Câu trả lời:


12

Cách thực hành tốt nhất là chạy nhóm máy chủ NTP của riêng bạn được đặt để đồng bộ hóa từ các máy chủ NTP công cộng. Trong trường hợp tổ chức của bạn bị mất quyền truy cập internet, bạn sẽ không muốn đồng hồ của mình bị lệch. Hơn nữa, thật thô lỗ khi đặt hàng ngàn máy chủ thành máy chủ công cộng khi bạn có thể (và nên) vận hành máy nhân bản.

Cuối cùng, nếu bạn có một yêu cầu tính toán an toàn, thì bạn nên vận hành các máy chủ NTP độc lập của riêng mình. Bạn sẽ cần phần cứng đặc biệt để các hệ thống này hoạt động.

EDIT: Vì đã có thảo luận về nó, đây là một số phần cứng:

Bất kỳ phần cứng hỗ trợ PPS dường như hoạt động trên một ntpd hiện đại . Điều này bao gồm một số đơn vị GPS, mặc dù điều này dường như rất hiếm, ít nhất là hiếm như các đơn vị GPS nối tiếp ngày nay. Tuy nhiên, có những thiết bị phần cứng được bán rõ ràng cho chức năng này, bao gồm một sản phẩm có tên TSync-PCIe. Theo trang web của nhà sản xuất:

TSync-PCIe cung cấp một số cấu hình của gói trình đọc / trình tạo mã thời gian được đồng bộ hóa mang đến sự linh hoạt và dễ dàng tích hợp thời gian chính xác vào một ứng dụng điện toán nhúng. Chọn từ đồng bộ hóa sang IRIG (và các mã thời gian tương tự khác), GPS (máy thu bên trong hoặc bên ngoài) hoặc Giao thức thời gian chính xác (PTP / IEEE-1588v2). - Liên kết trang web: http://i564f.6o.to


1
+1 để đề cập đến đồng hồ phần cứng. Có các hướng dẫn trên mạng để kết nối một chiếc Garmin 18 LVC giá rẻ vào hộp Linux để tạo nguồn Stratum 0 của riêng bạn.
Chris S

Mặc dù tất cả các hướng dẫn đó dường như liên quan đến việc thực hiện hack phần cứng của riêng bạn để xây dựng giao diện.
Phil Hollenback

@Phil, những người tìm kiếm một nguồn GPS tầng 0 giá rẻ có lẽ sẵn sàng thực hiện một chút hack phần cứng. Nếu bạn muốn một cái gì đó dễ dàng, hãy bỏ tiền ra cho nó như mọi người khác.
Chris S

Vâng, nó chỉ có vẻ là một nhiệm vụ khá đơn giản để có được một mã thời gian từ một thiết bị gps vì vậy tôi sẽ ngây thơ cho rằng nó sẽ là một kết nối đơn giản.
Phil Hollenback

8

Ngay cả trên một mạng nhỏ tôi cũng sử dụng dịch vụ NTP cục bộ, bản thân nó cập nhật từ dịch vụ bên ngoài. Một lý do hoàn toàn mang tính lịch sử, bắt nguồn từ khi kết nối duy nhất với Internet là thông qua modem quay số. Mặt khác là nếu dịch vụ NTP sai vì bất kỳ lý do gì, tôi muốn tất cả các máy vẫn nhất quán, nhiều khả năng là trường hợp nếu tất cả đều cập nhật từ một nguồn duy nhất.


Đây là cách của nó imho. Mặc dù có thời gian 'chính xác' chắc chắn là một điều tốt, nhưng thực sự có thể quan trọng hơn đối với các thiết bị trên mạng LAN có thời gian nhất quán giữa chúng ngay cả khi nó khác với thời gian chính xác. Những thứ như xác thực Kerberos sẽ thất bại nếu thời gian không đồng bộ giữa máy chủ và máy khách và thời gian nhất quán có thể quan trọng đối với những thứ như giám sát nhật ký, hồ sơ camera quan sát (ví dụ cả camera và PVR sẽ thêm dấu thời gian), v.v.
Rob Moir

7

Thực hành tốt nhất, thiết lập 2 (hoặc nhiều hơn) máy chủ NTP tại vị trí của bạn, ngang hàng chúng. Yêu cầu họ đồng bộ hóa với ít nhất 4 (tốt nhất là tối đa 8) máy chủ bên ngoài từ 0.pool.ntp.org đến 3.pool.ntp.org. Nếu bạn sử dụng nhiều hơn 4, bạn nên điều chỉnh tần suất họ thăm dò các thành viên nhóm.

Đây là phiên bản chỉnh sửa của ntp.conf của tôi:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

Bạn có thể bỏ qua các đối số minpoll và maxpoll, tôi thêm chúng để tôi nhẹ hơn một chút trên các máy chủ đó. Các giá trị là 2 ^ n giây, trong đó n là đối số; các giá trị này cao hơn giá trị mặc định (6 & 10) vì tôi đã thăm dò 12 máy chủ khác nhau giữa ba máy chủ NTP của mình.

Nếu bạn rất quan tâm đến độ chính xác, bạn cũng có thể thêm vào như sau:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

Điều này sẽ thăm dò đồng hồ nguyên tử của hải quân. Lưu ý thời gian thăm dò ý kiến ​​cao vì chúng được tải khá nhiều và đã yêu cầu mọi người thực hiện dễ dàng trên máy chủ của họ (thực sự là cụm 3 nút).


Điều gì xảy ra với điều này nếu các máy chủ NTP bên ngoài không đồng bộ?
Warren Dew

1. Điều đó không xảy ra hoặc ít nhất là không ở quy mô quan trọng. 2. Nó phụ thuộc vào chính xác những gì "không đồng bộ" và bao nhiêu. Nếu một máy chủ bên ngoài tắt, nó sẽ không được sử dụng. Cơ hội của cả 4 bị giảm bởi một số tiền điên rồ là rất nhỏ. Nếu bạn quan tâm đến độ chính xác, hãy sử dụng cụm máy chủ USNO, độ giật thấp sẽ khiến thời gian thích hợp hơn.
Chris S

3

Như những người khác đã đề cập, đối với hàng ngàn máy chủ nội bộ, cung cấp máy chủ thời gian của riêng bạn là cách tốt nhất. Vì những lý do như (như đã đề cập khác):

  • cấu trúc: cấu hình thiết lập thời gian khi bạn chọn; với càng nhiều nguồn tầng càng tốt
  • mạnh mẽ: cấu hình hệ thống ntp để mạnh mẽ khi cần thiết; sử dụng các nguồn đồng hồ (GPS) và / hoặc nguồn NTP riêng với các tuyến khác nhau
  • lịch sự: xem xét loại cho tổ chức lưu trữ các nguồn thời gian bên ngoài; tải ít hơn cho họ
  • hiệu suất: giới hạn lưu lượng mạng NTP bên ngoài vào một vài máy chủ (vấn đề nhỏ)
  • bảo mật: giới hạn lưu lượng truy cập mạng NTP bên ngoài vào một số máy chủ cứng

Theo như thực hành tốt nhất:

Từ http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm , đây là cấu trúc được đề xuất cho các nguồn chỉ NTP.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

Thông tin bổ sung để thiết lập máy chủ NTP là từ http://www.pool.ntp.org/join/configuration.html . Ví dụ:

  • Thiết lập khoảng 5 máy chủ
  • Sử dụng ntpd tiêu chuẩn
  • Không sử dụng trình điều khiển đồng hồ ĐỊA PHƯƠNG
  • sử dụng các nguồn thời gian NTP theo địa lý / mạng gần bạn nhất và số tầng thấp

Lưu ý nhận xét sau mục đó trong Câu hỏi thường gặp rằng không mong muốn có 3 máy chủ phân tầng tùy thuộc vào một máy chủ 2 tầng. Vì vậy, thay vì theo sơ đồ trên một cách chính xác, nên có các dòng từ mỗi máy chủ 3 tầng đến mỗi máy chủ 2 tầng.
Paul Gear

1

Tôi nghĩ rằng hầu hết các mạng lớn sử dụng một nhóm nhỏ các máy chủ ntp nội bộ chuyên dụng. Lưu lượng ntp khá nhẹ nên có lẽ bạn không cần nhiều máy chủ để phục vụ một tổ chức lớn.

Như với tất cả các dịch vụ mạng, lợi thế của việc chạy các máy chủ ntp của riêng bạn là bạn có nhiều quyền kiểm soát hơn và đưa ra quyết định nhiều hơn. Ví dụ: nếu bạn mất kết nối mạng với thế giới bên ngoài, máy của bạn có thể tiếp tục nói chuyện với máy chủ ntp nội bộ của bạn và bạn không phải lo lắng về việc tất cả chúng phải kết nối lại với các máy chủ bên ngoài.

Nếu bạn có hàng ngàn máy chủ, bạn cũng nên xem xét việc chạy máy chủ thời gian dành riêng của mình, ví dụ như tắt thiết bị gps hoặc thông qua đồng hồ nguyên tử chuyên dụng . Tôi không chắc chắn chi phí bao nhiêu trong những ngày này nhưng nó không thể đắt so với hàng ngàn hệ thống bạn đang hỗ trợ .. Sau đó, bạn có một dịch vụ thời gian chính xác hoàn toàn độc lập với kết nối của bạn với thế giới bên ngoài.

Một điểm khác để xem xét là việc chạy các máy chủ ntp của riêng bạn là lịch sự hơn. Bằng cách đó, bạn chỉ có một vài máy thực hiện các yêu cầu bên ngoài trái ngược với hàng ngàn. Tôi chắc rằng quản trị viên của các máy chủ ntp có thể truy cập công khai ngoài kia sẽ đánh giá cao điều đó. Thêm vào đó, nó sẽ giảm lưu lượng mạng bên ngoài của bạn một chút (rất nhẹ) có lẽ là một điều tốt.

Ngoài ra, nếu bạn chạy các máy chủ ntp của riêng mình, bạn có thể thắt chặt tường lửa của mình một chút vì chỉ một vài máy đang kết nối với bên ngoài trên cổng 123 thay vì nhiều máy. Điều đó có thể hữu ích.

ntp rất dễ thiết lập và một khi bạn đã chạy nó, nó đòi hỏi rất ít bảo trì. Mọi công ty tôi từng tham gia đều thiết lập máy chủ ntp của riêng mình và nó hoạt động rất tốt.


0

Thực tiễn tốt nhất trong trường hợp đó là chạy máy chủ NTP của riêng bạn - hoặc một nhóm khi cần thiết - và kéo từ nhóm NTP gần bạn nhất về mặt địa lý. Điều này giúp giảm tải mà các máy chủ NTP phải đối mặt phải chịu nhưng vẫn mang lại cho bạn độ chính xác cao. Nếu bạn yêu cầu độ chính xác cao hơn nữa, bạn có thể lấy từ máy chủ Stratum 1, nhưng làm như vậy sẽ tăng tải mà nhóm phải chịu, vì vậy bạn chỉ nên làm điều này nếu bạn sẵn sàng đóng góp máy chủ cho nhóm.


0

Một lý do chính đáng để chạy (các) máy chủ NTP của riêng bạn trong một mạng lớn là đảm bảo tất cả các máy của bạn đồng ý về thời gian chính xác. Có nhiều hệ thống có cài đặt riêng cho máy chủ thời gian bên ngoài (hoặc tất cả sử dụng các thành viên pool.ntp.org khác nhau) có thể dẫn đến sự khác biệt nhỏ về thời gian trên các hệ thống có thể dẫn đến sự cố.

Một lý do tốt khác là có (các) máy chủ NTP của riêng bạn có nghĩa là thời gian được đồng bộ hóa sẽ có sẵn từ một vài máy chủ (được giám sát!) Khi liên kết bên ngoài bị hỏng hoặc bị bão hòa lưu lượng.

Tất cả ý kiến ​​của tôi như là một timegeek.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.