Kiểm tra SMART làm gì và hoạt động như thế nào?


27

man smartctl trạng thái (SNIPPED cho ngắn gọn):

Các hạng mục đầu tiên , được gọi là "trực tuyến" thử nghiệm. Loại thử nghiệm thứ hai được gọi là thử nghiệm "ngoại tuyến". Thông thường, đĩa sẽ tạm dừng kiểm tra ngoại tuyến trong khi các truy cập đĩa đang diễn ra, và sau đó tự động tiếp tục khi đĩa không hoạt động. Các thể loại thứ ba của thử nghiệm (và hạng mục duy nhất mà từ'testing' thực sự là một lựa chọn thích hợp) là "tự" kiểm tra.

Bật hoặc tắt kiểm tra ngoại tuyến tự động SMART, quét ổ đĩa cứ sau bốn giờ để tìm lỗi đĩa. Lệnh này có thể được đưa ra trong quá trình hoạt động hệ thống bình thường.

Ai chạy phần mềm kiểm tra ổ đĩa? Những loại kiểm tra này là - phần sụn có đọc / ghi vào đĩa không - chính xác thì điều gì xảy ra? Có an toàn không khi gọi kiểm tra trong khi ở HĐH (linux) hoặc có thể lên lịch kiểm tra cho lần sau - việc này diễn ra như thế nào - khi bạn khởi động lại HĐH tại dấu nhắc BIOS (test kiểm tra ngoại tuyến ')? Kết quả được hiển thị ở đâu - Nhật ký SMART?

Câu trả lời:


38
  1. Phần sụn ổ đĩa chạy các bài kiểm tra.

  2. Chi tiết của các bài kiểm tra có thể được đọc trong ví dụ: www.t13.org/Document/UploadedDocument/technical/e01137r0.pdf, tóm tắt các yếu tố của các bài kiểm tra ngắn và dài, do đó:

    1. một phân đoạn điện trong đó ổ đĩa kiểm tra thiết bị điện tử của chính nó. Các thử nghiệm cụ thể trong phân khúc này là cụ thể của nhà cung cấp, nhưng là ví dụ: phân khúc này có thể bao gồm các thử nghiệm như kiểm tra RAM bộ đệm, kiểm tra mạch đọc / ghi và / hoặc kiểm tra các yếu tố đầu đọc / ghi.

    2. một phân đoạn tìm kiếm / servo trong đó ổ đĩa kiểm tra khả năng tìm và servo trên các rãnh dữ liệu. Phương pháp cụ thể được sử dụng trong thử nghiệm này cũng là nhà cung cấp cụ thể.

    3. một phân đoạn quét đọc / xác minh trong đó ổ đĩa thực hiện quét đọc một số phần của bề mặt đĩa. Số lượng và vị trí của bề mặt được quét phụ thuộc vào ràng buộc thời gian hoàn thành và cụ thể của nhà cung cấp.

    4. Các tiêu chí cho tự kiểm tra mở rộng giống như tự kiểm tra ngắn với hai trường hợp ngoại lệ: phân đoạn (3) của tự kiểm tra mở rộng sẽ là quét / xác minh tất cả các vùng dữ liệu người dùng và không có giới hạn thời gian tối đa cho ổ đĩa để thực hiện kiểm tra.

  3. Có thể an toàn để thực hiện kiểm tra không phá hủy trong khi HĐH đang chạy, mặc dù có thể có một số tác động hiệu suất. Như smartctltrang người đàn ông nói cho cả hai -t short-t long,

Lệnh này có thể được đưa ra trong hoạt động hệ thống bình thường (trừ khi chạy ở chế độ giam cầm)

Nếu bạn gọi chế độ bị giam giữ -C, smartctlgiả sử ổ đĩa có thể bị bận đến mức không có sẵn. Điều này không nên được thực hiện trên một ổ đĩa mà HĐH đang sử dụng.

Như trang man cũng đề xuất, thử nghiệm ngoại tuyến (đơn giản có nghĩa là thử nghiệm nền định kỳ) không đáng tin cậy và không bao giờ chính thức trở thành một phần của thông số kỹ thuật ATA. Tôi chạy của tôi từ cron, thay vào đó; theo cách đó tôi biết khi nào chúng nên xảy ra và tôi có thể dừng nó nếu tôi cần.

  1. Các kết quả có thể được nhìn thấy trong smartctlđầu ra. Đây là một bài kiểm tra đang chạy:
[hình ảnh gốc @ risby] # smartctl -a / dev / sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (bản dựng cục bộ)
Bản quyền (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
[...]
Bản sửa đổi cấu trúc nhật ký tự kiểm tra số 1
Num Test_Des mô tả Trạng thái còn lại Thời gian sống (giờ) LBA_of_first_error
# 1 Mở rộng ngoại tuyến Hoàn thành không có lỗi 00% 20567 -
# 2 Mở rộng ngoại tuyến Hoàn thành không có lỗi 00% 486 -

Bản sửa đổi cấu trúc dữ liệu nhật ký tự kiểm tra chọn lọc số 0
Lưu ý: số sửa đổi không phải 1 ngụ ý rằng không có tự kiểm tra chọn lọc nào được chạy
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_proceed [90% còn lại] (0-65535)
   2 0 0 Thông báo
   3 0 0 Thông báo
   4 0 0 Thông báo
   5 0 0 Thông báo

Lưu ý hai bài kiểm tra đã hoàn thành trước đó (ở mức 486 và 20567 giờ bật nguồn tương ứng) và bài kiểm tra hiện tại đang chạy (hoàn thành 10%).


1
Cũng cần lưu ý, nếu bạn sử dụng smartmontools, smartd daemon có thể xử lý việc kiểm tra định kỳ mà không cần cronjob. Nó cũng sẽ xử lý báo cáo các vấn đề về ổ đĩa, mặc dù giám sát chủ động có thể được ưu tiên.
GnP

8

Việc triển khai SMART phụ thuộc vào nhà sản xuất, đôi khi các bản ghi khá rộng có sẵn thông qua smart -alệnh. Đây là những gì tôi nhận được trên một trong những ổ đĩa tự mã hóa của mình từ Hitachi :

SMART Error Log Version: 1
ATA Error Count: 3

Error 3 occurred at disk power-on lifetime: 2543 hours (105 days + 23 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 08 00 08 00 00  Error: IDNF at LBA = 0x00000800 = 2048

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 08 68 00 08 00 40 00      00:00:06.139  READ FPDMA QUEUED
27 00 00 00 00 00 e0 00      00:00:06.126  READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00      00:00:06.125  IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00      00:00:06.125  SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00      00:00:06.125  READ NATIVE MAX ADDRESS EXT
...

Sách trắng này làm sáng tỏ các mã lỗi xuất hiện trong nhật ký. Các chữ viết tắt lỗi phổ biến là:

  • AMNF - Không tìm thấy dấu địa chỉ
  • TONF - Không tìm thấy 0
  • ABRT - Lệnh bị hủy bỏ
  • IDNF - Không tìm thấy ID ngành
  • UNC - Dữ liệu không chính xác
  • BBK - Đánh dấu khối xấu

Trong trường hợp của tôi, lỗi IDNF (Không tìm thấy ID) có thể được truy nguyên từ sự cố khi ổ đĩa được cắm qua bộ chuyển đổi USB sang SATA và tình trạng không đủ năng lượng, khiến nó không thể tìm kiếm đúng cách.

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.