故障恢复(残次版)

视频地址

一:文件系统故障修复案例

模拟搞坏磁盘中的某一块

dd if=/dev/zero of=/dev/sdb1 bs=1k count=10(默认4K)

1.修补分区中每个组中坏掉的超级块部分
查看超级块的备份块

dumpe2fs 磁盘位置

如:

dumpe2fs /dev/sdb1

使用备份超级块进行修复(超级块的备份块有几份,默认最近,可能最近的备份块可能修复不了,可以制定其他备份块进行恢复
{组0,1{32768},3{98304},5{163840},7,9有备份块,每个组的第一块)
fsck -y 磁盘位置(默认)

如:

fsck -y /dev/sdb1

指定修复块

e2fsck -b 修复块号 磁盘位置

e2fsck -b 98304 dev/sdb1

它支持多种文件系统类型,包括但不限于ext2、ext3、ext4、XFS、Btrfs等

xfs文件系统修复(不支持人工指定某一备份块进行修复):

xfs repair 磁盘位置

当用户在利用 fsck 命令修复磁盘分区以后,如果发现分区中有文件丢失,就可以到对应的 lost+found 目录中去查找,
但由于无法通过文件名称分辨各个文件,这里可以利用 file 命令查看文件系统类型,进而判断出哪个是我们需要的文件

sync:强制将内存中的数据写入硬盘中,立即写入,默认30s
故障恢复(残次版)_第1张图片

二:文件系统扩容

红帽7后,配置文件中写入挂载的数据分区 第一个0全量/1增量
如果数据分区损坏,重启可能起不来,需要输入root密码进入救援模式,查询挂载情况mount -a 再对其中损坏的文件分区进行修复
扩展挂载的文件系统(如文件系统挂在/上,且磁盘还有剩余存储)

Kernel 3.6之后

0.挂载光驱
mount /dev/cdrom  /media/
1.下载扩展的软件(红帽7自带,需要安装)
cd /media/AppStream/Packages
rpm -ivh cloud-utils-growpart-0.29-2.el8.noarch.rpm
2.自己加硬盘,云硬盘支持在线扩展
fdisk -l
3.扩展逻辑卷

growpart 分区

如:

growpart  /dev/sda 5

再查看fdisk -l

df -h
4.扩展文件系统

resize2fs 挂载点(ext4)
xfs growfs 挂载点(其他)
如:

xfs growfs /

再查看fdisk -l

df -h

成功!!!

Kernel 3.6之前

红帽7(Kernel 3.6)之前扩展挂载的文件系统(小概率会出现数据丢失情况,挂载点存储空间越小,丢失概率越高)

df -h
0.先卸载挂载

umount 挂载点
如:

umount /data
2.进入到分区中去(/dev/sda6)

fdisk 分区

如:

fdisk /dev/sda
3.扩展分区(删掉第6个分区,再分区)
d
6
n
回车
+10G
w
4.扩展分区,再挂载
resize2fs /dev/sda6     (ext4文件系统)
mount /dev/sda6 /data/
df -h

成功!!!

三:删根故障修复案例(双热机要顺些)

模拟
rm -rf /
ctrl +C,关机

开机快速进入救援模式(需要去查如何操作)
3
创建文件夹(当前进入到迷你系统中)把分区挂载上去,查看哪个分区是根分区

mkdir /readhat
mount /dev/sda5 /readhat/
df -h(查看挂上去的文件系统大小)

查看环境是否为双机热备,是的话执行下列操作

1.在完好的主机上压缩被破坏主机没有的文件(/etc)

tar -zcvf /temp/etc.tar.gz /etc/

2.在被破坏主机上人为配置网络(需要查看完好的主机的ip)

ifconfig(会看到没有ip)
ifconfig cns160 192.168.1.101
ping 完好主机的ip(能ping通则说明两台主机能正常通信)

3.创建文件夹,把压缩包拷到被破坏主机上

mkdir /data
scp [email protected]:/temp/etc.tar.gz /data/
yes
输入密码

4.进入压缩包所在目录,并解压到原来的根目录下(这里是/readhat)

cd /data/
ls
tar -zxvf etc.tar.gz -C /readhat/

5.重复1~4操作

6.系统找根分区,是通过读取/etc/fstab

vi /readhat/etc/fstab

把UUID修改成相应的文件系统分区
重启快速进入救援模式
1
如果不能正常启动,就需要继续进入救援模式下去修复
再重启快速进入救援模式
1
能正常进入则进行下一步操作(此时进入的是系统的根,之前3进入的是迷你系统的根)
修复boot和引导层协议
1.修复根分区所在的硬盘,再进行挂载光驱,安装光驱中的kernel软件对 进行修复

grub2-install /dev/sda
mkdir /media
mount /dev/cdrom /media
cd /media/BaseOS/Packages
rpm -ivh kernel-***-core.rpm --force

修复boot

grub2-mkconfig -o /boot/grub2/grub.cfg
exit
exit

出现菜单栏,点击需要等待(在等待中可能会出现错误,先不管,记住出现的问题如:3ddabc…
如果出现SELinux的报错,需要重启并在
启动进入菜单栏后时添加内核参数,临时关闭SELinux
linux16这行最末尾添加 selinux=0 内核参数
此时被破坏主机应该能启动起来了
在完好主机上查看之前出现的错误**3ddabc…**在/etc中是啥

grep -irn 3ddabc /etc/

是swap的UUID冲突了!!!
在被破坏主机中修改主机名,IP(修改ip,删除UUID)
彻底禁掉selinux

vi /etc/selinux/config

查询自己的UUID

blkid

替换/etc/fstab,/etc/default/grub中的UUID,有就替换,没有就不管

vi /etc/fstab
vi /etc/default/grub
再修复boot(在此状态下操作)
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

重启时可能存在ssh服务出错的情况(ssh证书冲突)
进入到相关ssh目录下(如:/etc/ssh)删除证书,重启服务(会自带生成新证书)

rm -rf ssh_host*
systemctl restart sshd
systemctl status sshd
reboot(再次检验是否还有问题)

创建挂载点时,取名z开头的,最后才删除(删除按字母顺序依次删除)

你可能感兴趣的:(备忘录,服务器,数据库,运维)