Ubuntu下逻辑坏道解决方案

2023-05-16

一.逻辑坏道修复方法

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

发现硬盘坏道

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 /home

fuser -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: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu下逻辑坏道解决方案 的相关文章

随机推荐

  • 安装Python3.8.10和ssh连接

    xff01 xff01 xff01 xff01 制作镜像之前防火墙要关掉 xff08 必须要关的 xff09 systemctl stop ufw span class token punctuation span service syst
  • WebSSH安装和开机自启设置

    一 安装 apt install nfs span class token punctuation span common WebSSH 要求 Python2 7 或 3 4 43 如果有 Python 环境 xff0c 可以使用 pip
  • novnc安装和开机自启设置

    一 安装和使用novnc 1 下载noNVC span class token function git span clone https github com novnc noVNC git 2 创建安装连接 VNC的默认会话不是安全的
  • vnc安装和开机自启设置

    一 安装VNC 键入以下命令以在 Ubuntu 服务器上安装 TigerVNC xff1a sudo apt install tigervnc standalone server tigervnc common 现在安装了 VNC 服务器
  • 研究生如何发表论文必读

    研究生如何发表论文必读 这是一个一年三篇IF大于7的牛人当我问到他怎么这么强的时候 xff0c 他给我他在网上总结发文章的秘笈 看了实在是心中有一种感觉 xff0c 特奉献出来 一 研究生必备四本 俗话说好记性不如烂笔头 xff0c 所以一
  • Debian Linux进入不了图形界面的折腾

    首先我的操作系统是Debian Linux xff0c 我Debian用的是Xfce桌面环境 xff0c 昨天我用了命令apt get install gnome 安装了一堆软件之后重启 xff0c 就进入不了图形界面了 xff0c 只能进
  • ROS与matlab进行通讯—保姆级教程

    话不多说 xff0c 直接来进行配置 xff1a 所用软件 xff1a windows10下matlab2018b和同一台 电脑上虚拟机 virtubalbox上的Ubuntu melodic 18 04版本 第一步 xff1a 将虚拟机网
  • stm32蜂鸣器实验

    硬件连接 xff1a 提示 xff1a 不能通过IO口直接驱动大功率器件 实验步骤 xff1a 使能IO口时钟 调用RCC APB2PeriphColckCmd 初始化IO口模式 调用函数BEEP Init 操作IO口 xff0c 输出高低
  • samba源码安装

    Data 2017 11 30 Author cjh Theme samba源码安装 最近在玩TI的AM5728开发板 xff0c 采用交叉编译 xff0c 在使用nfs挂在确实有些不习惯 xff0c 所以最后还是忍不住在上面安装了samb
  • vscode使用

    VScode自动调整格式 Shift 43 Alt 43 F 简书 jianshu com vscode 设置 tab 为四个空格 abbcccdde的博客 CSDN博客 vscode设置tab为4个空格 生产力 VSCode必备插件 C
  • Ubuntu使用apt-get安装本地deb包

    Ubuntu使用apt get安装本地deb包 milantgh 博客园
  • 随遇而安也是一种选择

    随遇而安也是一种选择 故事的开头都是相似的 xff0c 故事的结尾各有各的传奇 xff0c 各有各的平凡 题记 高中的岁月总是让人难忘的 xff0c 菁菁岁月中的庆阳一中 xff0c 充满了书生意气的神采飞扬 xff0c 恩师与同窗 xff
  • OFDPA软件概述

    OFDPA软件概述 OF DPA xff08 openflow data plane abstraction xff09 是一个应用软件组件 实现了 openflow与broadcom SDK间适配层的功能 OF DPA在broadcom交
  • freertos和ucos的区别

    一 freeRTOS比uCOS II优胜的地方 xff1a 1 内核ROM和耗费RAM都比uCOS 小 xff0c 特别是RAM 这在单片机里面是稀缺资源 xff0c uCOS至少要5K以上 xff0c 而freeOS用2 3K也可以跑的很
  • wget和curl中使用代理

    命令使用代理 wget curl 都支持使用代理 wget e http proxy 61 10 1 4 43 8080 proxy mimvp com curl x 10 1 4 43 8080 proxy mimvp com 环境变量使
  • SQL 触发器与WebApi回执

    1 需求数据库表添加 xff0c 修改 xff0c 删除数据 xff0c 触发器生效 xff0c 推送数据数据到WCF接口 a 创建WCF服务 xff0c 发布服务 b 启用数据库CLR功能 xff0c 默认是关闭状态 EXEC sp co
  • inelliJ IDEA注册码

    http idea lanyus com
  • 正则表达式之?、(?:pattern)、(?!pattern)、(?=pattern)理解及应用

    今天朋友问我一个问题 xff0c 是这样子的 xff0c 通过正则表达式匹配html标签input包含hidden的字符串 xff0c 具体如下 xff1a 34 lt input type 61 34 hidden 34 id 61 34
  • cmake源码安装

    Data 2017 12 1 Author cjh Theme cmake源码安装 在玩TI AM5728时 xff0c 要用到cmake编译程序 xff0c 无奈开发板又不能用apt get只好自己源码安装了 cmake源码下载 解压源码
  • Ubuntu下逻辑坏道解决方案

    一 逻辑坏道修复方法 逻辑坏道 服务器硬盘相比其他部件是较容易坏的 xff0c 如突然断电 大量频繁写入都会加速硬盘的老化 xff0c 下面介绍一些判断硬盘状况和修复的方法 发现硬盘坏道 dmesg 当有硬盘坏道时 xff0c 通常在dme