Sử dụng smartctl để lấy thông tin
trạng thái SMART trên các ổ đĩa cứng
Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số mẹo trong việc sử dụng gói
công cụ thông minh nhằm lấy được các thông tin quan trọng về trạng thái của các ổ
đĩa cứng, đây là những thông tin cung cấp những dấu hiệu cảnh báo các vấn đề sắp
xảy ra đối với ổ cứng của bạn.
Các ổ cứng máy tính ngày nay đều sử dụng công nghệ SMART (Self-Monitoring,
Analysis, và Reporting Technology), công nghệ này cho phép bạn có thể thấy được trạng
thái hoặc toàn bộ tình trạng “sức khỏe” của ổ cứng. Đây là các thông tin vô giá trong việc
cung cấp những dấu hiệu cảnh báo vấn đề có thể sắp xảy ra đối với một ổ cứng nào đó.
Tất cả các phân phối Linux đều cung cấp gói công cụ thông minh, gói công cụ này gồm
có một chương trình smartctl được sử dụng để hiển thị các thông tin SMART từ ổ cứng.
Nó cũng cung cấp tiện ích smartd, một công cụ dùng để thăm dò định kỳ ổ đĩa và từ đó
thu về các thông tin SMART.
Sử dụng smartd là một việc làm cần thiết vì nó có thể cho bạn biết ngay lập tức khi nào
một thuộc tính SMART lỗi. Để bắt đầu, hãy sửa lệnh /etc/smartd.conf và thêm vào các
entry ổ đĩa:
/dev/sda -d ata -H -m root
/dev/sdb -d ata -H -m root
...
Lệnh trên chỉ thị cho smartd thực hiện một hoạt động kiểm tra “lặng lẽ” và gửi email đến
người dùng root nếu trạng thái của SMART có vấn đề. Nó cũng chỉ thị cho smartd rằng
có các thiết bị ATA. Ngoài ra còn có một số tùy chọn khác có thể được bổ sung; file
smartd.conf có chứa các ví dụ cho chúng.
Khi smartd được cấu hình, hãy kích hoạt tiện ích kiểm tra xem nó đã được bắt đầu hay
chưa. Trên hệ thống Red Hat Enterprise Linux, sử dụng:
# chkconfig smartd on
# service smartd start
Chương trình smartctl cũng cho phép bạn có thể quan sát và test các thuộc tính SMART
cho ổ đĩa. Bạn có thể kiểm tra trạng thái của một ổ đĩa bằng cách sử dụng:
# smartctl -H /dev/sda
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8
Bruce Allen
Home page is />=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Việc thu thập được các thông tin trên ổ cứng cũng rất hữu dụng. Với tùy chọn -i, bạn có
thể xem kiểu ổ cứng, số serial của nó… Trong một hệ thống có nhiều ổ cứng, việc ghi
chép đầy đủ các thông tin này có thể hỗ trợ bạn trong việc biết ổ cứng nào (chẳng hạn
như /dev/sda) tương ứng với ổ đĩa vật lý nào. Ví dụ:
# smartctl -i /dev/sda
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8
Bruce Allen
Home page is />=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.10 family
Device Model: ST3320620AS
Serial Number: 9QF26NGD
Firmware Version: 3.AAJ
User Capacity: 320,072,933,376 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sun Mar 7 14:20:18 2010 MST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Tiếp đến, tùy chọn -a hiển thị các chi tiết kỹ thuật cho các thuộc tính SMART và lưu ký
quá trình test. Nó hiển thị các thông tin trạng thái SMART khác nhau, chẳng hạn như
nhiệt độ ổ cứng, ổ cứng đã hoạt động được bao nhiêu giờ,… Nó cũng chỉ thị thời điểm
test được thực hiện và các kết quả cho các lần test đó là gì.
Cuối cùng, smartctl có thể được sử dụng để khởi tạo các quá trình test ngắn và dài cho ổ
cứng. Các quá trình này có thể được chạy một cách định kỳ để thực hiện hành động test
nhanh, toàn bộ, hay tự test (self-test) ổ đĩa.
# smartctl --test=short /dev/sda
# smartctl --test=long /dev/sda
# smartctl -a /dev/sda
Lệnh trên sẽ thực hiện một hành động test ngắn cho thiết bị /dev/sda. Chúng sẽ mất một
khoảng thời gian để thực hiện và đầu ra smartctl sẽ cho bạn biết thời điểm bạn có thể
kiểm tra kết quả. Tiếp đến là một quá trình test dài: quá trình test này có thể diễn ra khá
lâu (khoảng 2 giờ với trên ổ cứng 320GB SATA). Cuối cùng, sử dụng tùy chọn -a để
xem các kết quả thu được.
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours)
LBA_of_first_error
# 1 Short offline Completed without error 00% 17877 -
# 2 Extended offline Completed without error 00% 8449 -
# 3 Short offline Completed without error 00% 8446 -
# 4 Short offline Completed without error 00% 1307 -
# 5 Short offline Completed without error 00% 2 -
# 6 Extended offline Self-test routine in progress 90% 17877 -
Trong ví dụ trên, các quá trình test đã được chạy qua lifetime của ổ cứng và các quá trình
test offline ngắn (short offline) đã được thực hiện gần đây cho thấy không có lỗi, trong
khi đó vẫn có 90% thời gian còn lại của quá trình test mở rộng.
Đi tiên phong trong vấn đề trạng thái sức khỏe của các ổ đĩa cứng có thể tiết kiệm được
rất nhiều chi phí vì việc biết được trước các vấn đề sẽ giúp bạn có thể phòng tránh và
thay thế trước khi chúng dẫn đến các lỗi thê thảm. Tuy việc kiểm tra SMART chưa phải
là một thứ gì đó chính xác (nó không báo cáo các lỗi trước khi chúng xuất hiện), nhưng
từ những cơ hội bắt được một vấn đề nào đó và khả năng lấy lại dữ liệu trước khi thay thế
một ổ cứng cũng đã làm cho bạn tránh được nguy cơ mất dữ liệu so với khi không sử
dụng nó.