我们有一个小型“自制”服务器,运行完全更新的 Debian Wheezy (amd64)。安装了一个硬盘:WDC WD6400AAKS。主板是 ASUS M4N68T V2。
正常负荷:
- CPU:平均20%
- 每周大约有 50GB 的额外空间被占用。大约有 47GB 的上传文件和 3GB 的 MySQL 数据。
我担心硬盘可能要坏了。我看到失败前我跑步的时候在几个地方:
root@SERVER:/tmp# smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar Blue Serial ATA
Device Model: WDC WD6400AAKS-XXXXXXX
Serial Number: WD-XXXXXXXXXXXXXXXXXXX
LU WWN Device Id: 5 0014ee XXXXXXXXXXXXX
Firmware Version: 01.03B01
User Capacity: 640,135,028,736 bytes [640 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Mon Oct 28 18:55:27 2013 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
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: ( 247) Self-test routine in progress...
70% of test remaining.
Total time to complete Offline
data collection: (11580) 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.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 136) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x303f) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
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 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 157 146 021 Pre-fail Always - 5108
4 Start_Stop_Count 0x0032 098 098 000 Old_age Always - 2968
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 051 Old_age Always - 0
9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 15445
10 Spin_Retry_Count 0x0032 100 100 051 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 051 Old_age Always - 0
12 Power_Cycle_Count 0x0032 098 098 000 Old_age Always - 2950
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 426
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 2968
194 Temperature_Celsius 0x0022 111 095 000 Old_age Always - 36
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 160 000 Old_age Always - 21716
200 Multi_Zone_Error_Rate 0x0008 200 200 051 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
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% 15444 -
Error SMART Read Selective Self-Test Log failed: scsi error aborted command
Smartctl: SMART Selective Self Test Log Read Failed
root@SERVER:/tmp#
在一个教程中,我读到预失败是即将失败的征兆,在另一个教程中,我读到事实并非如此。你们能帮我解码一下智能控制?
如果我想确保数据完整性(每周大约 50GB 的新数据,在我感兴趣的整个期间最多 2TB),那么分享一些建议也很好。也许我会在 RAID4 中使用 2x2TB Caviar Black?
答案1
正如前面提到的,“Prefail”文本仅指示条目的类型。根据条目的不同,并非每个条目都是错误。例如,Spin_Up_Time 仅计算驱动器启动的频率,Load_Cycle_Count 计算磁头停放的频率。
让我停下来思考的值是 UDMA_CRC_Error_Count 为 21716。这可能是由电缆损坏/松动或电子故障引起的。
如果存在表面错误,则 Reallocated_Sector_Ct、Current_Pending_Sector 或 Offline_Uncorrectable 会上升。它们都为 0,因此磁盘可能完全正常。
以下表示测试仍在进行中:
Self-test execution status: ( 247) Self-test routine in progress...
70% of test remaining.
一旦完成,在“SMART 自检日志结构”部分中应该会有另一个条目。您应该使用长测试(smartctl -t long)来获取有意义的结果。记录的测试只是一个简短的测试。
关于更高的数据完整性:RAID4 至少需要 3 个磁盘,并且不再使用(由 RAID5 取代)。但对于您而言,使用 2 个磁盘的 RAID1 或使用 4 个磁盘的 RAID10 都比较合适。这两种模式都会使可用空间减半,但如果一个驱动器发生故障,仍可继续工作。RAID10 的优势在于速度更快,因为它将负载分散到更多驱动器上,并且根据哪个驱动器发生故障,即使有 2 个驱动器发生故障,也能继续工作。如果一个磁盘足够快,RAID1 也足够快(写入速度相同,读取速度加倍,以处理大量数据)。
答案2
“无错误完成”
提及 prefail 的列表显示了可能出现的错误类型及其阈值。您的最差值均未超过阈值。
获取 2 个磁盘,使用 RAID1 或获取 4 个磁盘并使用 RAID10。不使用 RAID4。