CentOS7 系统备份还原及迁移【MBR引导迁移EFI引导并使用LVM卷】
因为原来是1T的机械硬盘,实际占用空间不多。所以打算换成容量小的固态硬盘,或者镜像虚拟化云化改造,虚拟磁盘小。
同时为了方便后续扩容,所以将原来直接挂载分区的方式变更为使用LVM卷。
原始环境:1T MBR硬盘、CentOS7.7.1908、直接挂载sda3到根目录、sda3为xfs格式分区。
一、准备工作
准备好相同版本的CentOS安装光盘
安装好相关的备份还原支持工具
yum install -y xfsdump dump
uname -r # 记住系统内核版本号,后续可能会用到
二、备份/dev/sda3根目录分区
xfsdump -L CentOS7.7 -M rootfs -f /root/CentOS7-rootfs.dump /dev/sda3
# -L:对文件系统进行简易的说明;-M:对存储媒介进行简易的说明。
# 如果是ext4格式分区,可用:dump -0f /root/CentOS7-rootfs.dump /
备份完成后,将备份好的CentOS7-rootfs.dump文件取出来到其他地方
三、卸载原磁盘,装载新磁盘,并从CentOS安装盘启动
配置好UEFI引导,并使用EFI启动系统安装,正常安装相同版本的CentOS系统
在磁盘分区中创建LVM卷,并调整好所需的分区,需注意分区格式保存原磁盘的格式
可选继续安装完成,安装完成后,某些配置可能会被还原初始状态(如firewalld规则,一些服务启停状态)后续步骤参考步骤四
或者安装开始后,直接关机(利用安装光盘才创建分区表),后续步骤参考步骤五
四、进入新安装好的CentOS系统,还原镜像到新磁盘(完成了系统安装)
先把之前备份的CentOS7-rootfs.dump文件传回到需要还原的机器中
xfsrestore -f /root/CentOS7-rootfs.dump /
# 如果是ext4格式分区,可用:restore -rf /root/CentOS7-rootfs.dump
修改/etc/fstab中的磁盘UUID号
blkid # 获取磁盘的UUID
vi /etc/fstab # 修改/etc/fstab中的UUID号
完成后,即可重启生效,完成迁移
五、从CentOS安装盘启动,进入救援模式(未完成了系统安装)
根据原盘分区格式,格式化分区
mkfs.vfat /dev/sda1 # 格式化efi引导分区
mkfs.xfs /dev/sda2 # 格式化boot分区
mkfs.xfs /dev/centos/root # 格式化根目录分区
mkswap /dev/centos/swap # 格式化swap交换分区
将镜像文件存到一个中转磁盘dev/vda内并挂载,还原镜像到新磁盘
mkdir /centos-root /sda1 /sda2 /dump-data
mount /dev/vda /dump-data
mount /dev/sda1 /sda1
mount /dev/sda2 /sda2
mount /dev/centos/root /centos-root
xfsrestore -f /dump-data/centos-root.dump /centos-root # 使用xfsrestore还原根目录镜像到新磁盘
修改fstab文件磁盘标识UUID
blkid # 获取磁盘的UUID
vi /centos-root/etc/fstab # 对应修改然后保存
安装kernel内核(如果不是同版本的安装盘,同到互联网下载原版本的kernel内核rpm安装包存到中转磁盘)
rpm -ivh /run/install/repo/Packages/kernel-3.10.0-1160.el7.x86_64.rpm --root=/centos-root/ --force
# rpm -ivh /dump-data/kernel-3.10.0-1160.el7.x86_64.rpm --root=/centos-root/ --force
六、修复系统引导
#CD下的救援模式SHELL更新方法:
chroot /centos-root
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg #BIOS引导
grub2-mkconfig -o /boot/EFI/grub2/grub.cfg #UEFI引导
grub2-mkconfig -o /sda2/boot/grub/grub.cfg #BIOS引导
grub2-mkconfig -o /sda1/EFI/centos/grub.cfg #UEFI引导
#进入系统后的SHELL更新方法:
grub2-mkconfig -o /boot/grub/grub.cfg #BIOS引导
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg #UEFI引导
七、扫尾工作,处理网卡UUID问题
移除中转磁盘,调整系统引导方式。
开机后发现网卡UUID有变更,对应修改即可。
nmcli c s # 查看网卡的信息
sed -i -e '/HWADDR/d' -e '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-{eth,enp,eno}* # 删除原UUID
nmcli c m eth0 c.autoconnect yes # 让nmcli补全UUID
systemctl restart network
此处评论已关闭