jaeyoungkim.dhi
08-06-2012, 08:48 PM
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 http://smartmontools.sourceforge.net/
=== 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 http://smartmontools.sourceforge.net/
=== 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ó.
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 http://smartmontools.sourceforge.net/
=== 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 http://smartmontools.sourceforge.net/
=== 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ó.