目录
一、修复MBR扇区故障
二、修复grub引导故障
三、etc/inittab文件丢失
四、linux密码重置
五、修复文件系统
六、系统磁盘耗尽故障
七、磁盘配额
应用示例:
1、关机挂载一块新硬盘,开机进入Linux系统,对新硬盘分区
①fdisk -l(查看硬盘设备分区列表,是否存在/dev/sdb设备信息)
现有磁盘分区
fdisk /dev/sdb
执行如下命令:
n(新分区)
p(主分区)
1(第1个分区)
1(起始扇区)
+10G(分区容量)
w(保存)
2、建立新硬盘的文件系统(格式化文件系统)
fdisk -l /dev/sdb1(查看sdb1分区列表信息)
mkfs -t ext4 /dev/sdb1(格式化/dev/sdb1分区)
挂载sdb1分区
mkdir /backup
mount /dev/sdb1 /backup
备份MBR扇区数据
dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1
模拟MBR被破坏的故障
dd if=/dev/zero of=/dev/sda bs=512 count=1
重启系统,发现无法正常启动
RHEL6.5光盘引导,进入急救模式(第3项)
之后会有如下多次选择,默认即可
这里不需要配置网络,选择no
Skip跳过
进入shell
3、从备份文件中恢复MBR扇区
fdisk -l (能看到sdb1分区,看不到sda设备,因为sda设备的MBR被破坏)
mkdir /backup(在急救模式下的虚拟磁盘中建立sdb1分区的挂载点目录)
mount /dev/sdb1 /backup
dd if=/backup/sda.mbr.bak of=/dev/sda bs=512 count=1
重启系统,此时可正常登录
①备份grub.conf文件(建议备份到第2块磁盘中)
mkdir /backup
mount /dev/sdb1 /backup
cp /boot/grub/grub.conf /backup/
模拟破环grub.conf文件
rm -rf /boot/grub/grub.conf
关机
方法一:
RHEL6.5光盘引导,进入急救模式(第3项)
设置光盘引导,即是将二三对调
保存退出,f10,选择从光盘重启
默认回车,直到配置ip选择否
进入一个shell
从备份文件中恢复grub.conf文件
fdisk -l (可看到sda、sdb设备)
mkdir /backup(在急救模式下的虚拟磁盘中建立sdb1分区的挂载点目录)
mkdir /sda1(创建sda1分区的挂载点目录)
mount /dev/sdb1 /backup
mount /dev/sda1 /sda1
cp /backup/grub.conf /sda1/grub/
重启系统,选择由硬盘启动,成功进入
方法二:
选择从硬盘启动
grub> root (hd0,0)(指定引导分区/boot,(hd0,0) 对应为 /dev/sda1)
grub> kernel /vmlinuz... ro root=/dev/... rhgb quiet(指定内核文件所在的路径、根分区所在的设备位置)
grub> initrd /initrd-...(指定引导过程中使用的缓存盘镜像文件位置)
grub> boot(启动进入系统)
进入系统后:从备份文件中恢复grub.conf文件
mkdir /backup
cp /backup/grub.conf.bak /boot/grub/grub.conf
备份/etc/inittab文件
cp /etc/inittab /root/inittab.bak
模拟inittab文件丢失
rm -rf /etc/inittab
重启系统进入文本命令模式,恢复inittab文件
图形化界面丢失
cp /root/inittab.bak /etc/inittab
重启系统
引导进入单用户模式,然后重设密码
在引导界面按e键
选子菜单第2项
按e键
敲空格
输入1
回车
输入b
执行passwd命令,修改root用户密码
应用示例:
模拟对/dev/sdb1分区的破坏操作
dd if=/dev/zero of=/dev/sdb1 bs=512 count=4
检查是否能挂载该分区
mkdir /sdb1
mount /dev/sdb1 /sdb1
报错:mount: you must specify the filesystem type
对/dev/sdb1分区进行修复
fsck –y -t ext4 /dev/sdb1
再次挂载该分区
mount /dev/sdb1 /sdb1(无错误提示,修复成功)
磁盘空间已被大量的数据占满,空间耗尽
虽然还有可用空间,但文件数i节点耗尽
无法写入新的文件,提示“… : 设备上没有空间”
部分程序无法运行,甚至系统无法启动
清理磁盘空间,删除无用、冗余的文件
转移或删除占用大量i节点的琐碎文件
进入单用户模式、急救模式进行修复
为用户设置磁盘配额
实现磁盘限额的条件
需要Linux内核支持
安装quota软件包
Linux磁盘限额的特点
作用范围:针对指定的文件系统(分区)
限制对象:用户帐号、组帐号
限制类型:
磁盘容量(默认单位为KB)
文件数量
限制方法:软限制、硬限制
应用示例:(对新加磁盘做配额限制)
rpm安装quota
1)启用文件系统的配额支持(添加usrquota、grpquota挂载参数)
vi /etc/fstab
/dev/sdb1 /sdb1 ext4 default,usrquota,grpquota 0 0
reboot重启系统
mount | tail -1(查看是否挂载成功)
/dev/sdb1 on /sdb1 type ext4 (rw,usrquota,grpquota)
2)检测磁盘配额并创建配额文件
关闭selinux setenforce 0
quotacheck -ugcv 文件系统
quotacheck -augcv
-a:检测所有可用的分区
-u:检测用户配额
-g:检测组配额
-c:创建配额数据文件
-v:显示执行过程信息
例如:
quotacheck -ugcv /dev/sdb1
ls -l /sdb1/aquota.*(查看是否生成配额文件)
3)编辑用户和组帐号的配额设置(edquota命令)
edquota -u 用户名(编辑用户配额)
edquota -g 组名(编辑组配额)
例如:
edquota -u zhangsan
Disk quotas for user zhangsan (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 80000 100000 0 10 15
第2列:此处不填写(系统自动检测的已使用配额值)
第3列:磁盘容量软限制
第4列:磁盘容量硬限制
第5列:此处不填写(系统自动检测的已使用配额值)
第6列:文件个数软限制
第7列:文件个数硬限制
Groupadd students
edquota -g students
Disk quotas for group users (gid 100):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 252 0 1024000 39 0 0
5)启用、关闭文件系统的配额功能(quotaon、quotaoff命令)
quotaon -ugv /sdb1
quotaoff -ugv /sdb1
6)验证磁盘配额功能
普通用户对设置配额的分区(挂载目录)具有写入权限
chmod 777 /sdb1
切换到启用配额的用户身份
su - zhangsan
切换到设置配额的分区(挂载目录)
cd /sdb1
创建指定数量的文件:使用touch命令,或cp命令
touch 1.txt 2.txt...16.txt(是否有出差提示)
ls(查看有多少文件,是否超出配额限制)
创建指定容量的文件:使用dd命令,或cp命令
rm -rf *.txt
dd if=/dev/zero of=myfile bs=1M count=120(是否有出差提示)