Linux Centos 物理机 备份 恢复 backup restore

最近有一个项目,客户要做升级,

因为centos 要变成滚动更新,所以逼不得已,只能把现在的centos 8.2升级成redhat 8

客户主机是DELL PowerEdge R440刀片机,有Raid,4.4T

但买的时候没有购买其他服务,所以备份比较棘手

网上找寻了大多数方案,基本都是停机做镜像,但谁也不想晚上去客户那操作

找来找去,找到了redhat官方推荐的Rear(Relax and Recover)

https://relax-and-recover.org/

只需要yum install 相关的pkg,就可以直接进行备份,

设置很详细,可以备份到挂载硬盘,也可以备份到远程ssh机器或网络硬盘

该备份方式是软硬结合,

会备份硬盘分区结构和其中的所有文件

注意,这个软件对Intel 的Raid

Intel(R) Rapid Storage Technology

支持的不好,可能Intel raid本身比较特殊,还没发现其他问题。

注意备份之前最好停掉硬盘写入相关的东西,例如db,为了数据完整

安装

yum install rear grub2-efi-x64-modules

grub2-efi-x64-modules为UEFI的启动支持,如果不安装,备份uefi时候会出错缺少lib

备份

设置备份存储位置

编辑 /etc/rear/local.conf

增加以下内容

BACKUP=NETFS
BACKUP_URL=file:///mnt/backup

我这里用的是挂载的硬盘保存备份,

此设置默认会把系统内所有文件压缩打包成tar保存

如果不想压缩,也可以用rsync代替tar,

详细的设置请在官方文档查看

rear mkbackup   //备份

备份后会生成iso和系统备份文件在/mnt/backup/{主机名}/

iso可用其他工具做成启动引导U盘,内置恢复程序

恢复

从iso启动,进入以下界面

进入第一项后输入任意字符回车(我没设置),进入console

进入后手动挂载备份用的硬盘

mount /dev/sdb /mnt/backup  //挂载路径和设置保持一致,让rear找到它

执行 rear recover

如果系统发现同样的硬盘有多个会让你确认恢复到哪里

一般会自动进行恢复,但出现错误的话,可能就要手动修复了,还好备份本身就是整个文件系统的备份,

手动修复

重新安装os后(为了重建分区),用U盘启动rescue把原系统的文件全部覆盖过去

注意排除 sys proc dev 这几个虚拟目录

覆盖后在系统的root生成 .autorelabel 文件,

touch .autorelabel

启动时会重新设置selinux的文件label,

这步很重要,不做会导致进不去系统,类似password错误之类的莫名其妙的问题都是这个原因

重启之前注意手动修改/etc/fstab内的硬盘uuid

格式化重新分区之后uuid会变,更新uuid来避免device进系统后挂载失败

blkid 可显示当前硬盘情报和id

/etc/fstab 内的uuid

注意这里的UUID各对应的root和EFI分区

和blkid里的/dev/sda2 /dev/sda1一致

修改完毕后重启系统即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章