Centos 7 tar备份迁移系统

  1. 1. 说明
  2. 2. 备份
    1. 2.1. tar 压缩打包
  3. 3. 搭建
  4. 4. 恢复
    1. 4.1. 进入新主机系统,并将迁移系统中 backup.tgz 拷贝至当前主机根目录下
    2. 4.2. 恢复 SELinux 文件属性
    3. 4.3. 修改 UUID
    4. 4.4. 完成

说明

最近新进了一家公司,公司把 2 台 PC 电脑装了个 vm workstation 然后当内部测试服务器用,我本着物尽其用压榨性能的方法,就把其中一台装了个 esxi,原本想把所有 vm 虚拟机都迁移过来的发现其中一台虚拟机当时设置的是 700GB!!,没看错是 700GB,然而实际实用才 5GB,就想着把重做了,但是上面环境各种复杂,准备开搞的时候就被派去搞监控平台了,今天刚好闲着,就决定把他搞定,为了让自己轻松点决定采用 tar 方式迁移(其实我懒不想理环境),这样也可以减少对原来服务器上的环境破坏,省事!
不多说开始干

备份

tar 压缩打包

进入需要迁移的服务器,执行下面命令:

1
2
3
4
5

cd /

tar cvpzf backup.tgz / --warning=no-file-changed --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/backup.tgz

注:
–warning=no-file-changed 表示忽略掉当前文件变化导致备份失败的错误
–exclude 表示排除不需要备份的文件和目录

搭建

在新主机上安装好系统,并记录硬盘 uuid 或/etc/fstab 中的参数

查看硬盘 uuid

1
2
3

blkid

查看/etc/fstab 内容

1
2
3

cat /etc/fstab

恢复

进入新主机系统,并将迁移系统中 backup.tgz 拷贝至当前主机根目录下

1
2
3
4
5

cd /

tar xvpfz backup.tgz -C / etc home run usr var root

恢复 SELinux 文件属性

1
2
3

restorecon -Rv /etc /home /run /usr /var /root

修改 UUID

修改 /etc/fstab 文件,恢复到之前的记录

完成

在启动一个终端,ssh 连接新主机,如果能连接上来说明迁移成功,最后重启系统