เวลาล่องลอย


คำตอบ:


24

Network Time Protocol หรือ NTP สามารถใช้เพื่อซิงโครไนซ์เวลาบนเซิร์ฟเวอร์กับแหล่งข้อมูลที่เชื่อถือได้ ตัวอย่างเช่นเซิร์ฟเวอร์ Windows จะใช้หนึ่งในตัวควบคุมโดเมนเครือข่าย (DC ซึ่งมีบทบาท FSMO จำลอง PDC สำหรับโดเมน [ขอบคุณแกรม]) เพื่อรับข้อมูลเวลา คุณสามารถกำหนดค่าตัวควบคุมโดเมนเพื่อรับข้อมูลจากแหล่งข้อมูลที่รู้จักเช่น time.windows.com


3
หากคุณสามารถจัดเรียงได้ฉันขอแนะนำอย่างยิ่งให้ใช้พูลเซิร์ฟเวอร์ NTP เนื่องจากจะช่วยให้คุณสามารถเข้าถึงแหล่งเวลาต่างๆได้ในขณะที่กระจายโหลดอย่างดี ดูpool.ntp.orgสำหรับการใช้งาน
Avery Payne

2
เพียงแค่ต้องการชี้แจงว่าในสภาพแวดล้อมของ Windows มันไม่ใช่แค่ "หนึ่งใน" DCs ที่รับบทบาทของเซิร์ฟเวอร์ NTP สำหรับสมาชิกโดเมนทั้งหมด แต่เป็น DC โดยเฉพาะซึ่งเก็บบทบาท PDMO emulator PDC สำหรับโดเมน คุณจะกำหนดค่า DC นั้นให้ซิงค์จากเซิร์ฟเวอร์ NTP ในพูลและเครื่องอื่น ๆ ทั้งหมดที่เข้าร่วมกับโดเมนรวมถึง DC อื่น ๆ ทั้งหมดในโดเมนจะซิงค์กับ DC นั้นโดยอัตโนมัติ
ThatGraemeGuy

9

และเพื่อเป็นตัวแทนฝูงชน Virtual Machine ...

หากคุณใช้เซิร์ฟเวอร์เสมือนการเลื่อนเวลาจะเป็นปัญหาที่พบบ่อยและมักจะมีวิธี (นอกเหนือจาก NTP) เพื่อให้ VM ของข้อมูลตรงกับโฮสต์ของพวกเขา

ในกรณีของฉันฉันใช้ VMware ฉันสามารถเปิดใช้งานได้จาก linux Virtual Machine โดยใช้:

vmware-guestd --cmd "vmx.set_option synctime 0 1"

และจากเครื่อง Windows Virtual คุณสามารถเปิดไอคอนvmware-toolsจากซิสเต็มเทรย์และเลือกการซิงโครไนซ์เวลาระหว่างเครื่องเสมือนกับโฮสต์ระบบปฏิบัติการ


2
จริงๆแล้วคุณไม่ต้องการทำสิ่งนี้ ฉันโพสต์คำตอบที่ซับซ้อนด้านล่าง กล่าวโดยย่อ: เครื่องมือ vmware SyncTime นั้นใช้งานไม่ได้และ ntp เป็นวิธีที่จะไป
wzzrd

1
VMware ตอนนี้ขอแนะนำให้คุณใช้ ntpd ใน VMs แทนนี้
อเล็กซ์ J

6

VMwareTools SyncTime ไม่ใช่ตัวเลือกที่ดีสำหรับเครื่องเสมือนใน ESX! VMware เองได้เปลี่ยนคำแนะนำสำหรับการจับเวลาใน VM เป็นการใช้ NTP แทนเครื่องมือ vmware หากคุณประสบปัญหา

