数据恢复实验

实验一:修复文件系统
1.环境描述:
    在Linux系统中,非正常关机,突然断电,设备数据读写异常等原因导致文件系统的破坏。比较常见的是超级块(supper-block)损坏。
2.名词解释:
    超级块--文件系统的核心“档案”,它记录了该文件系统的类型,大小,空闲磁盘块等信息,类似Windows的分区表。
3.实验案例演示:
第一,破坏超级块(首先添加硬盘1G,并分区格式化)
dd if=/dev/zero of=/dev/sdb1 bs=512 count=4
mount /dev/sdb1 /mnt
显示:mount: you must specify the filesystem type
第二,修复超级块(参数的先后顺序不能错)
fsck -y -t ext3 /dev/sdb1


实验二:MBR扇区故障
1.添加一块硬盘
2.分区格式化
  1>fdisk /dev/sdb--->n-->p-->1-->几次回车跳出-->w
  2>mkfs.ext3 /dev/sdb1
3.mkdir /backup    创建挂载点
4.mount /dev/sdb1 /backup  挂载分区
5.dd if=/dev/sda of=/backup/sda.mbr.bak(名称随意) bs=512 count=1
  备份MBR,512字节
6.dd if=/dev/zero of=/dev/sda bs=512 count=1  模拟故障后,重启系统
7.系统无法正常进入,开机后(保证系统盘放入光驱)进入菜单,
选择Rescue installed system 进入急救模式
8.一系列设置后进入文本界面
  mkdir /tmpdir
  mount /dev/sdb1 /tmpdir
  dd if=/tmpdir/sda.mbr.bak of=/dev/sda bs=512 count=1
  exit之后选择重启选项


实验三:GRUB引导故障
BIOS-->MBR-->GRUB
第一步:备份grub.conf
1.mount /dev/sdb1 /backup/
2.cp /boot/grub/grub.conf /backup/
3.ls /backup/
  显示内容:grub.conf  lost+found  mbr.bak
第二步:破坏和恢复
1.rm -rf /boot/grub/grub.conf,删除后重启系统
2.系统无法正常进入,开机后(保证系统盘放入光驱)进入菜单,选择Rescue installed system 进入急救模式
3.一系列设置后进入文本界面
  chroot /mnt/sysimage
  mkdir /mulu001
  mount /dev/sdb1 /mulu001
  cp /mulu001/grub.conf /boot/grub
  两次exit后选择重启选项,之后选择Boot from local drive
  
实验四:grub菜单加密
grub-md5-crypt,回车后连续输入两次相同密码,会生成一个乱码,将乱码复制到password --md5 后面
vim /boot/grub/grub.conf
找到title CentOS (2.6.32-279.el6.i686)这一行
这行之上输入password --md5 $1$M7kLX$O1HOM5eDVYptpt8uVtfAH1
此时代表为GRUB菜单加密
这行之下输入password --md5 $1$M7kLX$O1wftheDVYptpptpt8ure1
此时代表为进入系统进行加密

实验五:磁盘资源耗尽故障
1.环境描述:


2.实验案例演示:
第一,模拟i节点耗尽故障
1.添加一块硬盘,分区格式化,挂载
1>fdisk /dev/sdb--->n-->p-->1-->几次回车跳出-->w
2>mkfs.ext3 /dev/sdb1
3>mkdir /disk
4>mount /dev/sdb1 /disk
5>df -i /disk   确认该文件系统中i节点的使用情况
显示结果:
文件系统    Inode    已用(I)  可用(I)  已用(I)%%  挂载点
/dev/sdb1   65280     11     65269      1%     /disk


第二,编写测试程序,耗尽i节点
1>vim killinode.sh
具体内容如下:
#!/bin/bash
i=1
while [ $i -le 65269 ]
do
touch /disk/a$i
let i++
done
第三,执行脚本并验证i节点占用情况
1>sh killinode.sh &
2>df -i /disk
显示结果:
文件系统    Inode   已用(I)  可用(I) 已用(I)%% 挂载点
/dev/sdb1    65280   65280    0   100%      /disk
3>尝试创建文件
touch /disk/file
显示结果:
touch:无法创建“/disk/file”:设备上没有空间
4>查看磁盘剩余空间
df -hT /disk
显示结果:
文件系统     类型    容量   已用  可用 已用%% 挂载点
/dev/sdb1    ext3   1004M   19M  934M   2%   /disk
第四,修复i节点耗尽故障
rm -rf /disk/a*

你可能感兴趣的:(数据恢复实验)