Mở đầu:
Tôi là một con khỉ mã ngày càng nhận nhiệm vụ SysAdmin cho công ty nhỏ của mình. Mã của tôi là sản phẩm của chúng tôi và ngày càng chúng tôi cung cấp ứng dụng tương tự như SaaS.
Khoảng 18 tháng trước, tôi đã chuyển các máy chủ của chúng tôi từ một nhà cung cấp trung tâm lưu trữ cao cấp sang một máy đẩy giá barebones trong một trung tâm dữ liệu cấp IV. (Nghĩa đen trên đường phố.) Điều này làm cho bản thân chúng ta làm nhiều hơn - những thứ như mạng, lưu trữ và giám sát.
Là một phần của bước tiến lớn, để thay thế bộ lưu trữ gắn trực tiếp được thuê của chúng tôi từ công ty lưu trữ, tôi đã xây dựng một NAS hai nút 9TB dựa trên các gói SuperMicro, thẻ RAID 3ware, Ubuntu 10.04, hai chục đĩa SATA, DRBD và. Tất cả đều được ghi lại một cách đáng yêu trong ba bài đăng trên blog: Xây dựng và thử nghiệm một NAS RAID10 NFSv4 9TB mới: Phần I , Phần II và Phần III .
Chúng tôi cũng thiết lập một hệ thống giám sát Cacit. Gần đây, chúng tôi đã thêm nhiều điểm dữ liệu hơn, như các giá trị SMART.
Tôi không thể thực hiện tất cả những điều này nếu không có những chiếc boffin tuyệt vời tại ServerFault . Đó là một kinh nghiệm thú vị và giáo dục. Sếp tôi rất vui (chúng tôi đã tiết kiệm được xô xô $$$) , khách hàng của chúng tôi rất vui (chi phí lưu trữ giảm) , tôi rất vui (vui, vui, vui) .
Cho đến ngày hôm qua.
Mất điện & Phục hồi:
Một thời gian sau bữa ăn trưa, chúng tôi bắt đầu nhận được báo cáo về hiệu suất chậm chạp từ ứng dụng của chúng tôi, một CMS phương tiện truyền thông trực tuyến theo yêu cầu. Cũng trong khoảng thời gian hệ thống giám sát Cacti của chúng tôi đã gửi một loạt email. Một trong những cảnh báo đáng nói hơn là một biểu đồ của iuler đang chờ.
Hiệu suất trở nên xuống cấp đến mức Pingdom bắt đầu gửi thông báo "máy chủ xuống". Tải tổng thể ở mức vừa phải, không có lưu lượng truy cập tăng đột biến.
Sau khi đăng nhập vào các máy chủ ứng dụng, các máy khách NFS của NAS, tôi đã xác nhận rằng mọi thứ đều trải qua thời gian chờ đợi IO không liên tục và cực kỳ dài. Và một khi tôi nhảy vào nút NAS chính, sự chậm trễ tương tự là điều hiển nhiên khi cố gắng điều hướng hệ thống tệp của mảng vấn đề.
Thời gian để thất bại, điều đó đã đi tốt. Trong vòng 20 phút, mọi thứ đã được xác nhận để sao lưu và chạy hoàn hảo.
Hậu kỳ:
Sau bất kỳ và tất cả các lỗi hệ thống, tôi thực hiện khám nghiệm tử thi để xác định nguyên nhân lỗi. Điều đầu tiên tôi làm là ssh trở lại hộp và bắt đầu xem xét nhật ký. Nó đã ngoại tuyến, hoàn toàn. Thời gian cho một chuyến đi đến trung tâm dữ liệu. Thiết lập lại phần cứng, sao lưu và chạy.
Trong /var/syslog
tôi tìm thấy mục đáng sợ này:
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1 Short offline Completed: read failure 90% 6576 3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2 Short offline Completed: read failure 90% 6087 3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3 Short offline Completed: read failure 10% 5901 656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4 Short offline Completed: read failure 90% 5818 651637856
Nov 15 06:49:45 umbilo smartd[2827]:
Vì vậy, tôi đã đi kiểm tra đồ thị Cacti cho các đĩa trong mảng. Ở đây chúng ta thấy rằng, vâng, đĩa 7 đang trượt đi giống như syslog nói. Nhưng chúng ta cũng thấy rằng Erros đọc thông minh của đĩa 8 đang dao động.
Không có tin nhắn về đĩa 8 trong syslog. Thú vị hơn là các giá trị dao động cho đĩa 8 tương quan trực tiếp với thời gian chờ IO cao! Giải thích của tôi là:
- Đĩa 8 đang gặp lỗi phần cứng kỳ lạ dẫn đến thời gian hoạt động không liên tục.
- Bằng cách nào đó, tình trạng lỗi này trên đĩa đang khóa toàn bộ mảng
Có thể có một mô tả chính xác hoặc chính xác hơn, nhưng kết quả cuối cùng là một đĩa đang ảnh hưởng đến hiệu suất của toàn bộ mảng.
Câu hỏi
- Làm thế nào một đĩa đơn trong mảng SATA RAID-10 phần cứng có thể khiến toàn bộ mảng bị dừng lại?
- Tôi có ngây thơ khi nghĩ rằng thẻ RAID nên xử lý vấn đề này không?
- Làm thế nào tôi có thể ngăn chặn một đĩa đơn bị ảnh hưởng đến toàn bộ mảng?
- Tui bỏ lỡ điều gì vậy?