ฉันพูดคุยเกี่ยวกับเรื่องนี้กับวิศวกรจาก VMware ที่ VMworld หนึ่งครั้งและได้รับการบอกว่าเครื่องมือ vmware ไม่เคยถูกออกแบบมาเพื่อทำงานที่มันทำอยู่ตอนนี้ ในสมัยก่อนการขัดจังหวะที่หายไปเป็นปัญหาใหญ่ วันนี้น้อยกว่ามาก นี่คือเหตุผลที่ vmware-tools สามารถแก้ไขเวลาเครื่องของคุณได้หากเครื่องอยู่ด้านหลัง แต่ไม่ใช่เมื่อเครื่องอยู่ข้างหน้า ในความเป็นจริงเมื่อเครื่องไปข้างหน้าของเวลา 'ของจริง' คุณเมามากถ้าคุณใช้ vmware- เครื่องมือทำการจับเวลา

ยังดีกว่า: เมื่อใช้ ntp กระบวนการที่แก้ไขเวลาของคุณให้ตื่นขึ้นจริงน้อยลงเมื่อเทียบกับการใช้ vmware-tools ดังนั้นสำหรับเครื่องเสมือน ntp จะให้ค่าใช้จ่ายน้อยลงแทนที่จะเป็นมากกว่า

ดังนั้นสำหรับลินุกซ์ที่คุณควรเสมอใช้ NTP ในเครื่องเสมือน VMware ปิดใช้งาน vmware-tools synctime อย่างสมบูรณ์

สำหรับ Windows VM บน Vmware ฉันไม่ค่อยแน่ใจ แต่ฉันคิดว่ามันเหมือนกันมาก ใช้เนื้อหาการซิงโครไนซ์เวลาในตัวในโฆษณาซึ่งทำงานได้ดีกว่า VMware SyncTime (ถึงแม้ว่าการซิงโครไนซ์เวลาโฆษณาจะแย่มากด้วยตัวเองมันเป็นเหตุผลเดียวที่มีอยู่คือการทำให้ Windows boxen ซิงค์กับตัวควบคุมโดเมนและ Kerberos จะยังคงทำงานตราบใดที่ความแตกต่างของนาฬิกาน้อยกว่าประมาณ 5 นาที ต้องการความแม่นยำน้อยลง)

คุณสามารถอ่านเกี่ยวกับการซิงโครไนซ์เวลาของ VMware บน Linux ได้ที่นี่



4

NTPคือเพื่อนของคุณ

RHEL / CentOS:

yum install ntpd

Debian / Ubuntu:

apt-get install ntpd

ของ windows:

  • สำหรับ Windows 2000 : ควานหา 2000 ใช้งานได้ดีมาพร้อมกับแผงควบคุม หากคุณใช้สิ่งนี้ต้องแน่ใจว่าได้ปิดบริการ Windows Time
  • สำหรับ Windows 2003/2008 : ได้กล่าวถึงแล้วในคำตอบอื่น ๆ ในคำถามนี้ หรือคุณสามารถรัน Tardis 2000 บนกล่องขนาด 2k3 ฉันไม่รู้ว่ามันใช้งานได้ใน 2k8 หรือไม่
  • สำหรับเวิร์กสเตชัน Windows ใด ๆ ให้รันคำสั่งต่อไปนี้เมื่อล็อกอิน: net time /domain:your-domain-here

สำหรับบริการ NTP ทั้งหมด:

ชี้บริการของคุณที่ pool.ntp.org แม้ว่าคุณจะต้องการ จำกัด ให้แคบลงสู่ทวีปเดียวกัน ตัวอย่างเช่นเซิร์ฟเวอร์ของสหรัฐอเมริกาจะใช้ 0.us.pool.ntp.org, 1.us.pool.ntp.org, 2.us.pool.ntp.org เป็นต้น


3

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

  1. ซิงค์เครื่องแต่ละเครื่องกับโฮสต์สาธารณะเช่น pool.ntp.org
  2. กำหนดต้นแบบท้องถิ่น (ด้วย NTP อัพสตรีม) และซิงค์ทุกอย่างกับมัน
  3. ผู้เชี่ยวชาญท้องถิ่นพร้อมติดตั้ง GPS ของคุณเอง (อาจเป็น $$$)

