Ubuntu下逻辑坏道解决方案

article/2025/9/19 12:02:11

一.逻辑坏道修复方法

逻辑坏道
服务器硬盘相比其他部件是较容易坏的,如突然断电、大量频繁写入都会加速硬盘的老化,下面介绍一些判断硬盘状况和修复的方法。

发现硬盘坏道

dmesg

当有硬盘坏道时,通常在dmesg输出的信息中会有 Buffer I/O Error,所以经常检查dmesg的输出可以及时发现是否存在硬盘问题。

badblocks

badblocks 可以用来检查硬盘是否有坏道,也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘。

检查命令:

badblocks -s -v -o /root/bb.log /dev/sda

以上命令检查/dev/sda 整块盘的坏道,结果写入/root/bb.log,输出结果为坏道块号。

当然也可以针对分区单独检查,先使用df -h查看分区,例如:

df -h

Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   50G   26G   22G  55% /
tmpfs                          16G   68K   16G   1% /dev/shm
/dev/sda1                     485M   39M  421M   9% /boot
/dev/mapper/VolGroup-lv_home  760G  252G  471G  35% /home

若单独检查 /home 是否有坏道,则命令如下:

badblocks -s -v -o /root/bb-home.log /dev/mapper/VolGroup-lv_home

硬盘坏道类型

硬盘坏道分为物理坏道逻辑坏道

物理坏道就是硬盘实体有坏的地方,物理坏道推荐换硬盘,当然也有办法重新分区来隔离坏道,不过可能也用不久,所以不推荐。

逻辑坏道是磁盘磁道上面的校验信息(ECC)跟磁道的数据对不上号所致。出现这一故障的原因,通常都是因为一些程序的错误操作或是该处扇区的磁介质开始出现不稳定的先兆。物理坏道也是逻辑坏道产生的一种原因。

修复磁盘坏道

首先,当检测出坏道之后首先要看下服务器磁盘的灯有没有报警,一般的服务器都有硬盘报警灯,灯显示红色说明磁盘不工作了,这个明显是物理性故障问题,需要更换磁盘。

其次,若硬盘灯没有报警,或已经换了硬盘,但检查仍然有坏道,此时可能是逻辑坏道,需要尝试修复,若能修复说明确实是逻辑坏道,若修复不了说明是物理坏道。

逻辑坏道修复方式

仍然要用到badblocks,下面举例来说明。
假设下面是badblocks在/dev/mapper/VolGroup-lv_home分区检查出的坏道列表:

217874591
217874592
217874593
217874594
217874595

①先备份数据(可选)
若修复的硬盘或分区的重要数据已备份,此部分可以省略

dd if=/dev/mapper/VolGroup-lv_home  skip=217874591 of=/tmp/217874591-217874595.dat count=5

②修复
硬盘在使用时不能修复,否则可能存在写并发的问题,所以修复前需要umount对应分区(若为系统所在分区就没办法在线修复了,因为无法umount)。

umount /dev/mapper/VolGroup-lv_home

但umount可能出现"Device busy"的错误,是因为有程序在使用这个分区,需要将这些进程都关闭。那么怎么知道哪些进程占用分区呢?使用fuser(命令如下),其中/home是分区对应的挂载目录。

fuser -m /homefuser -m -v -i -k /home

第一条fuser命令列出使用/home的进程ID,第二条列出PID并kill掉进程(带有提示确认),建议先使用第一条命令列出PID,然后针对查看是哪些类型的进程,不要盲目杀死进程。

umount 分区成功后,修复命令如下,其中-s表示给出进度,-w表示写入修复的,后面是结束(END)和开始(START)块号,注意END在前,START在后。

badblocks -s -w /dev/mapper/VolGroup-lv_home 217874595 217874591

修复后再重新检查下

badblocks -s -v /dev/mapper/VolGroup-lv_home 217874595 217874591

③恢复数据(可选)

dd if=/tmp/217874591-217874595.dat of=/dev/mapper/VolGroup-lv_home 

④重新分区检查

badblocks -s -v -o /root/bb-home.log /dev/mapper/VolGroup-lv_home

若没有坏道说明修复已完成,若有坏道可以尝试重复以上方法。

完成后重新mount分区

mount /dev/mapper/VolGroup-lv_home /home

