首页 > 系统相关 >Linux磁盘故障,模拟故障及解决思路方法

Linux磁盘故障,模拟故障及解决思路方法

时间:2023-08-12 12:35:57浏览次数:39  
标签:文件 dir1 rm 故障 Linux 磁盘 节点

Linux磁盘故障,模拟故障及解决思路方法_磁盘故障

每个分区起始位置都有一个inod表索引节点表(类似于目录表)

每一个文件都对应一个编号 称为索引节点,如果这个空间文件数太多了,记满了,就说明索引节点表耗尽。

故障1 该分区不能正常读写或者说只能读不能写了但是又没有满,就代表文件系统有问题,文件系统有问题需要进行修复

命令:

故障2:索引节点耗尽,没有空间了但是磁盘上具体的数据空间还是有,查看磁盘还有大量的空间可以使用,但是写文件写不上去了,可能是索引节点耗尽,索引节点耗尽一定是有大量的空文件,因为正常的索引节点表是非常大的。可以删除空文件解决。

故障3:磁盘本身就有问题读写可能不能完成或者很慢,或者磁盘有声音,磁盘可能出现坏道了,检查坏道,修复坏道。如果是物理的那就只能更换,逻辑的可以通过命令修复



1操作步骤

首先添加一块硬盘 分区 格式化 挂载 写文件  然后取消挂载 

用dd破坏这个分区 挂载

修复 xfs_repair 

故障原因

非正常关机、突然断电、设备读写失误等

文件系统的超级块(super-block)信息被破坏

故障现象

无法向分区中读取或写入数据

启动后提示“Give root password for maintenance”

解决思路

根据提示输入root 口令,进入修复状态

使用命令进行修复xfs_repair

2磁盘资源耗尽故障

故障原因

磁盘空间已被大量的数据占满,空间耗尽

虽然还有可用空间,但文件数i节点耗尽

故障现象

无法写入新的文件,提示“… : 设备上没有空间”

部分程序无法运行,甚至系统无法启动

解决思路

清理磁盘空间,删除无用、冗余的文件

转移或删除占用大量i 节点的琐碎文件

进入单用户模式、急救模式进行修复

为用户设置磁盘配额

删除空文件命令:find /dir1 -size 0 | xargs rm-rf   

用find在/dir1搜索-size(大小) 0的文件 

| xargs(拼凑 通过我拼凑一个个交给下一个命令) rm -rf

find /dir1 -name file* | xargs rm -rf   

用find 搜索/dir1 name名字为file*

| xargs(拼凑 通过我拼凑一个个交给下一个命令) rm -rf


模拟故障

首先添加一块硬盘 分区 格式化 挂载 写空文件,手动添加大量空文件太麻烦了 写个脚本。查看剩余i节点  df -i   


i=1
while [ $i -le 26000 ]
do
	touch /dir1/file$i
	let i++
done


i=1(定义一个变量i=1)

while(循环) [ $i(引用变量i) -le(小于或等于) 26000 ]

do执行

touch /dir1/file$i

let(让) i++(i递增)

done(完成)


先定义一个变量 i=1

这是一个循环语句 中括号代表条件判断 如果条件成立

do 执行相关的命令

done结束

查看 文件索引节点 ls -i


故障3

故障原因

磁盘设备中存在坏道(逻辑的或物理的)

故障现象

读取磁盘中的数据时,磁盘设备发出异常声响。

访问磁盘中的某个文件时,反复读取且出错,提示文件损坏

对于新建立的分区无法完成格式化

系统使用该磁盘时频繁死机

badblocks -sv /dev/sdb

s代表扫码 v显示过程  bad坏 blocks块  坏块 扫描



命令总结 xfs_repair /dev/sdb1   分区修复

badblocks -sv /dev/sda  硬盘修复

bad(坏)blocks(块) s修复v显示过程  

find /dir1 -name file* | xargs rm -rf  

在/dir1里面 查找名字为file*的文件| 拼凑后一个一个的给 rm -rf 删除

