Як синхронізувати час на віртуальних машинах ESXi Windows протягом однієї секунди?


12

Я розробник, і ми використовуємо Quartz.Net, широко використовувану бібліотеку планування з магазином резервної копії SQL для запуску кластера серверів завдань (віртуальних машин на кластері ESXI).

Quartz.Net вимагає, щоб час синхронізувався між екземплярами сервера завдань, і рекомендує використовувати для нього NTP.

Годинники повинні знаходитися в межах секунди один від одного.

Наші sysadmins використовують Windows NTP для синхронізації часу з контролером домену. Синхронізація віртуальних машин із хостом ESXI вимкнена.

Вони продовжують наполягати, що "протягом секунди" не є правильною вимогою, і це не може бути виконано без апаратних GPS-синхронізуючих пристроїв. Їх рівень SLA та моніторинг знаходяться "протягом 3 хвилин".

Ми спостерігаємо періодичні (раз на 2-3 місяці) кварцові випадки поза синхронізованої поведінки, які відповідають часу не синхронізації.

  1. Чи правильно ми просити «протягом секунди» чи нам потрібно цілком відкинути кварц?
  2. Якщо так, то які зміни рекомендуються для нашого налаштування?

11
Синхронізувати одну секунду - це нічого , навіть на віртуальних серверах (які, як відомо, мають погану стабільність часу самостійно). Три хвилини ?! Сміятися. Ви не можете запустити мережу таким чином.
Гонки легкості на орбіті

Відповіді:


20

Це 2018 рік. Windows здатна підтримувати синхронізацію серверів протягом 2 мс або близько, як того вимагають Правила MIFID II. Отже, ваша проблема - це не проблема.

Наші sysadmins використовують Windows NTP для синхронізації часу з контролером домену. Синхронізація віртуальних машин із хостом ESXI вимкнена.

Чому? Хост може впоратися з цим набагато краще (будучи апаратним), а у вас набагато менше. Ваші сисадміни стріляють собі в ногу, потім скаржаться, що вони кровоточать.

Вони продовжують наполягати, що "протягом секунди" не є правильною вимогою, і це не може бути виконано без апаратних GPS-синхронізуючих пристроїв. Їх рівень SLA та моніторинг знаходяться "протягом 3 хвилин".

СТАРИЙ - стародавній - Windows синхронізувався протягом цього часового періоду, оскільки квитки на Kerberos мали 5-хвилинну дію.

Але це, як я вже сказав, 2018 рік. Фінансова індустрія в наші дні має досить жорстокі вимоги, і члени МС вирішили це протягом - з 2012 року, я думаю. 2016 рік ввів його повністю в дію. Мільсекундна точність через Інтернет - це вирішена проблема - вирішена 50 років тому насправді, для гідного зв'язку. NTP може впоратися з цим. Можливо, вам доведеться встановити дешеву апаратну коробку, якщо ви хочете скоротити трафік (тобто зробити власний джерело часу 3 рівня NTP), але це знову навіть не дорого.

Чи правильно ми просити «протягом секунди» чи нам потрібно цілком відкинути кварц?

Потрібно запрограмувати питання, пов'язані з часом, як це робиться з обладнанням. Але "протягом секунди" - жарт вимоги - тривіально зустрічатися за звичайних обставин.

Деякі посилання:

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/accurate-time

Постанови уряду, такі як: 50 мс точність для FINRA в США 1 мс ESMA (MiFID II) в ЄС.

Там багато деталей та інструкцій. Це дивовижне читання насправді, якщо вам доведеться вирішити цю проблему. Можливо, вам доведеться оновити гіпервізор - вони говорять про Hyper-V. VMWare має бути в змозі зробити те саме, але не впевнено, скільки років вашій версії.


FWIW, Відповідність вимогам MiFID II у фінансовій галузі [Великобританії] шокуюче погано (банки швидше платять дрібні штрафи, ніж турбуються з усім цим ху-хар), але ви технічно праві, звичайно.
Гонки легкості на орбіті

Це не про відповідність, а про те, що СПОСОБ має бути поступливим. МС вирішив це давно. Таким чином, "3 хвилини точності", що ОП говорить про жарт області.
TomTom

Я згоден; це було лише стороною.
Гонки легкості на орбіті

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

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

6

Чи правильно ми просити «протягом секунди» чи нам потрібно цілком відкинути кварц?

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

Якщо так, то які зміни рекомендуються для нашого налаштування?

Найкраще зробити так, щоб кожна частина вашої системи використовувала NTP і вказувала їх на одну і ту ж пару серверів NTP. Отже, хости ESXi та VM, що працюють на них, усі використовують ті самі джерела NTP, однакові для будь-якого іншого. Таким чином, навіть якщо сервери NTP не працюють у режимі часу, то принаймні кожна частина вашої системи є актуальною.


4

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/support-boundary

Підтримка високої точності для Windows 8.1 та 2012 R2 (або попереднього)

Більш ранні версії Windows (до Windows 10 1607 або Windows Server 2016 1607) не можуть гарантувати високоточний час. Послуга Windows Time для цих систем:

  • Забезпечив необхідну точність часу для задоволення вимог автентифікації Kerberos версії 5

  • Забезпечено слабко точний час для клієнтів та серверів Windows, приєднаних до загального лісу Active Directory

Вимоги до більш жорсткої точності не відповідають специфікації проекту Windows Time Service для цих операційних систем і не підтримуються.

Windows 10 та Windows Server 2016

Точність часу в Windows 10 та Windows Server 2016 значно покращена, зберігаючи повну зворотну сумісність NTP із старими версіями Windows. За правильних умов роботи системи з ОС Windows 10 або Windows Server 2016 та новіших версій можуть забезпечити точність 1 секунди, 50 мс (мілісекунд) або 1 мс.

Цільова точність: 1 секунда (1 сек)

Для досягнення точності 1s для конкретної цільової машини в порівнянні з високоточним джерелом часу:

  • Цільова система повинна запускати Windows 10, Windows Server 2016.

  • Цільова система повинна синхронізувати час із ієрархією серверів часу NTP, що досягає високої точності, сумісного з Windows NTP-джерела часу.

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

  • Сукупна одностороння затримка мережі між ціллю та джерелом не повинна перевищувати 100 мс. Сукупна затримка мережі вимірюється додаванням окремих односторонніх затримок між парами вузлів NTP клієнт-сервер в ієрархії, починаючи з цілі і закінчуючи у джерела. Для отримання додаткової інформації перегляньте документ про високу точність синхронізації часу.

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy


Насправді ми використовуємо Windows 2012R2. Здається, це корінь проблеми (разом із не синхронізацією з хостом ESXI)
Леотсарев

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