หากคุณมีเครื่องจักรจำนวนมากตัวเลือกที่ 2 และ 3 นั้นเป็นมิตรกับเครือข่ายมาก สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการอ่าน NTP และชั้นนาฬิกา

นอกจากนี้ฉันพบว่าช่วงเวลาเริ่มต้นของ Windows สำหรับการซิงโครไนซ์ยาวเกินไป (สัปดาห์ละครั้ง) ซึ่งนำไปสู่การดริฟท์มากเกินไป คุณควรตรวจสอบสิ่งต่อไปนี้หากคุณต้องการตั้งค่าสิ่งต่าง ๆ ให้สั้นลง (ฉันใช้วันละครั้ง)

http://www.softpedia.com/get/System/System-Miscellaneous/Internet-Time-Update.shtml http://www.tweakxp.com/article36948.aspx


2

เซิร์ฟเวอร์ NTP ที่ดีส่วนใหญ่ ตั้งค่าเพื่อให้นาฬิกาไม่ลอยในเวลาไม่กี่วินาทีนับตั้งแต่การซิงค์ NTP ครั้งล่าสุดและคุณไม่ควรมีปัญหาใด ๆ

หากเซิร์ฟเวอร์ของคุณดริฟท์มากกว่า 30 วินาทีต่อวันคุณอาจต้องการดูทางเลือกที่ดีกว่า แต่นาฬิกาภายในคอมพิวเตอร์ส่วนใหญ่มักจะดีกว่า 30 วินาทีต่อวันดังนั้นการซิงค์หนึ่งครั้งต่อวันจึงเป็นเรื่องปกติ

โปรดระวังว่าคุณอาจข้ามนาทีหากคุณตั้งค่าให้ซิงค์เป็นระยะ (ntpdate) และไม่ใช้ NTP daemon (ntpd) - หากคุณใช้เวลาน้อยกว่า 3 วินาทีและการซิงค์ NTP จะพยายามอัปเดตที่ 10 นาที 58 วินาที มันจะข้ามไปที่ 11 นาที 1 วินาทีและขึ้นอยู่กับตัวกำหนดตารางเวลาที่คุณกำลังใช้มันอาจไม่เรียกใช้งาน 11 นาที

NTP daemon ทำงานในพื้นหลังและแก้ไขเวลาช้าลงดังนั้นโปรแกรมและกระบวนการเวลาที่สังเกตเห็นอาจจะเร็วกว่าหรือช้ากว่าปกติเล็กน้อยเล็กน้อย แต่จะไม่ข้ามวินาที

อดัม


1

เซิร์ฟเวอร์ NTP เป็นสิ่งที่จำเป็นในการซิงโครไนซ์เวลาบน DC ของคุณใช่ อ่านบทความนี้สำหรับคำแนะนำเกี่ยวกับวิธีซิงโครไนซ์ DC ของคุณกับแหล่งข้อมูลภายนอกและบทความฐานความรู้นี้เกี่ยวกับวิธีกำหนดค่าเซิร์ฟเวอร์เวลาที่มีสิทธิ์กับ Windows 2003 คุณจะต้องทำให้ทั้งสองโดเมนของคุณตรงกัน เวิร์กสเตชันที่เข้าร่วมกับโดเมนจะซิงโครไนซ์กับเซิร์ฟเวอร์เวลาที่เชื่อถือได้โดยอัตโนมัติ


0

ใช้แหล่งสัญญาณนาฬิกาทั่วไปสำหรับเซิร์ฟเวอร์ทั้งหมดของคุณและตรวจสอบให้แน่ใจว่าเขตเวลาของคุณตั้งค่าไว้อย่างถูกต้อง แหล่งอินเทอร์เน็ตที่ดีคือ "time.windows.com" หากคุณใช้ Windows คุณสามารถใช้ "net time" และ "w32tm" สำหรับคำสั่งที่เกี่ยวข้องกับเวลา

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