Timesync บน HyperV พร้อม CentOS 6.2


11

ฉันมี CentOS VM (release 6.2) ที่ทำงานภายใต้ HyperV ฉันมีการรวมบริการที่ติดตั้งไว้ (ตอนนี้เป็นส่วนหนึ่งของฐาน) และ CentOS แสดงนาฬิกาแหล่งที่มาปัจจุบันคือ hyperv_clocksource แต่เวลาของฉันใน VM นั้นเร็วประมาณ 10 นาทีหลังจากเวลาผ่านไปหนึ่งสัปดาห์ ความเข้าใจของฉันต่อ IC ใหม่และแหล่งสัญญาณนาฬิกาแบบเสียบได้คือสิ่งนี้ไม่ควรเกิดขึ้นอีก มีการกำหนดค่าเพิ่มเติมใด ๆ ที่จำเป็นเพื่อให้นาฬิกาแหล่งข้อมูลปลั๊กอินสามารถ "ทำงานได้หรือไม่"

ฉันรู้ว่ามีลิงค์จำนวนมากเกี่ยวกับการตั้งค่าตัวเลือกเคอร์เนลให้กับ PIT และสิ่งต่าง ๆ เช่นนั้น แต่สิ่งเหล่านั้นดูเหมือนจะมีการสนับสนุนนาฬิกาแหล่งรวมก่อนและในขณะที่ฉันเข้าใจว่ามันไม่ควรจำเป็น และไม่ควร ntpd หรือ adjtimex

แก้ไข: เปิดใช้งาน 3.2 ของ IC (สิ่งที่มาพร้อมกับ Centos 6.2) อัพเกรดเป็น 3.3 วันนี้เครื่องจักรได้รับการขึ้น 1 ชั่วโมง 22 นาทีและนาฬิกาเร็ว 5 วินาทีแล้ว ดังนั้นตอนนี้ฉันใช้ IC ล่าสุดและยังคงมีปัญหาเดียวกัน


ใช่เวลาเร็วไม่ช้า ซึ่งยิ่งกว่านั้นเนื่องจากปัญหานาฬิกา VM ทั่วไปคือการสูญเสียเวลาไม่ใช่การเพิ่มเวลา
WaldenL

ถ้าคุณทำ powershell get-winevent -provider Microsoft-Windows-Hyper-V-Integration-TimeSync | เลือกข้อความ | select-string "servername" คุณเห็นข้อผิดพลาดในการซิงค์ทุกครั้งไหม
tony roth

ไม่ต้องกังวลกับข้อความเกี่ยวกับข้อผิดพลาดการซิงค์เวลาไม่มีข้อความสำหรับผู้ให้บริการนั้นเลย มีข้อความ Hyper-V อื่น ๆ แต่ไม่มีสำหรับ TimeSync
WaldenL

คำตอบ:


3

ฉันเคยมีปัญหานี้ในอดีตและแก้ไขได้ด้วยการปรับแต่งสวิตช์เริ่มต้น (notsc divider = 10) และการตั้งค่า ntp:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.6.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=/dev/VolGroup00/LogVol00 hda=noprobe hdb=noprobe notsc divider=10
    initrd /initrd-2.6.18-164.6.1.el5.img
title CentOS (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
    initrd /initrd-2.6.18-164.el5.img

ตัวอย่าง ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

ที่มา:

การแก้ไข Linux Clock Drift บน Hyper-V บน Server 2008 R2
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v


1
สิ่งนี้อาจใช้ได้ จุดยืนอย่างเป็นทางการของ MS คือการติดตั้ง / เปิดใช้งานคุณสมบัติการรวมรวมถึงการซิงค์เวลาและปิดการใช้งานใด ๆ ของ in-VM time daemons (ntpd)
Chris S

VMWareแนะนำสิ่งนี้divider=10ใน Linux-constellations เช่นกัน
นิลส์

ขออภัยสำหรับ downvote แต่สิ่งเหล่านี้คือ tweaks ที่ไม่จำเป็นต้องใช้กับแหล่งเวลาที่ปลั๊กอินได้ในองค์ประกอบการรวมใหม่
WaldenL

2

ก่อนอื่นให้ตรวจสอบว่าไฮเปอร์ -v ตรวจพบบริการรวมหรือไม่ วิธีเดียวที่ฉันรู้วิธีใช้ตัวจัดการเครื่องเสมือนของศูนย์ระบบ แต่ฉันคิดว่าต้องมีวิธีการใช้ mmc ของ hyper-v

นอกจากนี้ฉันได้เห็นสิ่งนี้เกิดขึ้นเมื่อการซิงค์นาฬิกาถูกปิดใช้งานในการกำหนดค่า VM ทำไมนาฬิกาวิ่งเร็วกว่าฉัน ฉันได้แนบภาพหน้าจอของการกำหนดค่า vm สำหรับการอ้างอิงของคุณ ป้อนคำอธิบายรูปภาพที่นี่


ใช่เปิดใช้งานบริการทั้งหมดแล้ว
WaldenL

รายงาน hyper-v ที่ตรวจพบบริการการรวมเป็นอย่างไร
longneck

คำถามที่น่าสนใจไม่แน่ใจว่าจะบอกอย่างไร พวกเขาแสดงเริ่มในแขกและฉันคิดว่าพวกเขาจะไม่ทำอย่างนั้นถ้าพวกเขาไม่ได้สื่อสารกับโฮสต์ แต่ฉันไม่สามารถพูดได้อย่างแน่นอน ฉันไม่มี scvmm ดังนั้นฉันไม่แน่ใจที่จะบอกด้วย
WaldenL

เมื่อคุณดู vm ใน mmc มันบอกว่า heartbeat ตกลงที่ด้านล่างหรือไม่? นั่นจะบ่งบอกว่าอย่างน้อยบริการ heartbeat กำลังสื่อสาร
longneck

มันบอกว่า "Heartbeat: OK" ดังนั้นอย่างน้อยก็ดูเหมือนว่าช่องทางการสื่อสารเปิดอยู่
WaldenL

2

Hyper-V Linux guest clock drift ภายใต้การโหลดค่อนข้างพบได้บ่อย (การเลื่อนของนาฬิกาใน VMs ที่ไม่ซิงโครไนซ์เป็นสิ่งที่หลีกเลี่ยงไม่ได้) ดูว่านาฬิกา Linux เสียเวลา 10 นาทีทุกสัปดาห์และเครื่องHyper-V จะลอยอยู่ตลอดเวลาแม้แต่กับ NTPสำหรับโพสต์อื่น ๆ ที่พูดถึง หลักฐานเล็ก ๆ น้อย ๆ ที่ฉันเคยเห็นบอกว่าต่อไปนี้:

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