linux磁盘读写错误,记一次断电偶然导致Linux磁盘IO故障无法读写

linux磁盘读写错误,记⼀次断电偶然导致Linux磁盘IO故障⽆法
读写
机房偶然的⼀次断电中,恢复服务器后出现了 ⽆法读写磁盘。
其他挂载的磁盘均⽆异常
查询⽇志得知
[root@huidou03 data]# dmesg|greperror
[Firmware Warn]: GHES: Poll interval is0 for generic hardware error source: 1, disabled.
sas: ata1: end_device-0:0: dev error handler
sas: sas_eh_handle_sas_errors: task0xffff880377ee3840is aborted
sas: sas_eh_handle_sas_errors: task0xffff880377ee35c0is aborted
sas: ata1: end_device-0:0: cmd error handler
sas: ata1: end_device-0:0: dev error handler
sas: sas_ata_task_done: SAS error 8a
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x5)
蛋白酶体抑制剂end_request: I/O error, dev sda, sector 1950622088end_request: I/O error, dev sda, sector 1950622080JBD2: I/O error detected when updating journal superblock for sda1-8.
EXT4-fs error (device sda1) inadd_dirent_to_buf: Journal has aborted
EXT4-fs error (device sda1) inext4_rename: Journal has aborted
EXT4-fs (sda1): previous I/O error to superblock detected
EXT4-fs error (device sda1) inext4_da_writepages: IO failure
EXT4-fs (sda1): previous I/O error to superblock detected
EXT4-fs error (device sda1): ext4_journal_start_sb: Detected aborted journal
JBD2: Detected IO errorswhile flushing file data on sda1-8EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block - inode=23068673, block=92274720EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block - inode=33292289, block=133169184EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block - inode=83623937, block=334495776EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block -inode=105906177, block=423624736EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block -inode=94109697, block=376438816EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block -
inode=87818241, block=351272992EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block -
inode=20840449, block=83361824
磁盘挂了。。。
我单纯的以为 可能是系统I/O异常 就reboot 重启了。
发现⽆法进⼊系统, ⼜报 BIOS  异常,⼜报⽆法到启动盘
我晕了。
调整思路开始操作
断电,拆机,重置BIOS,插电,开机
⼀顿猛如虎的操作,结果依旧异常
后断电静置了10分钟
插电,开机,进救援模式
按 ‘e’ 到第⼆⾏⾥ 加了 'selinx=0'
重启,终于能进系统了。
然后就报 UUID:XXXXXX ⼀堆 error。。。
赶紧把出故障的 磁盘 在  /etc/fstab ⾥⾯对应的 UUID 给注释掉, 因为系统启动时会⾃动 mount UUID 对应的磁盘
因为那个出了故障 所以启动时⽆限报错,可以 df -h 查询到该磁盘 ,但是⽆法读取内容
回报故障
ls: cannot access xxx: Input/output error
这时候就要进⼊ 单⽤户模式 进⾏修复了
[root@huidou03 data]#init 1[root@huidou03 data]# runlevel
N1
让他⾃动修复、
<4 -a  /dev/sda1
新闻体裁[root@huidou03 data]# 4 /dev/sda1
xxxxxxx/dev/sda1 clear xxxxx全国土壤污染状况调查公报
学校物联网
再将  /etc/fstab ⾥⾯对应的 UUID 给注释去掉
reboot 重启
完美搞定!
fsck简介
fsck不仅可以对⽂件系统进⾏扫描,还能修复⽂件系统的⼀些问题,要注意:fsck扫描⽂件系统时⼀定要在单⽤户模式下,修复模式下,或者把磁盘umount 后进⾏。
警告:如果扫描运⾏中的系统,会造成系统⽂件的损坏
⽂件系统扫描⼯具有很多,其中fsck默认⽀持⽂件系统ext2,如果是其他的⽂件系统就需要3
最好通过不同的⽂件系统来调⽤不同的扫描⼯具。
必要参数:
-a ⾮互交模式,⾃动修复
-c 检查是否存在有损坏的区块。
pm2.5 合肥-3命令会把全部的执⾏过程,都交由其逆向叙述,便于监控程序
-d 详细显⽰命令执⾏过程
-f 强制进⾏检查
夹具装配图-F 检查⽂件系统之前,先清理该保存设备块区内的数据
-l 把⽂件中所列出的损坏区块,加⼊标记
-L 清除所有损坏标志,重新标记
-n ⾮交互模式,把欲检查的⽂件系统设成只读
-P  设置2命令所能处理的inode⼤⼩为多少
-r 交互模式
-R 忽略⽬录
-s 顺序检查
-S 效果和指定“-s”参数类似
-t  显⽰2命令的时序信息。
-
v 显⽰详细的处理过程
-y 关闭互动模式
查看当前运⾏级别:runlevel 切换到单⽤户模式下:init 1  然后再使⽤fsck命令修复。

本文发布于:2024-09-21 20:39:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/399018.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   磁盘   模式   检查   损坏
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议