我已经设置了一台机器,使用Ubuntu 20.04
.这台机器工作得很好,但最近,它开始给我一种非常奇怪的行为。有一次,当我远程工作时,突然我无法使用任何东西。所有的二进制文件都是无法访问的,每当我尝试使用它们的路径调用它们时,例如/usr/bin/echo "Test"
我都会收到提示cannot <command>: Input/Output error
。
后网上找我发现这可能是由于硬盘问题造成的。但我的问题是,我该如何解决这个问题?显然,系统的状况并不稳定,必须予以解决。有什么建议么?
这是同事重新启动机器后的日志示例dmesg -T --level=warn,err
,尽管我看不到它以某种方式将问题与硬盘联系起来。
smartmontools log (sudo smartctl -a /dev/sda)
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-47-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Toshiba X300
Device Model: TOSHIBA HDWE140
Serial Number: 69F9K2YWFBBG
LU WWN Device Id: 5 000039 95bb0145e
Firmware Version: FP1R
User Capacity: 4,000,787,030,016 bytes [4.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS (minor revision not indicated)
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Sep 25 15:35:54 2020 CEST
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: ( 120) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No 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: ( 479) minutes.
SCT capabilities: (0x003d) 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 0x000b 100 100 050 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0027 100 100 001 Pre-fail Always - 4092
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 12
5 Reallocated_Sector_Ct 0x0033 100 100 050 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 050 Pre-fail Offline - 0
9 Power_On_Hours 0x0032 096 096 000 Old_age Always - 1886
10 Spin_Retry_Count 0x0033 100 100 030 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 12
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 6
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 8
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 12
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 48 (Min/Max 26/55)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 253 000 Old_age Always - 0
220 Disk_Shift 0x0002 100 100 000 Old_age Always - 0
222 Loaded_Hours 0x0032 096 096 000 Old_age Always - 1886
223 Load_Retry_Count 0x0032 100 100 000 Old_age Always - 0
224 Load_Friction 0x0022 100 100 000 Old_age Always - 0
226 Load-in_Time 0x0026 100 100 000 Old_age Always - 573
240 Head_Flying_Hours 0x0001 100 100 001 Pre-fail Offline - 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.
答案1
所以,最后,我有机会查看实际机器并进行一些更改。
这个问题(至少看起来是这样)是通过执行以下操作解决的;主板上的 SATA 端口 #0 有一条悬空电缆,未连接到任何 HDD 或 SSD。相反,我的 HDD 通过 SATA 端口 #1 上的另一根电缆连接。确实,在许多情况下,主板会根据 SATA 插槽的 ID 确定其优先级(0 > 1 > 2 > 3 > ...)。
所以,我取下了悬空的电缆(老实说,我不知道是谁首先把它放在那里的),然后我启动了机器。
自从我做了这个愚蠢的改变,即从主板上的 SATA 集线器上拔掉一根悬挂的电缆后,问题就没有再出现了。显然,这不是磁盘分区错误的问题,因为所有磁盘都是新的且状态良好。