Які межі роботи серверів NTP у віртуальних машинах?


15

Я хочу встановити кілька серверів часу Stratum 2 у моїй локальній мережі. Віртуальні машини, безумовно, були б дешевшим способом зробити це, ніж купувати три 1U-сервери. Які обмеження накладають це? Тобто, наскільки точність буде негативно впливати?

Крім того, мій інстинкт полягає в тому, що ці локальні сервери часу повинні знаходитися на різних фізичних машинах, щоб усунути будь-які апаратні порушення. Чи правильна ця інтуїція?

Редагувати Я повинен сказати , що з допомогою «віртуальних машин» Я не конкретно маю в виду VMware . Швидше, я мав на увазі загальну концепцію віртуалізованих екземплярів.

Відповіді:


19

Простий факт полягає в тому, що точність тактової частоти всередині VM все ще дуже погана. Це походить з кількох плям, але вбивча річ у тому, що відплив часу не є постійним; коефіцієнт дрейфу змінюється від моменту до моменту. NTP - це протокол, в якому вбудована компенсація годинника, але він був розроблений за допомогою вбудованого статичного коефіцієнта дрейфу. Наприклад, якщо фізична машина втрачає 12 секунд кожні 30 днів, NTP може компенсувати це і робить це дуже добре. Але якщо ця машина може втрачати десь від 4 до 70 секунд кожні 30 днів, NTP не так добре відслідковує цей рівень змін.

Те, що робить НТП справді важким для того, щоб не відставати у середовищі ВМ, - це те, що локальний годинник, який він бачить, може змінювати свій коефіцієнт дрейфу протягом хвилини. Залежно від частоти перевірки батьківських джерел часу, це може спричинити значні зміни коефіцієнта дрейфу та призвести до виходу із синхронізації набагато частіше. Каскади часу поза синхронізацією у всій організації.

NTP для локальної мережі - це порівняно низький протокол впливу з дуже невеликим слідом пам’яті, і він може радісно реагувати на інші ваші сервери мережевої інфраструктури, як ваші DNS та DHCP-сервери. Деякі маршрутизатори також можуть забезпечувати функціональність NTP, тому ви можете розглянути це.

В ідеалі вам потрібно два окремих сервери в окремих місцях, кожен з яких синхронізується з різним набором серверів вищого шару. Було б також дуже хорошою ідеєю, щоб обидва сервери часу були налаштовані використовувати інший сервер як "одноранговий", що дозволить мінімізувати вплив на службу часу, якщо один з джерел часу за течією піде не так; відбудеться зміна прошарку, але принаймні воно не повідомить про несинхронізацію. І нарешті, будьте приємні своїм постачальникам часу за течією та налаштуйте ваші сервери дуже довго, коли час буде встановлений. Це параметр "maxpoll" у рядку "server" і потужність двох секунд між спробами синхронізації.

Якби вам абсолютно довелося використовувати для цього VM, я створив би не менше трьох таких серверів NTP. Кожен із них повинен знаходитись на іншому хості та, якщо можливо, в іншому центрі обробки даних. Як і в тому, що я щойно запропонував, їм потрібні різні джерела часу і повинні вглядатися один у одного. Потім налаштуйте всіх своїх NTP-клієнтів для використання всіх трьох як батьківських джерел. Переконайтесь, що ваші максимальні значення низькі, щоб ніколи не переходити більше півтори години між пакетами синхронізації поза мережею та 30 хвилин у мережі. Швидше за все, щонайменше одна з трьох буде синхронізована в будь-який момент часу. Для клієнтів, які можуть спілкуватися лише з одним хостом, їм доведеться просто миритися з випадковими подіями поза синхронізацією. Загалом, якість у цьому сценарії не буде такою точною, як це було б на фізичних серверах.

Якби мені довелося балуватись, я б сказав, що ваш час консенсусу в чистому середовищі ВМ був би, напевно, від 30 до 100 мс правдивим. У суто фізичному середовищі ваш час консенсусу, ймовірно, буде протягом 10 мс, як тільки час серверів буде достатньо довгим, щоб встигнути вирішити час.


1
Я цілком впевнений, що мені потрібно хоча б три , а не лише два локальні сервери NTP. Як клієнт розмежуватиметься лише між двома?
Джеймс А. Росен

Вам потрібні мінімум чотири з прихованих причин. Однак, у нас є лише два внутрішніх сервери, які синхронізуються до півдюжини зовнішніх серверів (і їх локальних годин як резервних копій). Працює досить добре для нас.
Джеймс

Джеймс А Розен - це радість конфігурації групи однолітків. Поки щонайменше один член групи однолітків має зовнішнє з'єднання і синхронізується, вся група однолітків знаходиться в синхронізації. Клієнти можуть погіршити прошарок, але принаймні вони не виходять із синхронізації. Маєте трьох у групі однолітків? Без проблем.
sysadmin1138

1
Щодо кількості потрібних серверів, тут все: support.ntp.org . Якщо ви перерахуєте лише один, не може бути питання, яке буде вважатися "правильним" чи "неправильним". [...] З двома неможливо сказати, який із них кращий [...]. Це насправді найгірша можлива конфігурація [...]. З трьома серверами ви маєте мінімальну кількість джерел часу [...] Ця конфігурація не забезпечує надмірності. Щонайменше з чотирьох серверів висхідного рівня, [...] ntpd матиме достатню кількість джерел на вибір.
Матьє

11

Див хронометраж VMware документ . Запуск демона NTP у ВМ, мабуть, не є хорошою ідеєю, особливо якщо вам потрібен надійний час.


2
Ха-ха - "особливо якщо вам потрібен надійний час"
шквал

1
Я більше не могла погодитися з вами, адже я не можу придумати жодного сервера, менш придатного для роботи в VM :)
Chopper3

6

на жаль, ntp та віртуалізація не дуже добре поєднуються. У більшості випадків клієнти все добре, однак сервер ntp (esp str2 і вище), як правило, не працює надійно на віртуальному сервері.

Я коментую з точки зору підприємства xen та xen підприємство, але я вважаю, що vmware / kvm буде таким самим.

на різних серверах, так, ви маєте рацію, в ідеалі вони також повинні бути в різних середовищах, так що темп / вологість також не впливають на точність, але, принаймні, я не турбуюся з цим. також не забувайте, що все, що ви робите, все одно не буде настільки точним, як правильний атомний годинник, тому просто прийміть це (дуже незначне) відхилення.


1

Запускаючи NTP у віртуалізованому середовищі, вам пощастить досягти точності 20 мс (саме це ми зробили за допомогою VMware). Віртуалізований перекіс годинника поганий, особливо у віртуалізованому середовищі з ресурсом.

Це залежить від того, наскільки точним потрібно бути. Якщо ви дбаєте лише про друге (ЕГ для веб-серверів), ви, ймовірно, будете добре, доки у вас немає ресурсних проблем. Якщо ви хочете мільйонної точності (наприклад, зайнята база даних, сервер журналів, дослідницький проект), то забудьте віртуалізовані сервери часу.

Сервери NTP завжди мають бути на фізичних хостах. У вас повинно бути принаймні 3 з них, що заглядають у пул (щоб один сервер-шахрай отримував голосування за пул); і, якщо можливо, знайдіть свій час з GPS або іншого локального джерела 0, а не через Інтернет.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.