Lỗi Chronyc không đồng bộ thời gian

Nếu bạn gặp tình trạng đồng hồ hệ thống trên một node nào đó lệch nhiều thời gian so với thời gian chuẩn NTP, mặc dù chrony đang hoạt động. Giả sử node này ở môi trường Ceph. thì đây cũng là một trong những lý do chính khiến Ceph đánh dấu node này “out of quorum”, vì các monitor yêu cầu đồng bộ thời gian rất chính xác để đảm bảo tính nhất quán.

Ví dụ dưới đây kết quả chronyc sources đang hoạt động.

shell> chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^+ 192.168.100.101               4   6    17    22  -1908us[-1908us] +/-   24ms
^* 192.168.100.102               3   6    17    22  +1357us[+1481us] +/-   20ms

Còn đây là kết quả chronyc tracking.

shell> chronyc tracking
Reference ID    : C0A86466 (192.168.100.102)
Stratum         : 4
Ref time (UTC)  : Tue Jun 10 07:14:52 2025
System time     : 162.122573853 seconds slow of NTP time
Last offset     : +0.000123643 seconds
RMS offset      : 0.000123643 seconds
Frequency       : 30.867 ppm fast
Residual freq   : -0.000 ppm
Skew            : 110.917 ppm
Root delay      : 0.035988364 seconds
Root dispersion : 0.004171572 seconds
Update interval : 1.8 seconds
Leap status     : Normal

🔍 Phân tích chi tiết:

Từ kết quả chronyc tracking:

  • System time : 162.122573853 seconds slow of NTP time
    Node chậm hơn thời gian NTP hơn 2 phút (~162 giây).
  • Nhưng các offset đo được từ NTP server lại nhỏ: Last offset : +0.000123643 seconds RMS offset : 0.000123643 seconds

=> Điều này cho thấy: chrony đã đồng bộ thành công ở cấp phần mềm, nhưng đồng hồ hệ thống vẫn chưa được điều chỉnh hoàn toàn để bù lại sai số lớn.

🛠 Nguyên nhân thường gặp:

  • Máy bị ngắt thời gian lâu (VM hoặc node bị tắt lâu) → lệch nhiều.
  • chrony không được cho phép “step” thời gian (nhảy thời gian nhanh khi lệch quá lớn), do mặc định chỉ điều chỉnh dần dần (slew).
  • makestep chưa được cấu hình đúng trong /etc/chrony/chrony.conf.

✅ Giải pháp:

✔️ 1. Kiểm tra và chỉnh makestep trong chrony:

Mở file config:

vi /etc/chrony/chrony.conf

Tìm hoặc thêm dòng sau:

makestep 1.0 3

Ý nghĩa:

  • Nếu lệch >1.0 giây, thì cho phép step (nhảy thẳng) trong 3 lần đầu khi chronyd khởi động.

Sau đó restart dịch vụ:

systemctl restart chrony

✔️ 2. (Tùy chọn) Ép đồng bộ ngay lập tức bằng chronyc:

chronyc makestep

Lệnh này bắt buộc hệ thống cập nhật giờ ngay lập tức, tránh phải đợi chrony “slew” từ từ (mất nhiều phút đến giờ).

✔️ 3. Kiểm tra lại:

shell> date
chronyc tracking

💡 Lưu ý với Ceph:

  • Các node monitor trong Ceph yêu cầu thời gian chính xác gần như tuyệt đối giữa các node. Nếu chênh lệch vài giây là đã có thể khiến node bị “out of quorum”.
  • Sau khi sửa thời gian, pve05 sẽ tự động cố gắng gia nhập lại quorum nếu không có lỗi khác.

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email