วิธีการซิงโครไนซ์เวลาบนเครื่องเสมือน Windows ESXi ภายในหนึ่งวินาที


12

ฉันเป็นนักพัฒนาและเรากำลังใช้ Quartz.Net ซึ่งเป็นไลบรารีการจัดตารางเวลาที่ใช้กันอย่างแพร่หลายกับ SQL backup store เพื่อเรียกใช้คลัสเตอร์ของเซิร์ฟเวอร์งาน (VMs บน ESXI cluster)

Quartz.Net ต้องการเวลาที่จะซิงโครไนซ์ระหว่างอินสแตนซ์เซิร์ฟเวอร์งานและแนะนำให้ใช้ NTP

นาฬิกาจะต้องอยู่ภายในไม่กี่วินาทีของกันและกัน

ดูแลระบบของเราโดยใช้ windows NTP เพื่อซิงค์เวลากับตัวควบคุมโดเมน การซิงโครไนซ์ของ VM กับโฮสต์ ESXI ปิดอยู่

พวกเขายืนยันว่า "ภายในสอง" นั้นไม่ถูกต้องและไม่สามารถทำตามอุปกรณ์ GPS ซิงค์ของฮาร์ดแวร์ได้ ระดับ SLA และการตรวจสอบของพวกเขาคือ "ภายใน 3 นาที"

เรากำลังประสบปัญหาอินสแตนซ์ out-of-of-sync ของควอตซ์เป็นระยะ (หนึ่งครั้งใน 2-3 เดือน) ที่สอดคล้องกับเวลาที่ไม่ซิงค์กัน

  1. ถูกต้องหรือไม่ที่เราจะขอคำว่า "ภายในวินาที" หรือเราต้องทิ้งควอตซ์ทั้งหมด?
  2. ถ้าใช่แนะนำให้ทำการเปลี่ยนแปลงอะไรสำหรับการตั้งค่าของเรา?

11
การซิงค์หนึ่งวินาทีนั้นไม่มีอะไรแม้แต่บนเซิร์ฟเวอร์เสมือน (ซึ่งมีความเสถียรของเวลาในตัวเองไม่ดีนัก) สามนาที! หัวเราะ คุณไม่สามารถเรียกใช้เครือข่ายได้
การแข่งขัน Lightness ใน Orbit

คำตอบ:


20

นี่คือ 2018 Windows สามารถรักษาเซิร์ฟเวอร์ให้ตรงกันภายใน 2 ms หรือมากกว่านั้นตามที่กำหนดไว้ในกฎ MIFID II ดังนั้นปัญหาของคุณไม่ใช่ปัญหา

ดูแลระบบของเราโดยใช้ windows NTP เพื่อซิงค์เวลากับตัวควบคุมโดเมน การซิงโครไนซ์ของ VM กับโฮสต์ ESXI ปิดอยู่

ทำไม? โฮสต์สามารถจัดการสิ่งนี้ได้ดีกว่ามาก (เป็นฮาร์ดแวร์) และคุณมีน้อยกว่ามาก ดูแลระบบของคุณยิงตัวเองที่เท้าแล้วบ่นว่าพวกเขามีเลือดออก

พวกเขายืนยันว่า "ภายในสอง" นั้นไม่ถูกต้องและไม่สามารถทำตามอุปกรณ์ GPS ซิงค์ของฮาร์ดแวร์ได้ ระดับ SLA และการตรวจสอบของพวกเขาคือ "ภายใน 3 นาที"

OLD - Ancient - Windows ทำข้อมูลให้ตรงกันภายในกำหนดเวลานั้นเนื่องจากตั๋ว Kerberos มีความถูกต้อง 5 นาที

แต่นี่ก็เป็นอย่างที่ฉันพูดในปี 2018 อุตสาหกรรมการเงินมีข้อกำหนดที่โหดร้ายมากในปัจจุบันและ MS ก็จัดการเรื่องนี้มาตั้งแต่ปี 2012 ฉันคิดว่า 2016 นำมาใช้อย่างเต็มที่ ความแม่นยำมิลลิวินาทีทางอินเทอร์เน็ตเป็นปัญหาที่แก้ไขแล้ว - แก้ไขเมื่อ 50 ปีที่แล้วเพื่อการเชื่อมต่อที่เหมาะสม NTP สามารถจัดการกับมันได้ คุณอาจต้องติดตั้งกล่องฮาร์ดแวร์ราคาถูกหากคุณต้องการลดทราฟฟิก (เช่นสร้างแหล่งเวลาระดับ 3 NTP ของคุณเอง) แต่สิ่งนั้นไม่ได้แพงอีก

ถูกต้องหรือไม่ที่เราจะขอคำว่า "ภายในวินาที" หรือเราต้องทิ้งควอตซ์ทั้งหมด?

