一直都知道Centos可以全盘压缩备份。

正好赶上PVE各种问题,决定换回ESXI,结果网上都是说ESXI迁移PVE的。这可麻烦了。只好对系统本身进行备份迁移。

结果各种状况出现,最终找到了一个尝试4小时不停重装试错的正确路径。

tar:
  特点
  1、保留权限
  2、适合备份整个目录
  3、可以选择不同的压缩方式
  4、如果选择不压缩还能实现增量备份,部份还原,参考man tar

dd
  特点
  1、对块进行操作,能备份整个硬盘(包括分区表、MBR,其他Linux不能很好支持的文件系统)
  2、可以进行压缩(麻烦一点)
  3、由于是备份整个硬盘,文件系统上没有使用的“空白”空间也会被保存起来,备份文件比较大
  备份
  备份硬盘sda,放到/backup(/backup挂载在其他硬盘如sdb)

下面详细介绍使用tar进行备份还原(注:这个测试在CentOS7,备份与还原在不同机器上做的):

1、备份
使用root切换的根目录,备份完整系统

tar cvpzf backup.tgz / --warning=no-file-changed --exclude=/proc --exclude=/data --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/dev
其中: --warning=no-file-changed 表示忽略掉当前文件变化导致备份失败的错误 --exclude 表示排除不需要备份的文件和目录

在进程的最后,你也许会得到一条信息,写着“tar:由于先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它。
作为选择,你可以使用Bzip来压缩你的备份。这意味着较高的压缩比但是也意味着较低的速度。如果压缩比对你很重要,只需用“j”替换命令中的“z”,同时给备份命一个相应的扩展名

2、恢复
i、将备份文件拷贝到根目录,输入以下命令还原

tar xvpfz backup.tgz -C / etc home run usr var root
其中 -C 的 C 为大写,/ 后面表示需要替换的目录,警告:这会目录里的所有文件替换成压缩文档里的文件!

ii、恢复SELinux文件属性

restorecon -Rv /etc /home /run /usr /var /root
尝试远程连接一下,如果连接不上,使用下面这条命令

restorecon -Rv /
iii、修改磁盘启动信息

查看磁盘uuid

[root@localhost ~]# blkid
/dev/sda1: UUID="3b6f0a6d-b647-4c70-988f-cc5e1fbb1be6" TYPE="xfs"
/dev/sda2: UUID="jfcP6m-5wvo-LHp8-F3ui-BUcO-CApA-RdURLe" TYPE="LVM2_member"
/dev/mapper/centos-swap: UUID="cdabe268-fe22-4fa4-90ed-84e65729e766" TYPE="swap"
/dev/dm-2: UUID="2b16667e-199b-4ca0-b695-1cb3fa25890c" TYPE="xfs"
/dev/dm-1: UUID="b807abb6-fb0b-4dfb-9727-d3465cd69ef9" TYPE="xfs"
/dev/sdb4: LABEL="CentOS 7 x8" UUID="B4FE-5315" TYPE="vfat"

[root@localhost /]# ls -l /dev/disk/by-uuid
总用量 0

  1. 1 root root 10 11月 5 12:35 09252c46-55e6-447c-ade2-4f8cb4360f07 -> ../../dm-2
  2. 1 root root 10 11月 5 12:35 86aecd3a-3c10-4cf2-973f-f925fe1f76d1 -> ../../sda2
  3. 1 root root 10 11月 5 12:35 8fe63a87-919a-45d8-875e-c854a6b29c3a -> ../../dm-0
  4. 1 root root 10 11月 5 12:35 9D16-ECDE -> ../../sda1
  5. 1 root root 10 11月 5 12:35 dcb56daa-df50-4c02-af74-e4a55fbaeae8 -> ../../dm-1
    查看 /boot 目录所在设备

[root@localhost /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 20G 31G 39% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 3.8G 199M 3.6G 6% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda2 497M 89M 409M 18% /boot
/dev/sda1 200M 9.6M 191M 5% /boot/efi
/dev/mapper/centos-home 91G 2.3G 89G 3% /hom
修改 /etc/fstab 文件,将文件的 UUID 修改为 /boot 所在设置对应的 UUID

iv、如果系统装有mysql,删除以下文件,默认如下:

mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.back
v、重启系统,恢复完成

启动报错:

1、http://blog.itpub.net/31015730/viewspace-2149023/

2、https://www.linuxidc.com/Linux/2017-02/140653.htm

参考:https://www.cnblogs.com/fang888/p/8473485.html