硬盘使用的一些建议

硬RAID还是要有的
硬件RAID服务器自带,性能比软件RAID要高。根据对数据的安全性、硬盘大小,存储性能来评估该选择的RAID类型,常用的RAID类型如下:

RAID0:存储性能(读写效率)最高,连续的数据分散到多个磁盘上存储,提高并发访问。

RAID1:数据安全性高,即同样的数据在另一块盘上备份一份,硬盘的容量也就减少一半。

RAID5:兼具RAID0和RAID1的优点。存储性能大于RAID1,小于RAID0;数据安全性大于RAID0,小于RAID1。

读写频繁的操作不要放在/分区

/ 分区是存放系统程序的,一般也比较小,读写频繁的日志不要放在根分区,这样损坏起码不会影响系统的稳定性。

2.格式化命令

sudo mkfs -t ext4 /dev/sdb1

3.解除挂载命令

sudo umount /dev/sdb1

4.挂载命令

sudo mount /dev/sdb1(硬盘实际分区)  /home/sj/disk2(挂载路径)

5.复制不间断命令

sudo cp --sparse=always work2_disk.img /inspur/common/group/sj/54_image/work2_disk.img

6.扩充沙盒命令

在这里插入图片描述7.监控gpu运行状态

 watch -n 1 nvidia-smi

8.压缩命令:

 sudo tar -zcvf cartridge_writer_20180807.tar.gz cartridge_writer

sudo是管理员权限,第二个是tar命令,第三个是代表参数,第四个代表压缩成的包名字,最后一个表示当前你的目录名

sudo tar 参数 要压缩的名称(tar.gz后缀必带) 当前你的目录名称

9.解压缩命令:

sudo tar -zxvf cartridge_writer8.tar.gz

sudo tar 参数 当前要解压缩的名称

参数释义:

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名


http://chatgpt.dhexx.cn/article/HFJBdPjn.shtml

相关文章

mhdd4.6修复坏道图解教程

方法一: 步骤1:按一下F4,在出现的菜单上把光标移动到Remap 我们看到右边显示的是OFF,那么我们回车一下就变成ON了,意思是打开修复功能的意思; 步骤2:当我们再次安下F4,软件检测到坏道便开始修…

修复移动硬盘坏道计算机睡眠了,硬盘坏道屏蔽工具DiskGenius,教您如何修复硬盘坏道...

电脑是我们的好战友,好伙伴,如果我们一不小心就会出现硬盘坏道等情况,当然肯定不会全部都是坏道,不能使用了。只要我们学会将硬盘坏道屏蔽起来,电脑的操作效果就不会对使用有任何影响。如何使用硬盘坏道屏蔽工具呢&…

计算机磁盘坏道怎么隔离,小科普 | 硬盘坏道就凉凉?把它隔离出去吧!(DLC)...

原标题:小科普 | 硬盘坏道就凉凉?把它隔离出去吧!(DLC) 紧接着上回说到(戳这里),HDD机械硬盘用的多了,出现坏道也在所难免,我们可以通过DiskGenius 对硬盘坏道进行检测和修复。那么今天就来奉上之前文末所说的DLC内容——“如何隔离坏道?”。 ▌坏道的概念 并不是所有坏…

DiskGenius屏蔽硬盘坏道方法

到了这一步,首先需要说明的是已经使用过工作扫描完磁盘坏道,并且自己已经很清楚的知道坏道在整块磁盘所在的位置了。 本文示例工具 工具:DiskGenius 磁盘大小:29.9GB 坏道所在位置:50%扫描到坏道 自己可以用计算器算…

机械硬盘屏蔽坏道

前言: 电脑机械硬盘坏了,装不进系统,后来买了一块固态,太小了。想着能不能修一下那个机械硬盘,把机械硬盘做成移动硬盘,存个数据岂不美哉,上网了解了下,可以实现,说干就干…

ICMP 重定向攻击和ICMP不可达报文攻击

ICMP 重定向攻击和ICMP不可达报文攻击 00X1 写在前面 最近一直在研究各种畸形报文和一些特殊的报文,并且需要根据这些攻击特点进行相应的数据包侦测与拦截。一切其他的攻击以后有时间再来写吧。当我研究到了ICMP重定向和不可达报文攻击的时候,觉得很有趣…

