在使用xfs的linux机器上,我有一个奇怪的错误,我不知道如何调试和修复它。
以下是dmesg的摘录:
Info fld=0x17
end_request: I/O error, dev sde, sector 34412208504
sd 7:0:0:0: SCSI error: return code = 0x08000002
sde: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sde, sector 35840057200
sd 7:0:0:0: SCSI error: return code = 0x08000002
sde: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sde, sector 35799212408
sd 7:0:0:0: SCSI error: return code = 0x08000002
sde: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sde, sector 39444095352
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sdf, sector 32974487928
device-mapper: multipath: Failing path 8:80.
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sdf, sector 32973734264
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sdf, sector 22213009752
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sdf, sector 32940065144
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sdf, sector 32974552944
sd 7:0:0:1: SCSI error: return code = 0x08000002
sdf: Current: sense key: Aborted Command
<<vendor>> ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
Info fld=0x17
end_request: I/O error, dev sdf, sector 17956282744
Buffer I/O error on device dm-3, logical block 9666270717
lost page write due to I/O error on dm-3
I/O error in filesystem ("dm-3") meta-data dev dm-3 block 0xe7ffb01c2 ("xlog_iodone") error 5 buf count 12800
Buffer I/O error on device dm-3, logical block 4028959741
lost page write due to I/O error on dm-3
xfs_force_shutdown(dm-3,0x2) called from line 956 of file fs/xfs/xfs_log.c. Return address = 0xffffffff883bec58
Filesystem "dm-3": Log I/O Error Detected. Shutting down filesystem: dm-3
Please umount the filesystem, and rectify the problem(s)我如何调试这个?
谢谢。
发布于 2016-12-15 08:39:11
我知道这是一个非常古老的帖子,但由于答案是不正确的,我认为对未来的访问者来说,张贴一个正确的答案是有用的。
OP报告的错误消息与XFS本身无关,而是由坏的驱动器/电缆造成的。检查错误条目:
end_request: I/O错误,dev,扇区39444095352
系统无法检索位于sde地址39444095352上的数据。这通常意味着磁盘上的一个坏块。
Sd7:0:0:1: SCSI错误:返回代码= 0x08000002 sdf: Current: sense键:中止的Command供应商ASC=0xc0 ASCQ=0x23ASC=0xc0 ASCQ=0x23
SCSI命令由于超时(由坏块引起)被中止,磁盘返回特定的供应商代码,详细解释错误。
发出一个smartctl --all显示各种内部磁盘计数器。ID 5 (Reallocated_Sector_Ct)、197 (Current_Pending_Sector)和198 (Offline_Uncorrectable)的属性是特别感兴趣的,因为它们显示磁盘块不可读/重映射的情况。
在这种情况下你能做些什么?最安全和最受欢迎的方法是将整个可读的内容备份到另一个安全的磁盘(可能使用一些抗磁盘错误的方法,如ddrescue)。
如果不可能采取这一办法,则仍有两种可能性:
badblocks -n <dev> (这里是手册页):它将启动一个非破坏性的读/写测试,该测试将触发磁盘上坏块的重新映射过程。dd if=/dev/zero of=/dev/sde bs=512 count=1 seek=39444095352的受影响的坏块请注意,上述两种方法(特别是第二种方法)将导致数据丢失,因为受影响的不可读扇区将被覆盖。
在恢复/覆盖完成之后,您应该运行一个完整的文件系统检查,在本例中发出xfs_repair /dev/sde
发布于 2013-02-28 09:45:24
您可以使用xfs_db命令来调试XFS文件系统。请使用以下语法:
xfs_db [device with XFS installed]https://serverfault.com/questions/483346
复制相似问题