Linux常见系统故障
Linux常见系统故障
1.修复MBR扇区故障
2.修复GRUB引导故障
3./etc/inittab文件丢失
4.遗忘root用户密码
5.修复文件系统
6.磁盘资源耗尽故障
一、修复MBR扇区故障
1.关机添加一块硬盘,开机查看硬盘设备分区列表,是否存在/dev/sdb设备信息
2.对新硬盘分区
2.1新建一个主分区
2.2新建一个扩展分区
2.3新建两个逻辑分区,然后保存
3.查看sdb中分区列表信息
fdisk -l /dev/sdb
4.格式化文件系统,这里暂时只格式化/dev/sdb1
mkfs -t ext4 /dev/sdb1
5.创建一个挂载点,挂载sdb1分区
mkdir /sdb1
mount /dev/sdb1 /sdb1
6.备份MBR扇区数据
dd if=/dev/sda of=/sdb1/sda.mbr.bak bs=512 count=1
7.模拟MBR被破坏的故障
dd if=/dev/zero of=/dev/sda bs=512 count=1
8.然后重启系统,发现系统无法重启
9.从备份文件中恢复MBR扇区
添加虚拟机与光盘的连接,重启系统,自动进入如下界面,现在第三个(救援模式)
10.系统加载后,一直下一步,直到出现如下图,选择第一个
11.执行fdisk -l 能看到sdb1分区,看不到sda设备,因为sda设备的MBR被破坏(linux 系统的分区记录存放在mbr中)
12.在急救模式下的虚拟磁盘中建立sdb1分区的挂载点目录
mkdir /sdb1
mount /dev/sdb1 /sdb1
dd if=/sdb1/sda.mbr.bak of=/dev/sda bs=512 count=1
13.重启系统,然后系统就能正常工作了
二、修复GRUB引导故障
1.备份grub.conf文件(建议备份到第2块磁盘中)
mkdir /backup
mount /dev/sdb1 /backup
cp /boot/grub/grub.conf /backup/grub.conf.bak
2.模拟破环grub.conf文件
rm -rf /boot/grub/grub.conf
3.重启系统,发现系统无法正常加载
4.进入救援模式,此时只能进入bios设置boot启动顺序,把光盘引导调整到前面,然后保存,此时系统会加载光盘
5.查看硬盘分区情况,此时可以看到两个硬盘,因为grup配置文件损坏,但还是会成功加载分区记录
6.在急救模式下的虚拟磁盘中建立sdb1分区的挂载点目录,此时需要创建两个挂载点,以及挂载sda1(grup文件所在分区)和sdb1(备份grup配置文件所在分区)
mkdir /backup(在急救模式下的虚拟磁盘中建立sdb1分区的挂载点目录)
mkdir /sda1(创建sda1分区的挂载点目录)
mount /dev/sdb1 /backup
mount /dev/sda1 /sda1
cp /backup/grub.conf.bak /sda1/grub/grub.conf
7..重启系统,然后系统就能正常工作了
三、/etc/inittab文件丢失
1.备份/etc/inittab文件
cp /etc/inittab /root/inittab.bak
2.模拟inittab文件丢失
rm -rf /etc/inittab
3.重启系统进入文本命令模式,恢复inittab文件 #重新系统后,系统进入文本命令模式,因为运行级别配置文件(inittab)丢失
cp /root/inittab.bak /etc/inittab
4.重启系统,然后系统就能正常进入图形界面了
四、遗忘root用户密码
解决方法:引导进入单用户模式,然后重设密码
1.重启系统,在引导界面按e键
2.在按e,进入然后选第二项
3.再按e进入,敲空格,输入1,然后回车 #1代表单用户模式
4.上一步,回车后又返回以前,按b,重新引导,然后就进入单用户模式了,然后修改root用户密码
5.重启系统,用修改过的密码登录
五、修复文件系统
故障原因:
非正常关机、突然断电、设备读写失误等
文件系统的超级块(super-block)信息被破坏
故障现象
无法向分区中读取或写入数据
启动后提示“Give root password for maintenance” (启动硬盘super-block被破坏)
解决办法:
根据提示输入root口令,进入修复状态
使用fsck命令进行修复
1. 模拟对/dev/sdb1分区的破坏操作
dd if=/dev/zero of=/dev/sdb1 bs=512 count=4
2. 检查是否能挂载该分区
3.上图提示报错,没有指定文件类型,那我们就添加文件类型,但是添加文件类型还是报错,从下图的报错信息中可以看出,真正的原因是因为superblock(超级块出现问题)
4. 对/dev/sdb1分区进行修复
fsck –y -t ext4 /dev/sdb1
5.再次挂载该分区 无错误提示,修复成功
六、磁盘资源耗尽故障
故障原因:
磁盘空间已被大量的数据占满,空间耗尽
虽然还有可用空间,但文件数i节点耗尽
故障现象:
无法写入新的文件,提示“… : 设备上没有空间”
部分程序无法运行,甚至系统无法启动
解决思路:
清理磁盘空间,删除无用、冗余的文件
转移或删除占用大量i节点的琐碎文件
进入单用户模式、急救模式进行修复
为用户设置磁盘配额
1.这里只测试文件节点耗尽
2.写一个while 死循环,一直创建空文件,这里以/boot/test为例
i=1
while [ 1 ]
do
cd /boot/test
touch "$i".txt
let "i++"
done
3.没有运行脚本之前的/boot/test目录下的节点数
4.运行完脚本之后/boot/test目录下的节点数已经用完,但是磁盘还有剩余空间
5.此时在向/boot/test写入数据,会提示失败,虽然还有空间剩余,这是因为Linux的安全存储机制,只要节点数或者空间任何一个使用完,都不能再进行写入数据
6.解决办法,删除占用大量i节点的琐碎文件
这里删除/boot/test目录下的所有文件,然后在写入数据测试
rm -fr /boot/test/*
7.磁盘配额
7.1. 磁盘限额需要安装quota软件包 yum install -y quota
7.2. 启用文件系统的配额支持(添加usrquota、grpquota挂载参数)
mkdir /sdb1
chmod 777 /sdb1(为/sdb1授权)
注:第一个字段为被挂载的分区,第二个字段为挂载的目录,第三个字段是被挂载的分区的文件系统类型,后面的几个字段是支持quota的参数。各字段用空格分隔
reboot重启系统(或mount -a读取/etc/fstab文件,使重新挂载生效),重启进入文本编辑界面按回车
7.3
mount | tail -1(查看是否挂载成功)mount(查看是否挂载成功)
mount | grep /dev/sdb1
/dev/sdb1 on /sdb1 type ext4 (rw,usrquota,grpquota)
ls /sdb1
lost+found
7.4检测磁盘配额并创建配额文件
quotacheck -ugcv /dev/sdb1
ls -l /sdb1/aquota.*(查看是否生成配额文件)
7.5编辑用户和组帐号的配额设置(edquota命令)
edquota -u 用户名(编辑用户配额)
edquota -g 组名(编辑组配额)
例如:新建用户和组
edquota -u zhangsan 编辑用户配额
edquota -g students 编辑组配额
启用、关闭文件系统的配额功能(quotaon、quotaoff命令)
quotaon -ugv /sdb1
普通用户对设置配额的分区(挂载目录)具有写入权限
chmod 777 /sdb1
切换到启用配额的用户身份su - zhangsan
切换到设置配额的分区(挂载目录)cd /sdb1
创建指定数量的文件:使用touch命令,或cp命令
创建指定容量的文件:使用dd命令,或cp命令
rm -rf *.txt
关闭文件系统配额功能
Linux常见系统故障的更多相关文章
- 2 . Linux常见命令
Linux常见命令格式: 命令名称 选项 参数 ls -alh 文件/目录 --all #ls 显示当前目录内容 #ls -l 显示文件详细信息 #ls -hl h已常见单位显示文件大小 k M G# ...
- Linux常见疑难问答
Linux常见疑难问答 (1)按a~z顺序排列启动服务进程. #exportLC_ALL=C #英文环境变量设置,主要用于解决乱码问题 #chkconfig –list | gre ...
- Linux 常见的trouble shooting故障排错
Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 一个linux常见命令的列表
这是一个linux常见命令的列表. 那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝. 所有的命令已在Fedora和Ubuntu下做了测试 命 ...
- Linux常见操作
前面的话 本文将详细介绍Linux常见操作 基本概念 Linux严格区分大小写,所有内容以文件形式保存,包括硬件 Linux没有扩展名的概念,不靠扩展名来区分文件类型.但有一些约定俗成的扩展名 压缩包 ...
- Linux常见英文报错中文翻译(菜鸟必知)
Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...
- Linux常见系统命令与文件操作
一.Linux常见文件操作 (1)cd /: 在Linux 系统中斜杠“/”表示的是根目录. cd / ,即进入根目录. (2)cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/r ...
- (转)linux常见故障一:linux 文件系统变只读
linux常见故障一:linux 文件系统变只读 原文:https://www.cnblogs.com/ginvip/p/6375672.html 1. 重启系统看是否可以自动修复. 2. 使用fsc ...
随机推荐
- Python的数据库操作(Sqlalchemy)
ORM 全称 Object Relational Mapping, 翻译过来叫对象关系映射.简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系.这样,我们要操作数据库,数据库中的表 ...
- Linux篇---Vi的使用
一.前述 Vi类似记事本,所以用好记事本对编程效率有很大得影响,有着事半功倍的效率. 二.具体操作 1.打开文件vim /path/to/somefilevim +# :打开文件,并定位于第#行 v ...
- HBase篇--初始Hbase
一.前述 1.HBase,是一个高可靠性.高性能.面向列.可伸缩.实时读写的分布式数据库.2.利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量 ...
- Python内置函数(24)——frozenset
英文文档: class frozenset([iterable]) Return a new frozenset object, optionally with elements taken from ...
- qt5 connect问题
参考资料:Qt学习之路2 在qt从4到5的升级过程中,connect的方法只是添加了一些重载的形式,qt5新增的connect添加了编译器类型检查,如果遇到匹配失败的,或者找不到信号/槽的地方 ...
- 第五章 服务容错保护:Spring Cloud Hystrix
在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,随着服务的积压,可能 ...
- SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档
Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...
- [Leetcode]669 Trim a Binary Search Tree
Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...
- 解决Mysql错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
需要重启服务器:sudo /etc/init.d/mysql restart
- 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务
windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...