Xác định chênh lệch thời gian giữa hai máy chủ linux


23

Tôi đang khắc phục sự cố mạng trễ trên mạng. Đây có thể là một sự cố hay cáp, nhưng trong khi tôi đang trải qua quá trình tìm ra nó, tôi đã xem xét thời gian của một gói ping để lại một card mạng và đến một máy chủ khác. Cả linux.

Vì vậy, tôi có tcpdump chạy trên cả hai và tôi phát ping từ cái này sang cái khác, và quay lại, và nhìn vào sự khác biệt về thời gian có thể làm sáng tỏ nơi độ trễ đến từ đâu.

Bây giờ nó là một bài tập học thuật, vì tôi cần loại bỏ một số nguyên nhân cơ bản hơn, nhưng tôi tò mò không biết làm thế nào để đạt được điều này. Vì ntpd đã được cài đặt và chạy trên hai máy chủ, làm cách nào tôi có thể xác nhận sự khác biệt về thời gian hiện tại giữa hai máy chủ, với bất kỳ mức độ chính xác nào có thể xảy ra - với điều kiện là chúng ta đang nói về độ trễ trên một làn cục bộ, lý tưởng là một phần nghìn giây hoặc vì thế.

Bản thân NTP chính xác với một vài ms trong điều kiện tốt và vì cả hai máy chủ đều ở trong cùng một môi trường, nên (có lẽ) sẽ đạt được mức độ chính xác tương tự, và do đó nên có sự khác biệt về thời gian giữa chúng chỉ trong vài ms - nhưng làm thế nào tôi có thể kiểm tra điều này?

Câu trả lời:


14

Nếu hai máy chủ là đồng nghiệp NTP, hãy sử dụng

  ntpq -p

Mà sẽ hiển thị giảm giá hiện tại

Lưu ý rằng NTP tính đến độ trễ mạng tài khoản. Nếu bạn biết phần bù của mỗi máy chủ từ một máy chủ NTP chung, điều đó chính xác như bạn có thể sử dụng các công cụ tiêu chuẩn.


CẬP NHẬT

Tôi có hai máy chủ unix sử dụng NTP. Hãy xem họ đang giữ khoảng thời gian nào:

$ 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

Họ đang sử dụng các máy chủ khác nhau vì họ sử dụng các máy chủ từ nhóm ntp.

Tôi sẽ tạm thời thêm hộp khác vào cấu hình của máy chủ này để tôi có thể đo trực tiếp thời gian bù

$ 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

Có vẻ như dấu thời gian trên hai máy chủ của tôi khác nhau khoảng 11 ms.


Họ không, họ độc lập lấy thời gian của họ từ các máy chủ ntp
Paul

@Paul: Xem cập nhật
RedGrittyBrick

Khi bạn thêm máy chủ NTP cục bộ /etc/ntp.confcủa mình vào máy khách, tôi giả sử bạn đã làm như vậy server 192.168.1.70 iburst. Hơn nữa, bạn đã xóa tất cả các máy chủ khác khỏi danh sách của khách hàng chưa?
puk

33

ntpdate -q làm những gì bạn muốn.

Thí dụ:

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

Trong trường hợp này, các máy chủ có sự khác biệt khoảng 110 giây.


Điều này không hoạt động, nhưng tôi cần một số cách để nhận được phản hồi nhanh hơn để tôi có thể thêm phần bù vào tập lệnh thu thập dữ liệu.
SJG

8

Bạn cũng có thể làm như sau trên host1:

root@host1# clockdiff -o host2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.