我有一个使用了一年的硬盘,现在它给我带来了麻烦。在传输了大约 8-10GB 的数据后,向它复制数据失败。它会自动变为“只读”。它的格式正确,为 ext4,我是它的所有者。在网上搜索后,看起来这是硬盘故障的症状。
既然 SMART 测试表明事实并非如此,我该如何证实这一点?
我做了一些显而易见的事情,比如检查磁盘实用程序,并运行了扩展的 SMART 测试。磁盘实用程序的所有结果都完美无缺。读取错误率和重新分配的扇区都显示为零。
我猜这个磁盘有问题,SMART 没有检测到它,但我不明白为什么。我想确认问题是什么。
我对机器中的其他磁盘没有任何问题。
fstab:
proc /proc proc nodev,noexec,nosuid 0 0 UUID=62e11126-3f06-43f0-bd5a-29b411bb8160 / ext4
错误=remount-ro 0 1
UUID=5e2d6348-be6e-4d5d-8f7f-1a5c1cab7db2 /home ext4
默认值 0 2 UUID=97e594a3-c783-4c73-97c0-682afcdc88b6 none swap sw 0 0
/dev/disk/by-label/Media /media/Media ntfs-3g 默认值,用户,本地化=en_GB.utf8 0 0
输出dmesg | less
:(上面还有数百行“缓冲区 I/O 错误”)
[22734.511487] Buffer I/O error on device sda1, logical block 302203
[22734.511489] Buffer I/O error on device sda1, logical block 302204
[22734.511490] Buffer I/O error on device sda1, logical block 302205
[22734.511492] Buffer I/O error on device sda1, logical block 302206
[22734.511494] Buffer I/O error on device sda1, logical block 302207
[22734.511496] EXT4-fs warning (device sda1): ext4_end_bio:251: I/O error writing to inode 9437465 (offset 4194304 size 524288 starting block 302215)
[22734.511500] ata1: EH complete
[22734.511616] EXT4-fs error (device sda1): ext4_journal_start_sb:327: Detected aborted journal
[22734.511619] EXT4-fs (sda1): Remounting filesystem read-only
[22734.519343] EXT4-fs error (device sda1) in ext4_da_writepages:2298: IO failure
[22734.538566] EXT4-fs (sda1): ext4_da_writepages: jbd2_start: 601 pages, ino 9437474; err -30
[22734.560225] ata1.00: exception Emask 0x10 SAct 0x1 SErr 0x400100 action 0x6 frozen
[22734.560253] ata1.00: irq_stat 0x08000000, interface fatal error
[22734.560256] ata1: SError: { UnrecovData Handshk }
[22734.560258] ata1.00: failed command: WRITE FPDMA QUEUED
[22734.560262] ata1.00: cmd 61/00:00:3f:68:25/04:00:00:00:00/40 tag 0 ncq 524288 out
[22734.560263] res 40/00:04:3f:68:25/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[22734.560264] ata1.00: status: { DRDY }
[22734.560268] ata1: hard resetting link
[22735.047845] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[22735.052069] ata1.00: configured for UDMA/33
[22735.067810] ata1: EH complete
[22735.136249] ata1.00: exception Emask 0x10 SAct 0x3f SErr 0x400100 action 0x6 frozen
fsck
结果:
tom@1204-Desktop:~$ sudo fsck /dev/sda1
[sudo] password for tom:
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
New_Volume: recovering journal
New_Volume contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (236669077, counted=236701938).
Fix<y>? yes
Free inodes count wrong (61048336, counted=61048349).
Fix<y>? yes
最后但并非最不重要的是读/写屏幕截图,这是新的。它过去在整个测试期间保持相当一致。
编辑 - 今天早上我开机时,驱动器已从 /dev/sda 更改为 /dev/sdc,很奇怪。我确定以前没有发生过这种情况,而且我确定是 /dev/sda。我换了一条已知良好的 SATA 电缆,在传输约 10GB 时发现同样的故障。我还没有更换 SATA 端口,下次我会尝试更换。(编辑 #2,是 SATA 端口,更换它解决了问题。将其标记为太本地化。)
输出sudo smartctl -a /dev/sda
=== START OF INFORMATION SECTION === Model Family: Western Digital Caviar Black Device Model: WDC WD1002FAEX-00Y9A0 Serial Number: WD-WCAW30776630 LU WWN Device Id: 5 0014ee 25acf2868 Firmware Version:
05.01D05 User Capacity: 1,000,204,886,016 bytes [1.00 TB] 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: Fri May 25 07:16:18 2012 BST 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: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled. Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run. Total time to complete Offline data collection: (16500) 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: ( 170) minutes. Conveyance self-test routine recommended polling time: ( 5) minutes. SCT capabilities:
(0x3035) SCT Status 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 176 173 021 Pre-fail Always - 4183 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 774 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always
- 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0 9 Power_On_Hours 0x0032 093 093 000 Old_age Always - 5518 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always
- 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 772 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always
- 39 193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 736 194 Temperature_Celsius 0x0022 118 111 000 Old_age Always - 29 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 200 000 Old_age Always
- 0 200 Multi_Zone_Error_Rate 0x0008 200 200 000 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 Extended offline Completed without error 00% 5514 -
SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.
答案1
既然 SMART 测试表明事实并非如此,我该如何证实这一点?
SMART 测试是“隔离”的,即一旦smartctl
命令驱动器进行测试,驱动器就会在内部处理所有事情,然后报告结果。因此,这可能不会揭示驱动器/控制器和主板之间的问题。
显而易见的推论是电缆损坏,但磁盘实用程序图表并不支持这一推论;读取也应该受到影响。不过,请更换电缆/SATA 端口,看看是否有不同。
使用 运行长时间的自检
smartctl -t long
;在强制模式下最快-C
(卸载所有分区!),完成后,使用 检查状态/错误-l
(一旦检测到错误,测试将中止)如果成功了,你还记得软件方面可能引发此问题的因素吗?内核升级/降级等?
最后,如果您的其他磁盘都正常,这很可能是驱动器的写入缓存控制器的一个奇怪错误。请尽快备份数据并进行 RMA。
(在评论中发表任何问题,我会更新答案。祝你好运!)