
| Smartmontools (Self-Monitoring, Analysis and Reporting Techology System) |
|
|
|
Lỗi harddisk là một lỗi thường gặp nhất ở những hệ thống chạy dịch vụ nhất là những hệ thống chạy những dịch vụ có mật độ đọc ghi dữ liệu vào harddisk lớn do đó việc theo dõi tình trạng hoạt động của harddisk, dự báo được khả năng lỗi harddisk sắp xẩy ra là một điều rất cần thiết. smartmontools là gói phần mềm bao gồm hai chương trình smartctl và smartd, chúng sử dụng công nghệ SMART (Self-Monitoring, Analysis and Reporting Techology System) đã được xây dựng sẵn trên các modern harddisk ATA và SCSI để điều khiển, theo dõi và dự báo lỗi cho storage system. smartmontools hỗ trợ các chuẩn ATA,ATAPI,SATA,SCSI và cả ổ tape. Nó chạy được trên hầu hết các OS như Mac OS X, Linux, FreeBSD, NetBSD, OpenBSD, Solaris, OS/2, Cygwin, QNX, eComStation ,Windown hoặc chạy trên các dạng boootable CD. Trên Redhat hay CentOS bạn có thể cài đặt smartmontools như sau. cài đặt bằng lệnh yum hay cài đặt từ gói rpm rpm -ivh smartmontools-5.38-6.i586.rpm hoặc cài đặt từ source tarball tar zxvf smartmontools-5.38.tar.gz cd smartmontools-5.38 ./configure make make install sau khi cài đặt bạn có thể kiểm tra harrddisk bằng lệnh smartctl kiểm tra xem harddisk của bạn đã Enable smart support chưa smartctl -i /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === [...] SMART support is: Available - device has SMART capability. SMART support is: Disabled nếu chưa bạn có thể Enable bằng lệnh smartctl -s on /dev/hda kiểm tra xem harddisk của bạn hỗ trợ những cơ chế test disk nào. smartctl -c /dev/hda thông tin về các chế độ test mà harddisk hỗ trợ có dạng như sau smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === General SMART Values: Offline data collection status: (0x85) Offline data collection activity was aborted by an interrupting command from host. Auto Offline Data Collection: Enabled. Self-test execution status: ( 249) Self-test routine in progress... 90% of test remaining. Total time to complete Offline data collection: (2460) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. No General Purpose Logging support. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 35) minutes. Conveyance self-test routine recommended polling time: ( 5) minutes. bạn chú ý ở phần cuối có thể hiện ba chế độ test mà harddisk này hỗ trợ và thời gian thực hiện nó. - Short self-test routine = short test - Extended self-test routine = long test - Conveyance self-test routine = conveyance test long test là chế đọ test cho bạn thông tin và kết quả chính xác nhất bạn có thể thực hiện test theo những chế độ test này bằng các lệnh tương ứng sau smartctl -t short /dev/hda smartctl -t long /dev/hda smartctl -t conveyance /dev/hda khi thực hiện lệnh test smartctl sẽ cho bạn biết khoảng thời gian và thời điểm kết thúc của quá trình test. Để hiển thị kết quả của quá trình test bạn dùng lệnh sau smartctl -l selftest /dev/hda thông tin trả về có dạng sau smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Conveyance offline Completed without error 00% 4697 - # 2 Extended offline Completed without error 00% 4697 - # 3 Short offline Completed without error 00% 4696 - thông tin trả về cho thấy không phát hiện lỗi trong quá trình test (nếu phát hiện lỗi trong quá trình test là lúc bạn nên backup dữ liệu và thây thế harddisk. ) bạn có thể chạy smartctl với một số tuỳ chọn hữu ích khác như sau smartctl -H /dev/sdb smartctl version 5.33 [x86_64-redhat-linux-gnu] Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED ... kiểm tra trạng thái hoạt động của harddisk, thông tin trạng thái được lấy từ các chế độ test online hoặc offline. Dòng “SMART overall-health self-assessment test result: PASSED” thể hiện harddisk này ở trạng thái hoạt dộng tốt. smartctl -A /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0003 158 157 021 Pre-fail Always - 3066 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 524 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0 9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 4695 10 Spin_Retry_Count 0x0013 100 100 051 Pre-fail Always - 0 11 Calibration_Retry_Count 0x0012 100 100 051 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 523 194 Temperature_Celsius 0x0022 111 094 000 Old_age Always - 32 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0009 200 200 051 Pre-fail Offline - 0 hiển thị các thông tin thuộc tính của SMART. tên thuộc tính thể hiện ở cột ATTRIBUTE_NAME, giá trị thuộc tính thể hiện ở dạng RAW (cột RAW_VALUE) và dạng Normalized (cột VALUE) có giá trị trong khoảng từ 1 đến 253. Mỗi thuộc tính có một giá trị ngưỡng (cột THRESH) nếu giá trị Normalized (cột VALUE) nhỏ hơn giá trị ngưỡng nghĩa là harddisk của bạn đang ở tình trạng lỗi khi đó giá trị ở cột WHEN_FAILED sẽ báo FAILING_NOW. Ngược lại nếu thuộc tính ở trạng thái tốt (giá trị Normalized lớn hơn giá trị ngưỡng ) cột này sẽ có dấu “-“. Chi tiết cụ thể bạn có thể tham khảo manpage của smartctl. Một số thuộc tính sau có ảnh hưởng lớn đến tình trạng hoạt động của harddisk Reallocated_Sector_Ct, Seek_Error_Rate, Reallocated_Event_Count, Offline_Uncorrectable,UDMA_CRC_Error_Count, Multi_Zone_Error_Rate, Hardware_ECC_Recovered. hoạt động theo dõi và kiểm soát trạng thái harddisk có thể được thực hiện dưới dạng deamon thông qua smartd. Bạn có thể cấu hình hoạt động của nó thông qua file cấu hình /etc/smartd.conf. Khi smard khởi động nó sẽ đọc file cấu hình /etc/smartd.conf và thực hiện quét các thiết bị hỗ trợ SMART để phát hiện các lỗi có thể tuân theo những điều khiển trong file cấu hình /etc/conf.d. Sau đây là một số tuỳ chọn thường được sử dụng. -s T/MM/DD/d/HH lập lịch chạy test T: thể hiện loại test các giá trị có thể là. L – long Shelf-Test, S – Short Shelf-Test, C – Conveyance Shelf-Test (ATA), O – Offline Immidiate Test (ATA). MM: thể hiện tháng trong năm. DD: thể hiện ngày trong tháng d: thể hiện ngày trong tuần HH: thể hiện giờ trong ngày vi dụ -s S/../.././02 thực hiện Short Shelf – Test vào lúc 02 giờ mỗi ngày. -s L/../../7/04 thực hiện long Shelf – Test vào lúc 04 giờ các ngày chủ nhật -m ADD gửi một email cảnh báo đến địa chỉ mail “ADD” khi phát hiện lỗi trong quá trình test. -H kiểm tra trạng thái hoạt động của harddisk, nếu phát hiện giá trị của những thuộc tính Prefailure nhỏ hơn giá trị ngưỡng (harddisk có thể không hoạt động được trong vòng 24 giờ tới ) thì một message ở mức log LOG_CRITICAL sẽ được gửi tới syslog. -d TYPE xác định loại thiết bị, các giá trị có thể của TYPE là: ata, scsi, sat, marvell, cciss,N, areca,N and 3ware - l TYPE: đưa ra thông báo nếu số lương lỗi tăng so với lần kiểm tra trước, các giá trị có thể của TYPE là error đưa ra thông báo nếu số lượng ATA error log tăng so với lần kiểm tra trước. self-test đưa ra thông báo nếu số lỗi trong quá trình SMART Shelf-Test Log tăng so với lần kiểm tra trước. -p đưa ra thông báo mỗi khi giá trị thuộc tính dạng prefail thay đổi giá trị (giảm giá trị) so với lần kiểm tra trước. -a tương đương với việc dùng các tuỳ chọn –H,-l error, -l shelftest, -c, –A Sau đây là một file smartd.conf mẫu. /dev/hda -a -m admin@example.com,root@localhost /dev/hdc -a -s L/../../7/03 /dev/sde -d hpt,1/1 -a -s S/../.././01 /dev/sde -d hpt,1/2 -a -s S/../.././02 /dev/sde -d hpt,1/3 -a -s S/../.././03 /dev/sg2 -d areca,1 -a -s L/../../7/00 /dev/sg2 -d areca,2 -a -s L/../../7/01 /dev/sg2 -d areca,3 -a -s L/../../7/02 /dev/sda -d scsi -s L/../../(1|4)/05 ở đây có 3 ổ đĩa SATA được kết nối HighPoint RocketRAID controler và 3 ổ đĩa SATA kết nối với Areca Raid controler. Theo Hải Thắng của Vnexperts Research Department Tin mới hơn:
Tin cũ hơn:
|