ในโลกที่สมบูรณ์แบบแขก VM ของคุณจะให้เวลาที่สมบูรณ์แบบหรืออย่างน้อยก็สมบูรณ์แบบตามที่โฮสต์ให้ น่าเสียดายที่เราไม่ได้อยู่ในโลกที่สมบูรณ์แบบ
จากประสบการณ์ของฉันที่มีคนรู้จัก hypervisor ทุกคนฉันมักจะเรียกใช้ไคลเอนต์ NTP ในเครื่องเสมือนโดยไม่มีข้อยกเว้น การตั้งค่าปกติของฉันคือ ntpd ด้วยตัวเลือก -g หรือ ntpdate เริ่มต้นก่อนที่มันจะเป็นระบบเก่าไปยังขั้นตอนที่นาฬิกา
KVM มีเกือบการติดตั้งที่สมบูรณ์แบบกับนาฬิกาเรียลไทม์ paravirtualized ; แขกที่มีไดร์เวอร์ที่เหมาะสม (อย่างน้อยลีนุกซ์ล่าสุดอย่างน้อย) จะคอยดูแลตลอดเวลาและโฮสต์ แต่ยังมีสิ่งผิดปกติเกิดขึ้นที่นี่: ตัวอย่างเช่นโฮสต์อาจไม่ได้ใช้ NTP โฮสต์อาจตั้งค่าเขตเวลาไม่ถูกต้องนาฬิกาของโฮสต์อาจผิดปกติ ฯลฯ
VMware และ Hyper-V อยู่ตรงกลาง แต่ละคนมีเครื่องมือที่จะทำงานบนแขกที่ซิงค์นาฬิกากับโฮสต์เป็นระยะ แต่ก็มีความเสี่ยงที่จะเกิดปัญหาใด ๆ กับนาฬิกาโฮสต์
ผู้เข้าพักในการทดสอบ Hyper-V เซิร์ฟเวอร์ของฉันยังแสดงพฤติกรรมบางอย่างแปลก: แม้จะมีการบริการรวมนาฬิกาของผู้เข้าพักจะดริฟท์ได้เร็วกว่า 500 ppm การป้องกัน ntpd จากการทำงาน ( มันคิดว่าบ้านาฬิกาถ้ามันลอยได้เร็วขึ้นกว่านี้ ) ผมต้องเปลี่ยนผู้เข้าพักเหล่านี้เพื่อchronyซึ่งจะช่วยให้ค่านี้มีการปรับเปลี่ยน
เซนเป็นสิ่งที่เลวร้ายที่สุดในแง่นี้ มันไม่มีการซิงโครไนซ์และเรียกใช้ NTP ในแขกเป็นสิ่งที่จำเป็นมาก (มีคนบอกฉันว่า Xen รุ่นล่าสุดมีการซิงโครไนซ์บางอย่าง แต่ยังไม่ได้ใช้งานได้เป็นการส่วนตัว)
สิ่งที่แย่ลงถ้าโฮสต์ไฮเปอร์ไวเซอร์ไม่ได้อยู่ภายใต้การควบคุมของคุณเช่นคลาวด์สาธารณะ คุณอยู่ในความเมตตาของผู้ให้บริการที่เกี่ยวกับนาฬิกาโฮสต์และหากพวกเขาไม่ขยันในการทำข้อมูลให้ตรงกันคุณจะสูญเสีย
ด้วยเหตุนี้การใช้งาน NTP ไคลเอนต์ในเครื่องเสมือนของคุณจึงเป็นสิ่งจำเป็นหากคุณต้องการนาฬิกาแบบกึ่งเที่ยงตรง หมายเหตุ: ถ้าคุณเรียกใช้เครื่องเสมือน Windows รับไคลเอนต์ NTP บุคคลที่สามที่ปรับนาฬิกาอย่างต่อเนื่อง ข้อแก้ตัวที่แย่สำหรับลูกค้าที่มาพร้อมกับ Windows จะปรับนาฬิกาเพียงสัปดาห์ละครั้งเท่านั้นซึ่งไร้สาระอย่างที่สุด