Các giới hạn của việc chạy các máy chủ NTP trong các máy ảo là gì?


15

Tôi muốn thiết lập một số máy chủ thời gian Stratum 2 trên mạng cục bộ của mình. Máy ảo chắc chắn sẽ là một cách rẻ hơn để làm điều này hơn là mua ba máy chủ 1U. Những hạn chế sẽ làm như vậy áp đặt? Đó là, mức độ chính xác sẽ bị ảnh hưởng xấu?

Ngoài ra, bản năng của tôi là các máy chủ thời gian cục bộ này phải nằm trên các máy vật lý khác nhau để giảm thiểu mọi bất thường về phần cứng. Liệu trực giác này có đúng không?

Chỉnh sửa Tôi nên nói rằng bằng "máy ảo" Tôi không có nghĩa cụ thểVMware . Thay vào đó, tôi có nghĩa là khái niệm chung về các trường hợp ảo hóa.

Câu trả lời:


19

Một thực tế đơn giản là độ chính xác của đồng hồ trong VM vẫn còn rất tệ. Điều này xuất phát từ một vài điểm, nhưng điều giết người là thời gian trôi không đổi; yếu tố trôi thay đổi từ khoảnh khắc này sang khoảnh khắc khác. NTP là một giao thức có bù đồng hồ được xây dựng bên trong nó, nhưng nó được thiết kế với hệ số trôi tĩnh được tích hợp. Ví dụ, nếu một máy vật lý mất 12 giây cứ sau 30 ngày, NTP có thể bù cho điều đó và làm rất tốt. Nhưng nếu máy đó có thể mất bất cứ nơi nào từ 4 đến 70 giây cứ sau 30 ngày, NTP sẽ không tốt trong việc theo dõi mức độ thay đổi đó.

Điều khiến NTP thực sự khó theo kịp trong môi trường VM là đồng hồ cục bộ mà nó nhìn thấy có thể thay đổi hệ số trôi của nó trong vòng một phút. Tùy thuộc vào tần suất mà nó đang kiểm tra các nguồn thời gian gốc của nó, nó có thể gây ra những thay đổi lớn về yếu tố trôi dạt và khiến nó không đồng bộ thường xuyên hơn. Dòng thời gian không đồng bộ trong toàn bộ tổ chức của bạn.

NTP cho mạng cục bộ là một giao thức tác động tương đối thấp với dung lượng bộ nhớ rất nhỏ và có thể vui vẻ cõng trên các máy chủ cơ sở hạ tầng mạng khác như máy chủ DNS và DHCP của bạn. Một số bộ định tuyến cũng có thể cung cấp chức năng NTP, vì vậy bạn có thể muốn xem xét điều đó.

Lý tưởng nhất là bạn muốn hai máy chủ riêng biệt ở các vị trí riêng biệt, mỗi máy chủ đồng bộ với một nhóm máy chủ phân tầng cao hơn khác nhau. Nó cũng là một ý tưởng rất hay của cả hai máy chủ thời gian được cấu hình để sử dụng máy chủ khác như một 'máy ngang hàng', điều này sẽ giảm thiểu tác động đến dịch vụ thời gian khi một trong những nguồn thời gian ngược dòng bị trục trặc; sẽ có một sự thay đổi địa tầng nhưng ít nhất nó sẽ không báo cáo không đồng bộ. Và cuối cùng, hãy đối xử tốt với các nhà cung cấp thời gian ngược dòng của bạn và định cấu hình máy chủ của bạn để thực hiện một thời gian rất dài giữa các cuộc thăm dò một khi thời gian được thiết lập tốt. Đây là tham số 'maxpoll' trên dòng 'máy chủ' và có sức mạnh hai giây trong các lần thử đồng bộ hóa.

Nếu bạn hoàn toàn phải sử dụng máy ảo cho việc này, tôi sẽ thiết lập không dưới ba máy chủ NTP như vậy. Mỗi trong số chúng cần phải ở trên một máy chủ khác nhau và nếu có thể trong một trung tâm dữ liệu khác nhau. Như với những gì tôi vừa đề xuất, họ cần các nguồn thời gian khác nhau và nên ngang hàng với nhau. Sau đó định cấu hình tất cả các máy khách NTP của bạn để sử dụng cả ba làm nguồn gốc. Đảm bảo giá trị maxpoll của bạn đủ thấp để không bao giờ vượt quá một giờ rưỡi giữa các gói đồng bộ hóa ngoài mạng và 30 phút trên mạng. Rất có thể ít nhất một trong ba sẽ đồng bộ hóa tại bất kỳ thời điểm nào. Đối với các khách hàng chỉ có thể nói chuyện với một máy chủ lưu trữ thời gian, họ sẽ chỉ phải đưa ra sự kiện không đồng bộ thường xuyên. Nhìn chung, chất lượng thời gian trong kịch bản này sẽ không chính xác như với các máy chủ vật lý.

