กำหนดความแตกต่างของเวลาระหว่างเซิร์ฟเวอร์ลินุกซ์สองเครื่อง


23

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

ดังนั้นฉันจึง tcpdump ทำงานทั้งสองและฉันออก ping จากที่หนึ่งไปยังอีกและกลับมาอีกครั้งและการดูความแตกต่างของเวลาอาจมีแสงหลั่งบนที่แฝงมาจาก

ตอนนี้มันเป็นแบบฝึกหัดทางวิชาการเนื่องจากฉันต้องการกำจัดสาเหตุพื้นฐานบางอย่าง แต่ฉันอยากรู้ว่าสิ่งนี้จะประสบความสำเร็จได้อย่างไร เนื่องจาก ntpd ได้รับการติดตั้งและทำงานบนเซิร์ฟเวอร์สองเครื่องฉันจะยืนยันความแตกต่างของเวลาปัจจุบันระหว่างเซิร์ฟเวอร์ทั้งสองได้อย่างไรถึงความแม่นยำระดับใดที่เป็นไปได้เนื่องจากเรากำลังพูดถึงเวลาแฝงบน LAN ท้องถิ่นซึ่งเป็นมิลลิวินาทีหรือ ดังนั้น.

NTP เองนั้นมีความถูกต้องเพียงไม่กี่มิลลิวินาทีภายใต้เงื่อนไขที่ดีและเนื่องจากเซิร์ฟเวอร์ทั้งสองอยู่ในสภาพแวดล้อมเดียวกันพวกเขาควรจะมีความแม่นยำในระดับที่ใกล้เคียงกันดังนั้นจึงควรมีความคลาดเคลื่อนของเวลาเพียงเล็กน้อยเท่านั้น แต่ฉันจะตรวจสอบสิ่งนี้ได้อย่างไร

คำตอบ:


14

หากเซิร์ฟเวอร์สองเครื่องเป็น NTP เพียร์ให้ใช้

  ntpq -p

ซึ่งจะแสดงออฟเซ็ตปัจจุบัน

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


UPDATE

ฉันมีเซิร์ฟเวอร์ยูนิกซ์สองเครื่องที่ใช้ NTP ให้ดูเวลาที่พวกเขากำลังทำ:

$ sudo /usr/sbin/ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 hufu.ki.iif.hu  185.219.2.214    2 u   12   64    1   71.755   -0.073   0.001
 web.puflet.info 188.138.107.156  3 u   11   64    1   78.248    0.417   0.001
 84.2.44.19      10.20.75.140     2 u   10   64    1   74.721   -1.076   0.001

$ sudo /usr/sbin/ntpq -p otherbox
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp2.exa-networ 195.66.241.10    2 u  799 1024  377   43.405    7.796 218.471
+mantaray.netine 249.240.53.144   3 u  289 1024  377   34.782    8.484 212.631
*rilynn.me.uk    81.2.117.228     2 u  765 1024  377   45.665    6.804 142.023
+ntp.thirdlight. 193.67.79.202    2 u  791 1024  377   38.322    9.871 223.397

พวกเขากำลังใช้เซิร์ฟเวอร์ที่แตกต่างกันเพราะพวกเขาใช้เซิร์ฟเวอร์จากกลุ่ม ntp

ฉันจะเพิ่มกล่องอื่นไปยังการกำหนดค่าเซิร์ฟเวอร์นี้ชั่วคราวเพื่อให้ฉันสามารถวัดเวลาได้โดยตรง

$ sudo vi /etc/ntp.conf
 (added `server otherbox`)

$ sudo /sbin/service ntpd restart

$ sudo /usr/sbin/ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 gamma.h3x.no    78.70.33.22      3 u    4   64    1   34.840   -0.964   0.001
 web.puflet.info 188.138.107.156  3 u    3   64    1   78.148   -1.243   0.001
 alpha.rueckgr.a 129.69.1.153     2 u    2   64    1   61.495   -2.362   0.001
 otherbox.exampl 60.155.73.34     3 u    1   64    1    0.604  -11.286   0.001

ดูเหมือนว่าการประทับเวลาบนเซิร์ฟเวอร์ทั้งสองของฉันแตกต่างกันประมาณ 11 ms


พวกเขาไม่ได้พวกเขาได้รับเวลาของพวกเขาจากเซิร์ฟเวอร์ ntp
Paul

@Paul: ดูการอัปเดต
RedGrittyBrick

เมื่อคุณเพิ่มเซิร์ฟเวอร์ NTP ในพื้นที่ของคุณไป/etc/ntp.confยังไคลเอนต์ฉันถือว่าคุณเป็นเช่นserver 192.168.1.70 iburstนั้น นอกจากนี้คุณลบเซิร์ฟเวอร์อื่น ๆ ทั้งหมดจากรายการลูกค้าหรือไม่
puk

33

ntpdate -q ทำในสิ่งที่คุณต้องการ

ตัวอย่าง:

root@host1:~# ntpdate -q host2 
server host2, stratum 4, offset 109.584520, delay 0.77560
17 Apr 21:48:16 ntpdate[28849]: no server suitable for synchronization found

ในกรณีนี้เซิร์ฟเวอร์มีความแตกต่างประมาณ 110 วินาที


สิ่งนี้ใช้ได้ใช่ แต่ฉันต้องการวิธีรับการตอบสนองที่รวดเร็วกว่าเพื่อให้ฉันสามารถเพิ่มออฟเซ็ตลงในสคริปต์การรวบรวมข้อมูล
SJG

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