“结构需要清洁”,硬件故障?

“结构需要清洁”,硬件故障?

我的文件夹所在的驱动器/home显示出故障迹象,我正在尝试迁移到新驱动器。我购买了 4TB SSD,使用 格式化它ext4,将其安装为带有 USB/SATA 连接器的外部驱动器,然后rsync将我的/home文件夹删除。

到目前为止,一切都很好。但是当我将其替换为故障驱动器并重新启动时,我的操作系统报告:

unable to mount local folders
structure needs cleaning

这听起来像是一个损坏的文件系统,但fsck没有报告任何错误。也许新硬件有问题,但我运行badblocks它,它也没有错误地返回。我再次格式化并再次尝试,却出现了同样的错误。奇怪的是,如果我登录root并手动安装新/home驱动器,它安装正常,并且似乎接受读/写。但是,dmesg确实显示了一些错误/dev/sdb(这是/home该系统上的驱动器)。我已经将它们复制到下面,尽管我自己已经足够流利地解析它们。

有任何想法吗?作为上下文,我正在运行 Gentoo Linux。

[    0.914006] sd 6:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
[    0.914052] sd 6:0:0:0: [sdb] Write Protect is off
[    0.914074] sd 6:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    0.914117] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    0.914224] sd 6:0:0:0: [sdb] Preferred minimum I/O size 512 bytes
[    0.915929]  sdb: sdb1
[    0.916093] sd 6:0:0:0: [sdb] Attached SCSI disk
[    5.012731] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[    5.012740] sd 6:0:0:0: [sdb] tag#0 Sense Key : Illegal Request [current] 
[    5.012747] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Unaligned write command
[    5.012753] sd 6:0:0:0: [sdb] tag#0 CDB: Read(16) 88 00 00 00 00 00 00 00 08 10 00 00 00 08 00 00
[    5.012757] I/O error, dev sdb, sector 2064 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[    5.012786] sd 6:0:0:0: [sdb] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[    5.012792] sd 6:0:0:0: [sdb] tag#1 Sense Key : Illegal Request [current] 
[    5.012797] sd 6:0:0:0: [sdb] tag#1 Add. Sense: Unaligned write command
[    5.012802] sd 6:0:0:0: [sdb] tag#1 CDB: Read(16) 88 00 00 00 00 00 00 00 08 18 00 00 00 08 00 00
[    5.012805] I/O error, dev sdb, sector 2072 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[    5.012817] sd 6:0:0:0: [sdb] tag#31 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[    5.012822] sd 6:0:0:0: [sdb] tag#31 Sense Key : Illegal Request [current] 
[    5.012827] sd 6:0:0:0: [sdb] tag#31 Add. Sense: Unaligned write command
[    5.012832] sd 6:0:0:0: [sdb] tag#31 CDB: Read(16) 88 00 00 00 00 00 00 00 08 08 00 00 00 08 00 00
[    5.012836] I/O error, dev sdb, sector 2056 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[   35.852468] sd 6:0:0:0: [sdb] tag#13 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=30s
[   35.852476] sd 6:0:0:0: [sdb] tag#13 Sense Key : Illegal Request [current] 
[   35.852483] sd 6:0:0:0: [sdb] tag#13 Add. Sense: Unaligned write command
[   35.852490] sd 6:0:0:0: [sdb] tag#13 CDB: Read(16) 88 00 00 00 00 00 00 00 08 28 00 00 05 40 00 00
[   35.852494] I/O error, dev sdb, sector 2088 op 0x0:(READ) flags 0x84700 phys_seg 168 prio class 2
[   35.852574] sd 6:0:0:0: [sdb] tag#14 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=30s
[   35.852581] sd 6:0:0:0: [sdb] tag#14 Sense Key : Illegal Request [current] 
[   35.852586] sd 6:0:0:0: [sdb] tag#14 Add. Sense: Unaligned write command
[   35.852591] sd 6:0:0:0: [sdb] tag#14 CDB: Read(16) 88 00 00 00 00 00 00 00 0d 68 00 00 05 40 00 00
[   35.852595] I/O error, dev sdb, sector 3432 op 0x0:(READ) flags 0x84700 phys_seg 168 prio class 2
[   35.852672] sd 6:0:0:0: [sdb] tag#15 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=30s
[   35.852677] sd 6:0:0:0: [sdb] tag#15 Sense Key : Illegal Request [current] 
[   35.852682] sd 6:0:0:0: [sdb] tag#15 Add. Sense: Unaligned write command
[   35.852687] sd 6:0:0:0: [sdb] tag#15 CDB: Read(16) 88 00 00 00 00 00 00 00 12 a8 00 00 03 f0 00 00
[   35.852690] I/O error, dev sdb, sector 4776 op 0x0:(READ) flags 0x80700 phys_seg 126 prio class 2
[   36.858014] EXT4-fs (sdb1): ext4_check_descriptors: Checksum for group 18880 failed (53845!=52774)
[   36.858017] EXT4-fs (sdb1): group descriptors corrupted!

另一个实验:我尝试将另一个驱动器安装到托架中,它也不会自动安装为/home.以 root 身份登录后我什至无法手动安装它。据我所知,这第三个驱动器没有任何问题,我可以通过 USB/SATA 适配器安装它。两个新驱动器都是 SSD,而仍然安装的旧故障驱动器是硬盘。

该 SATA 端口是通过 SATA/PCIE 适配器实现的,因此我认为问题可能出在适配器上。但在这种情况下,旧硬盘仍然可以工作就很奇怪了。

答案1

这些I/O error, dev sdb, sector 2072 op 0x0:(READ)消息清楚地指出磁盘本身存在某种问题,而不是文件系统的真正错误(这只是警告您读取的数据已损坏)。

相关内容