monday1010 wrote:
Hi
Hôm nay có đọc được về hiện tượng leap second xảy ra vào cuối ngày 30/6, mình hiểu nôm na là giây nhuận do trái đất quay chậm lại
Tìm hiểu trên wiki : http://en.wikipedia.org/wiki/Leap_second
Thấy thông tin nó ảnh hưởng tới các server chạy Linux :
"A number of organizations reported computer problems following the June 30, 2012, leap second. Among the sites which reported problems were reddit (Apache Cassandra), Mozilla (Hadoop), Qantas Airlines, and various sites running Linux"
Chưa rõ lắm nó ảnh hưởng thế nào mà "down" cả server được, mọi người có thông tin gì về vấn đề này xin chia sẻ.
Trên hệ thống tớ quản lý có hơn 500 VM instances chạy RHEL 6 và gần như 100% bị treo vào khoảng 10:00am ngày 1/7/2012 giờ Brisbane, Australia (sáng Chủ Nhật vừa rồi). Đây cũng chính là 00:00 giờ UTC giao điểm giữa ngày 30/6/2012 và 1/7/2012 tại múi giờ UTC.
Hiện tượng "treo" là CPU lên cực kỳ cao (có server lên > 100), có server hoàn toàn tê liệt. Khi check system log thì thấy dòng:
Code:
BUG: spinlock lockup on CPU#1, ntpd/3128
Đây là lỗi ở tầng kernel chưa được vá để xử lý lúc chuyển tiếp từ 23:59:00 đến 00:00:00 ngày hôm sau (cho nên gọi là "leap second". Nguyên do là daemon ntpd gọi hàm adjtimex để kernel điều chỉnh time bằng cách thêm 1 "leap second" vào system clock. Việc này tạo ra deadlock khiến kernel bị panic và bận rộn xử lý panic trong khi những tasks khác dồn ứ cho nên CPU tăng cao và dẫn đến tê liệt.
Để fix cái này chỉ cần disable ntpd rồi restart lại server. Đợi vài giờ rồi start ntpd lên lại.