使用rsync向NTFS格式外接硬盘传输大量小文件引发磁盘损坏的问题求助
rsync向NTFS格式外接硬盘传输大量小文件引发磁盘损坏的问题求助
各位好,我最近碰到一个非常棘手的问题:当用rsync向NTFS格式的外接硬盘传输大量小文件(比如几十万张图片)时,总会触发IO错误,之后硬盘就无法正常挂载。不过每次出现这种情况后,我用ntfsfix都能修复硬盘,所以我有点怀疑是不是硬件本身的问题?这两天已经出现超过20次磁盘损坏了,想请教大家到底是系统、rsync还是磁盘本身的问题导致的?
另外还有个奇怪的现象:就算传输过程中没有触发IO错误,传输完大量文件后卸载磁盘也要花大概10分钟,这也不太正常。
我的系统是Ubuntu 20.04,硬盘是Seagate SDC003(2TB,格式化为NTFS)。
触发错误时的dmesg输出
[102560.315796] blk_update_request: I/O error, dev sdc, sector 2088 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [102560.315800] Buffer I/O error on dev sdc1, logical block 5, async page read [102560.315868] blk_update_request: I/O error, dev sdc, sector 2184 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [102560.315870] Buffer I/O error on dev sdc1, logical block 17, async page read [102560.315877] blk_update_request: I/O error, dev sdc, sector 2120 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [102560.315878] Buffer I/O error on dev sdc1, logical block 9, async page read [102560.315935] blk_update_request: I/O error, dev sdc, sector 2088 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [102560.315936] Buffer I/O error on dev sdc1, logical block 5, async page read [102560.315944] Buffer I/O error on dev sdc1, logical block 5, async page read [102560.315956] Buffer I/O error on dev sdc1, logical block 17, async page read [102560.315965] Buffer I/O error on dev sdc1, logical block 5, async page read [102560.315972] Buffer I/O error on dev sdc1, logical block 5, async page read [102560.315979] Buffer I/O error on dev sdc1, logical block 5, async page read
ntfsfix修复输出
Mounting volume... $MFTMirr does not match $MFT (record 0). FAILED Attempting to correct errors... Processing $MFT and $MFTMirr... Reading $MFT... OK Reading $MFTMirr... OK Comparing $MFTMirr to $MFT... FAILED Correcting differences in $MFTMirr record 0...OK Processing of $MFT and $MFTMirr completed successfully. Setting required flags on partition... OK Going to empty the journal ($LogFile)... OK Checking the alternate boot sector... OK NTFS volume version is 3.1. NTFS partition /dev/sdc1 was processed successfully.
更新:rsync失败后立即运行的smartctl -a输出
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.15.0-69-generic] (local build) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Seagate Barracuda 2.5 5400 Device Model: ST2000LM015-2E8174 Serial Number: WDZXFWCV LU WWN Device Id: 5 000c50 0e08ae450 Firmware Version: 0001 User Capacity: 2,000,398,934,016 bytes [2.00 TB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Form Factor: 2.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-3 T13/2161-D revision 3b SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Fri Jun 16 16:28:00 2023 CST 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: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. 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: ( 0) seconds. Offline data collection capabilities: (0x71) SMART execute Offline immediate. No Auto Offline data collection support. Suspend Offline collection upon new command. No 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: ( 1) minutes. Extended self-test routine recommended polling time: ( 326) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. SCT capabilities: (0x3035) SCT Status supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 10 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 075 064 006 Pre-fail Always - 30523320 3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 449 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 071 060 045 Pre-fail Always - 13036046 9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 6120 (197 141 0) 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 90 184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 052 047 040 Old_age Always - 48 (Min/Max 47/48) 191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 11 192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 32 193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 1715 194 Temperature_Celsius 0x0022 048 053 000 Old_age Always - 48 (0 13 0 0 0) 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 175 (86 165 0) 241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 5808417042 242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 1793836935 254 Free_Fall_Sensor 0x0032 100 100 000 Old_age Always - 0 SMART Error Log Version: 1 No Errors Logged SMART Self-test log structure revision number 1 No self-tests have been logged. [To run self-tests, use: smartctl -t] 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.
备注:内容来源于stack exchange,提问作者trisct
相关产品推荐
相关产品推荐

