说明
最近新进了一家公司,公司把 2 台 PC 电脑装了个 vm workstation 然后当内部测试服务器用,我本着物尽其用压榨性能的方法,就把其中一台装了个 esxi,原本想把所有 vm 虚拟机都迁移过来的发现其中一台虚拟机当时设置的是 700GB!!,没看错是 700GB,然而实际实用才 5GB,就想着把重做了,但是上面环境各种复杂,准备开搞的时候就被派去搞监控平台了,今天刚好闲着,就决定把他搞定,为了让自己轻松点决定采用 tar 方式迁移(其实我懒不想理环境),这样也可以减少对原来服务器上的环境破坏,省事!
不多说开始干
备份
tar 压缩打包
进入需要迁移的服务器,执行下面命令:
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
blkid
查看/etc/fstab 内容
cat /etc/fstab
恢复
进入新主机系统,并将迁移系统中 backup.tgz 拷贝至当前主机根目录下
cd /
tar xvpfz backup.tgz -C / etc home run usr var root
恢复 SELinux 文件属性
restorecon -Rv /etc /home /run /usr /var /root
修改 UUID
修改 /etc/fstab 文件,恢复到之前的记录
完成
在启动一个终端,ssh 连接新主机,如果能连接上来说明迁移成功,最后重启系统