Nếu tôi phải đến công viên bóng, tôi sẽ nói rằng thời gian đồng thuận của bạn trong môi trường VM thuần có lẽ sẽ ở trong, ồ, 30 đến 100ms là đúng. Trong một môi trường hoàn toàn là vật lý, thời gian đồng thuận của bạn có thể sẽ trong vòng 10ms một khi các máy chủ thời gian đã đủ dài để có thời gian giải quyết.


1
Tôi khá chắc chắn rằng tôi muốn ít nhất ba , không chỉ hai máy chủ NTP cục bộ. Làm thế nào một khách hàng định hướng giữa chỉ hai?
James A. Rosen

Bạn cần tối thiểu bốn cho một số lý do phức tạp. Điều đó nói rằng, chúng tôi chỉ có hai máy chủ nội bộ được đồng bộ hóa với một nửa tá máy chủ bên ngoài (và đồng hồ cục bộ của chúng là bản sao lưu). Hoạt động đủ tốt cho chúng tôi.
James

James A Rosen - Đó là niềm vui của cấu hình nhóm ngang hàng. Miễn là ít nhất một thành viên của nhóm ngang hàng có kết nối bên ngoài và không đồng bộ, toàn bộ nhóm ngang hàng không đồng bộ. Khách hàng có thể làm giảm địa tầng, nhưng ít nhất họ không mất đồng bộ. Có ba trong nhóm ngang hàng? Không vấn đề gì.
sysadmin1138

1
Về số lượng máy chủ bạn cần, tất cả đều có ở đây: support.ntp.org . Nếu bạn liệt kê chỉ một, không thể có câu hỏi nào được coi là "đúng" hay "sai". [...] Với hai người, không thể biết cái nào tốt hơn [...]. Đây thực sự là cấu hình tồi tệ nhất có thể [...]. Với ba máy chủ, bạn có số lượng nguồn thời gian tối thiểu [...] Cấu hình này không cung cấp dự phòng. Với ít nhất bốn máy chủ ngược dòng, [...] ntpd sẽ có đủ số lượng nguồn để lựa chọn.
Mathieu

11

Xem tài liệu chấm công vmware . Chạy một daemon NTP trong VM có lẽ không phải là một ý tưởng hay, đặc biệt nếu bạn cần thời gian đáng tin cậy.


2
Haha - "đặc biệt nếu bạn cần thời gian đáng tin cậy"
squillman

1
Tôi không thể đồng ý với bạn nhiều hơn, thực tế tôi không thể nghĩ về một máy chủ duy nhất không phù hợp để chạy trong VM :)
Chopper3

6

Thật không may, ntp và ảo hóa không đi cùng nhau. hầu hết các máy khách đều ổn, tuy nhiên máy chủ ntp (đặc biệt là str2 trở lên) thường không hoạt động đáng tin cậy trên máy chủ ảo.

Tôi đang bình luận từ quan điểm doanh nghiệp xen và xen, nhưng tôi tin rằng vmware / kvm sẽ giống nhau.

Là các máy chủ khác nhau, vâng, bạn đúng, lý tưởng là chúng cũng phải ở các môi trường khác nhau, để nhiệt độ / độ ẩm không ảnh hưởng đến độ chính xác, nhưng ít nhất tôi không bận tâm đến điều đó. cũng đừng quên rằng bất cứ điều gì bạn làm nó vẫn không chính xác như đồng hồ nguyên tử thích hợp, vì vậy chỉ cần chấp nhận độ lệch (rất nhẹ) này.


1

Chạy NTP trong môi trường ảo hóa, bạn sẽ may mắn đạt được độ chính xác 20ms (đó là những gì chúng tôi đã thực hiện khi sử dụng VMware). Độ lệch của đồng hồ ảo là xấu, đặc biệt là trong môi trường ảo hóa với sự tranh chấp tài nguyên.

Nó phụ thuộc vào mức độ chính xác mà bạn cần phải có. Nếu bạn chỉ quan tâm đến thứ hai (EG cho máy chủ web), bạn có thể sẽ ổn, miễn là bạn không có sự tranh chấp tài nguyên. Nếu bạn muốn độ chính xác đến mili giây (như cơ sở dữ liệu bận rộn, máy chủ đăng nhập, dự án nghiên cứu) thì hãy quên máy chủ thời gian ảo hóa.

Máy chủ NTP phải luôn ở trên máy chủ vật lý. Bạn nên có ít nhất 3 người trong số họ nhìn trộm trong một nhóm (để một máy chủ lừa đảo được bỏ phiếu bởi nhóm này); và nếu có thể, hãy lấy thời gian của họ từ GPS hoặc nguồn cấp 0 cục bộ khác thay vì qua Internet.

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.