คุณต้องตั้งโปรแกรมสำหรับปัญหาเกี่ยวกับเวลาเป็นครั้งคราวเช่นเดียวกับที่ทำกับฮาร์ดแวร์ แต่ "ภายในวินาที" เป็นเรื่องตลกของข้อกำหนด - มันเป็นเรื่องเล็กน้อยที่จะพบภายใต้สถานการณ์ปกติ

อ้างอิงบางส่วน:

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

ข้อบังคับของรัฐบาลเช่น: ความแม่นยำ 50 ms สำหรับ FINRA ในสหรัฐอเมริกา 1 มิลลิวินาที ESMA (MiFID II) ในสหภาพยุโรป

มีรายละเอียดและคำแนะนำมากมาย นี่คือการอ่านที่น่าอัศจรรย์จริง ๆ ถ้าคุณต้องแก้ปัญหานี้ คุณอาจต้องอัพเกรดไฮเปอร์ไวเซอร์ - พวกเขาพูดถึง Hyper-V ทั้งหมด VMWare ควรจะสามารถทำเช่นเดียวกัน แต่ไม่แน่ใจว่ารุ่นของคุณเก่าแค่ไหน


FWIW, การปฏิบัติตาม MiFID II ในอุตสาหกรรมการเงิน [สหราชอาณาจักร] นั้นแย่มาก (ธนาคารค่อนข้างจะจ่ายค่าปรับเล็ก ๆ น้อย ๆ มากกว่าที่จะต้องกังวลกับเรื่องทั้งหมดที่ hoo-har) แต่คุณมีสิทธิ์ทางเทคนิคแน่นอน
การแข่งขัน Lightness ใน Orbit

มันไม่เกี่ยวกับการปฏิบัติตามมันเป็นเรื่องเกี่ยวกับความสามารถที่จะปฏิบัติตาม MS แก้ปัญหาเมื่อนานมาแล้ว ดังนั้น "ความแม่นยำ 3 นาที" ที่ OP พูดถึงเรื่องตลกในพื้นที่
TomTom

ฉันเห็นด้วย; นี่เป็นเพียงการกัน
การแข่งขัน Lightness ใน Orbit

2
ฉันอยู่กับคุณว่า NTP นั้นเร็วกว่าพอสมควร แต่ VMware ไม่แนะนำให้ใช้บริการการรวมเพื่อซิงค์เวลาในกรณีส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) NTP ปกติจะทำงานได้ดีและเร็วขึ้น
HoD

เนื่องจากความกังวลของคุณคือเวลาที่สัมพันธ์กันระหว่างเซิร์ฟเวอร์คุณสามารถใช้ NTP เพื่อซิงโครไนซ์กับสวิตช์เครือข่ายซึ่งจะซิงโครไนซ์กับ ISP ของคุณ - ไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม
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 มิลลิวินาที (มิลลิวินาที) หรือความแม่นยำ 1ms

ความแม่นยำเป้าหมาย: 1 วินาที (1 วินาที)

เพื่อให้ได้ความแม่นยำ 1 วินาทีสำหรับเครื่องเป้าหมายที่เฉพาะเจาะจงเมื่อเปรียบเทียบกับแหล่งเวลาที่มีความแม่นยำสูง:

  • ระบบเป้าหมายต้องใช้งาน Windows 10, Windows Server 2016

  • ระบบเป้าหมายจะต้องซิงโครไนซ์เวลาจากลำดับชั้น NTP ของเซิร์ฟเวอร์เวลาซึ่งจะทำให้เกิดความแม่นยำในแหล่งเวลา NTP ที่เข้ากันได้กับ Windows

  • ระบบปฏิบัติการ Windows ทั้งหมดในลำดับชั้นของ NTP ที่กล่าวถึงข้างต้นต้องได้รับการกำหนดค่าเป็นเอกสารในเอกสารประกอบการกำหนดค่าระบบสำหรับความแม่นยำสูง

  • เวลาแฝงเครือข่ายทางเดียวสะสมระหว่างเป้าหมายและต้นทางต้องไม่เกิน 100ms การหน่วงเวลาเครือข่ายสะสมนั้นวัดโดยการเพิ่มการหน่วงเวลาแบบทางเดียวระหว่างคู่ของโหนดไคลเอนต์เซิร์ฟเวอร์ NTP ในลำดับชั้นที่เริ่มต้นด้วยเป้าหมายและสิ้นสุดที่แหล่งที่มา สำหรับข้อมูลเพิ่มเติมโปรดตรวจสอบเอกสารการซิงค์เวลาที่มีความแม่นยำสูง

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


ที่จริงแล้วเราใช้ Windows 2012R2 อยู่ ดูเหมือนว่าเป็นสาเหตุของปัญหา (พร้อมกับไม่ซิงค์กับโฮสต์ ESXI)
Leotsarev

1
@Leotsarev: หากเป็นสมาชิกของโดเมนพวกเขาไม่ควรซิงโครไนซ์กับโฮสต์ VM
Greg Askew
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.