网络攻击类型

网络攻击类型 一、SQL Injection:(SQL注入) SQL注入是最常见的攻击方式,它的主要原理是:攻击者通过改变WEB页的参数(如GET/POST数据或是URLS)直接将SQL片断提交到服务器,并在服务器端执行。 二、Cross-Site…

python ddos攻击_DDoS攻击工具

DDoS攻击工具 综合性工具 综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描、安全审计、防火墙等。实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是“网络检查或测试工具” Hping ?…

02.iptables攻击防御

DDOS 攻击 分布式拒绝服务(Distributed Denial of service) 多计算机联合发起DOS攻击,造成目标机器资源耗尽、系统过载 DDOS 攻击方式 Ping flood:大量ping包 Ping of Death:修改后的ping包,如造成逻辑错…

畸形报文攻击(1)

畸形报文攻击(1) 0x01 写在前面 最近在工作之余,都在看CTF东西,然后和朋友们玩狼人杀玩到昏天黑地,差点忘记要把对畸形报文攻击的研究记录下来,这篇文章的内容是畸形报文攻击中的smurf攻击,land攻击,Fragg…

单包攻击防御

单包攻击防御 目录 单包攻击防御 畸形报文攻击防御 1.smurf攻击 处理方式 2.Land攻击 处理方式 3.Fraggle攻击 处理方式 IP分片报文攻击 (IP Fragment攻击) 定义: 处理方式 Ping of Death攻击 定义 处理方式 TCP报文标志位攻…

【计算机网络原理·实验·第八章】SYN攻击Land攻击

SYN攻击和land攻击,使用 虚拟机环境测试。 SYN攻击:发送端发送数据时截获该数据包,然后篡改发送端的源IP地址并发给服务器,服务器会返回给错误的IP地址确认数据包,而收到确认数据包计算机会忽略该请求,然而…

着陆攻击LAND Attack

2019独角兽企业重金招聘Python工程师标准>>> 着陆攻击LAND Attack 着陆攻击LAND Attack也是一种拒绝服务攻击DOS。LAND是Local Area Network Denial的缩写,意思是局域网拒绝服务攻击,翻译为着陆攻击只是一种错误的理解。攻击原理为&#xff0…

浅析GC-垃圾回收

前置知识 CLR:公共语言运行时 CLR(Common Language Runtime):CLR的核心功能包括内存管理,程序集加载,类型安全,异常处理和线程同步,而且还负责对代码实施严格的类型安全检查&#…

【JVM】垃圾回收机制详解(GC)

目录 一.GC的作用区域二.关于对象是否可回收1.可达性分析算法和引用计数算法2.四种引用类型 三.垃圾收集算法1.标记-清除算法2.复制算法3.标记-整理算法4.分代收集算法 四.轻GC(Minor GC)和重GC(Full GC) 一.GC的作用区域 可以看jvm详解之后,再来理解这篇文章更好 …

垃圾回收机制的各种疑问

目录 jvm的内存模型中,运行时数据区分为哪几个部分?JVM如何判断一个对象所占内存是可以被回收的?什么是年轻代?方法区和永久带的联系是什么?为什么要分年轻代和老年代?为什么新生代和老年代要采用不同的回收…

垃圾回收(GC) 很干,很全

说一下垃圾回收机制 垃圾回收主要针对的是JVM的堆内存,我讲一下我了解的hotspot实现的jvm, 分为新生代和老年代,按照以前的说法,还有一个永久代,永久代在方法区里(物理上跟老年代相连),保存了class信息,静态变量,常量池等, jdk1.8之后,方法区实现发生了变化,取消了永久代的概念…

浅谈垃圾回收机制

目录 前言: 1.标记清除(主要) 2.引用计数(次要) 3.一些注意的点 前言: JavaScript的垃圾回收机制是为了防止内存泄漏的,所谓的内存泄漏是指当已经不需要某块内存时这块内存还存在着&#xff…

通过图文给你讲明白java GC的垃圾回收机制

本文原链接 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 1. JAVA GC 概述 JAVA GC采用了分代思想,将java堆分成新生代,年老代,永久代。GC算法主要有标记-清除,标记-压缩,复制算法。 新生代…