find /dir1 -size 0 | xargs rm -rf

在/dir1 里面 删除 size(空间)为0的文件  | 拼凑后一个一个的给 rm-rf删除

标签:文件,dir1,rm,故障,Linux,磁盘,节点
From: https://blog.51cto.com/u_15971294/7057465

相关文章

  • 解决linux mysql命令 bash mysql command not found 的方法
    错误:root@DB-02~]#mysql-uroot-bash:mysql:commandnotfound原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路......
  • linux系统安装bison,解决 These critical programs are missing or too old bison comp
    1、编译 glibc过程中报错../configure--prefix=/opt/glibc-2.272、首先查看bison版本  bison--versionbison-V貌似就没有安装bison。3、使用yum安装bison yuminstallbison 安装成功。 4、查看版本:bison--version 居然这么简单就完成了。5、继续编译 glibc......
  • 什么是Shell,初识Shell脚本Shell编程,shell介绍,Linux
    脚本脚本就是批处理平常一个命令不能完成的任务,写到一个文件当中,有多个命令按照一定的逻辑来进行编写编写完后去执行这个文件,随后他就会按照流程多个命令,多个语句,达到批处理的一个任务shell 系统分成了三层第一层是kernel(内核)内核是操作系统的核心,主要负责1管理硬件,电脑cpu是什么......
  • Linux下C语言调用libcurl库下载文件到本地
    一、项目介绍当前文章介绍如何使用C语言调用libcurl库在Linux(Ubuntu)操作系统下实现网络文件下载功能。libcurl是一个开源的跨平台网络传输库,用于在C和C++等编程语言中实现各种网络通信协议的客户端功能。它支持多种协议,包括HTTP、HTTPS、FTP、SMTP、POP3等,可以方便地进行数据的上传......
  • 定制LINUX发行版
    主流的发行版https://distrowatch.com/dwres.php?resource=major 如何自己制作Linux发行版?https://www.zhihu.com/question/21373233从零开始制作Ubuntu22.04LiveCDhttps://gitee.com/narukeu/build-ubuntu-live LINUX发行版:内核+实用工具集(lib...)+驱动+应用+安装......
  • Linux 释放IP重新获取
    命令格式:dhclient[options][if0[...ifN]]选项说明:-4 使用DHCPv4。-6 使用DHCPv6。-p<port-number> 指定DHCP客户端监听的端口号(默认端口号86)。-d 总是以前台方式运行程序。-q 安静模式,不打印任何错误的提示信息。这是默认行为。-v 启用详细日志消息。-r ......
  • Linux 发行版 Debian 12.1 发布
    在今年6月初,Debian12“bookworm”发布,而日前Debian迎来了12.1版本,主要修复系统用户创建等多个安全问题。Debian是最古老的GNU/ Linux 发行版之一,也是许多其他基于Linux的操作系统的基础,包括Ubuntu、Kali、MX和树莓派OS等。这个操作系统以稳定性为重,不追......
  • Pycharm2023.2远程连接Linux服务器
    1.点击右下角(图中RemotePython处)2.输入服务器地址和用户3.输入密码4.只需在Location选择自己Linux中的虚拟环境Baseinterpreter不需要更改,点击create即可......
  • Linux介绍
    目录一Linux介绍二Linux学习环境搭建2.1虚拟化介绍2.2vmware安装2.3centos7安装一Linux介绍#https://zhuanlan.zhihu.com/p/429509333#一什么是操作系统OperatingSystem(操作系统)简称OSWindows,MacOS,Linux都是操作系统#二什么是BootLoader在嵌入式操作系......
  • Linux之shell脚本的条件语句
    目录一、测试1.1测试1.2比较整数数值1.3字符串1.4逻辑测试1.5双中括号[[]]1.6(){}二、if语句2.1分支结构2.2case2.3echo一、测试1.1测试1.2比较整数数值1.3字符串1.4逻辑测试1.5双中括号[[]]1.6(){}二、if语句2.1分支结构2.2case2.3echo......