Linux上磁盘坏道检查和规避

在服务器故障定位中,经常遇到硬盘相关故障,其中磁盘坏道导致硬盘被控制卡离线的
问题就比较常见,比如,控制卡读硬盘的某个扇区有异常,会导致硬盘被控制卡离线,写某个扇区异常,会报io异常等,都可能是硬盘有坏道导致的,因此了解如何对硬盘进行坏道检查也是判断硬盘好坏的前提。
坏道和坏块:一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的。
影响:随着坏道的不断增加,会对磁盘或闪存容量产生破坏性,甚至可能会导致硬件失效。对于经常遇到的服务器来说,这种影响可能导致用户数据丢失,因此判断出异常盘进行更换就比较重要。
那么如何判断磁盘是否有坏道呢?
1.在linux系统下,通过系统命令badblocks工具进行判定,判定步骤如下:
Step1. 通过fdisk -l查看磁盘信息,我用的是虚拟机安装的centos系统,查询信息如下:
在这里插入图片描述
Step2.通过badblocks命令检查你硬盘上的坏道/坏块,检查如下,没有坏块。
在这里插入图片描述
其中sda2是检查的设备,-v是要求显示操作的详情,是通过read only操作判定设备是否有坏块的。
如果检查到坏道,需要将坏道进行屏蔽,通过badblocks -v /dev/sdx >badinfo.txt将信息定位到指定文件,通过下面命令进行屏蔽:
针对ext文件系统执行:e2fsck -l badinfo.txt /dev/sdx
针对其它文件系统:fsck -l badinfo.txt /dev/sdx
-l选项意思是把badinfo.txt中的坏块扇区号加入到sdx的坏块列表中。

2.通过smarmontools工具进行检查,如果没有自带,需要网上下载或从其它服务器copy后直接上传smartctrl到目的服务器。检查步骤:
Step1.通过smartctl检查设备健康状况,可以看出,目前使用的设备时ok的。
在这里插入图片描述
但通过这个判定只能说明硬盘没有彻底坏掉或没有严重坏道,需要通过-a或-x继续分析硬盘信息,具体如下,由于时虚拟机,信息不完整。
在这里插入图片描述
如果发现硬盘有smart异常,需要根据使用场景进行处理,如果对数据安全要求比较高,则需要立即对硬盘进行更换,再对故障盘进行分析。

参考文档:https://linux.cn/article-7961-1.html

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值