Những lỗi đĩa trong syslog có nghĩa là gì?


13

Tôi mới khởi động lại máy chủ theo dõi của mình lần đầu tiên sau một thời gian và sau đây bắt đầu lấp đầy màn hình:

Jul 11 23:52:30 monit kernel: [   25.255908] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Jul 11 23:52:30 monit kernel: [   25.256170] ata1.00: BMDMA stat 0x24
Jul 11 23:52:30 monit kernel: [   25.256278] ata1.00: failed command: READ DMA
Jul 11 23:52:30 monit kernel: [   25.256410] ata1.00: cmd c8/00:c0:20:68:35/00:00:00:00:00/e0 tag 0 dma 98304 in
Jul 11 23:52:30 monit kernel: [   25.256416]          res 51/40:9f:41:68:35/00:00:00:00:00/e0 Emask 0x9 (media error)
Jul 11 23:52:30 monit kernel: [   25.256809] ata1.00: status: { DRDY ERR }
Jul 11 23:52:30 monit kernel: [   25.256933] ata1.00: error: { UNC }
Jul 11 23:52:30 monit kernel: [   25.304388] ata1.00: configured for UDMA/66
Jul 11 23:52:30 monit kernel: [   25.304430] ata1: EH complete

. . . 

Jul 11 23:52:30 monit kernel: [   25.552451] sd 0:0:0:0: [sda] Unhandled sense code
Jul 11 23:52:30 monit kernel: [   25.552462] sd 0:0:0:0: [sda]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jul 11 23:52:30 monit kernel: [   25.552475] sd 0:0:0:0: [sda]  Sense Key : Medium Error [current] [descriptor]
Jul 11 23:52:30 monit kernel: [   25.552490] Descriptor sense data with sense descriptors (in hex):
Jul 11 23:52:30 monit kernel: [   25.552498]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
Jul 11 23:52:30 monit kernel: [   25.552529]         00 35 68 41 
Jul 11 23:52:30 monit kernel: [   25.552543] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
Jul 11 23:52:30 monit kernel: [   25.552559] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 35 68 20 00 00 c0 00
Jul 11 23:52:30 monit kernel: [   25.552587] end_request: I/O error, dev sda, sector 3500097
Jul 11 23:52:30 monit kernel: [   25.556607] ata1: EH complete

Tôi đã biết tôi cần thay thế ổ cứng (Chi phí dữ liệu> Chi phí ổ cứng), nhưng tôi muốn biết kiến ​​thức của chính mình về những gì thực sự sai với nó.

Có, máy chủ giám sát của chúng tôi không có RAID, chỉ có một ổ cứng ... Đừng nhìn tôi ...


3
"Có, máy chủ giám sát của chúng tôi không có RAID, chỉ có một ổ cứng ... Đừng nhìn tôi ..." - đừng nhìn quá nhiều, nếu bạn có bản sao lưu tốt.
Janne Pikkarainen

2
Tôi hy vọng bạn có bản sao lưu tốt. Bạn có thể sẽ cần chúng. Nếu máy chủ giám sát là quan trọng, chi phí thay thế ổ cứng bằng ít nhất RAID 1 sẽ dễ dàng được chứng minh.
Michael Hampton

1
Ngay cả khi bạn không có RAID, bạn vẫn nên theo dõi dữ liệu SMART cho tất cả các đĩa của mình.
James Youngman

Câu trả lời:


16
sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed

Có vẻ như ổ đĩa có các thành phần xấu và không thể phân bổ lại các phần này (có thể vì nó hết các phần dự phòng). Đầu ra của smartctl -a /dev/sdasẽ cung cấp cho bạn thêm thông tin về trạng thái của ổ đĩa.


Tôi cũng đã thấy lỗi này xảy ra trên một lần đọc đơn giản (từ, giả sử, cố gắng vào cptệp). Trong trường hợp đó, thiệt hại cho tệp trên khu vực bị hỏng nặng đến mức thậm chí không thể tái tạo lại dữ liệu, do đó, lỗi "tái phân bổ" thực sự xảy ra trước khi nó thậm chí có thể cố gắng lưu trữ dữ liệu ở nơi khác.
Randall

12

Lassie nói "arf! Arf arf! Arf!". Thật là ngu ngốc, bởi vì điều này không liên quan gì đến Timmy hay giếng nước. Đây là lý do tại sao bạn không nhận lời khuyên sysadmin từ chó.

Ổ đĩa đang cung cấp cho bạn "Lỗi đọc không được phục hồi - tự động phân bổ lại không thành công", về cơ bản có nghĩa là "Tôi đã cố đọc, tôi đã thất bại, tôi đã cố gắng khôi phục (đọc thêm một vài lần, áp dụng một số ECC và di chuyển dữ liệu sang một lĩnh vực không bị phá vỡ) và nó đã không hoạt động ". Điều này có thể có nghĩa (như mgorven nói) rằng đĩa đã chứa đầy các khu vực được phân bổ lại, bởi vì đĩa đã chết trong một thời gian, nhưng tôi cũng nghĩ rằng nó có thể không phục hồi được khu vực đó (đọc lặp đi lặp lại + ECC không thể có được khối dữ liệu ưa nhìn).

Dù bằng cách nào, vâng, ổ xương rồng rất, rất. Dữ liệu của bạn trông cũng không thực sự lành mạnh.


1
Phải - dữ liệu SMART cũng có thể cho bạn biết có bao nhiêu lĩnh vực đã được phân bổ lại.
James Youngman

3

Tôi biết điều này đã cũ, nhưng chỉ trong trường hợp ai đó vẫn đang đọc bài đăng này: "DD cũng sẽ cố gắng đọc (các) khu vực bị hỏng" - gddresTHER rất hữu ích ở đây. Nó không (được, nó có, nhưng chỉ một lần).


1

Tạo một hình ảnh dd hoặc bản sao rsync của đĩa đó ngay bây giờ ++, trừ khi bạn có bản sao lưu đầy đủ cho phép khôi phục lại hộp đó một cách thuận tiện . Và bắt đầu tìm kiếm một đĩa thay thế tương thích và làm việc.

BTW, UDMA / 66, đó có phải là đĩa PATA mười năm tuổi không?


2
DD cũng sẽ cố gắng đọc (các) khu vực bị hỏng.
Hennes

3
Thường không mang lại hiệu quả tốt nhất ... có một phiên bản nâng cao được gọi là ddresTHER với khả năng kiểm soát hành vi lỗi tốt hơn.
rackandboneman

Luôn luôn có conv=noerror, nhưng tôi không chắc nó hoạt động tốt như thế nào sau đó sẽ trở thành một hệ thống tệp bị hỏng. Có lẽ không tệ hơn đọc tệp dữ liệu theo tệp, nhưng chắc chắn sẽ không tốt hơn ...
một CVn

0

Như đã đề cập, điều đó có nghĩa là ổ đĩa của bạn sắp hết tuổi thọ nhưng không nhất thiết phải ngay lập tức - bạn nên chạy fscktrên đĩa và cố gắng sửa lỗi (xem wiki smartmontools để được tư vấn sửa các khối xấu) và đĩa có thể ổn trong khi còn.

Nhưng bạn nên bắt đầu chạy smartd(là một phần của smartmontoolsgói) và theo dõi các báo cáo của nó và / hoặc thiết lập thông báo email. Ngoài ra, bạn có thể thêm thông báo tùy chỉnh của riêng mình bằng cách tạo tập lệnh (trong /etc/smartmontools/run.d/) được gọi bởi smartd-runner.

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.