8.4.1 XFS 文件系统备份 xfsdump
xfsdump除了可以进行文件系统的完整备份之外,还可以进行累积备份。累计备份就是假设你的/home 是独立的一个文件系统,那你在第一次使用 xfsdump 进行完整备份后,等过一段时间的文件系统自然运行后, 你再进行第二次 xfsdump 时,就可以选择累积备份了。此时新备份的数据只会记录与第一次完整备份所有差异的文件而已。
图8.4.1、xfsdump 运行时,完整备份与累积备份示意图
如上图所示,上方的“实时文件系统”是一直随着时间而变化的数据,例如在 /home 里面的文件数据会一直变化一样。 而下面的方块则是 xfsdump 备份起来的数据,第一次备份一定是完整备份,完整备份在 xfsdump 当中被定义为 level 0。等到第二次备份时,/home 文件系统内的数据已经与 level 0 不一样了,而 level 1 仅只是比较目前的文件系统与 level 0 之间的差异后,备份有变化过的文件而已。至于 level 2 则是与 level 1 进行比较。至于各个 level 的纪录档则放置于 /var/lib/xfsdump/inventory 中。
另外,使用 xfsdump 时,请注意下面的限制:
xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
xfsdump 只能备份 XFS 文件系统啊!
xfsdump 备份下来的数据 (文件或储存媒体) 只能让 xfsrestore 解析
xfsdump 是通过文件系统的 UUID 来分辨各个备份文件的,因此不能备份两个具有相同UUID 的文件系统。
xfsdump 的选项虽然非常的繁复,不过如果只是想要简单的操作时,您只要记得下面的几个选项就很够用了!
特别注意, xfsdump 默认仅支持文件系统的备份,并不支持特定目录的备份,所以你不能用xfsdump 去备份 /etc ! 因为 /etc 从来就不是一个独立的文件系统。
用 xfsdump 备份完整的文件系统
这样很简单的就创建起来 /srv/boot.dump 文件,该文件将整个 /boot/ 文件系统都备份下来了! 并且将备份的相关信息 (文件系统/时间/session ID等等) 写入/var/lib/xfsdump/inventory 中,准备让下次备份时可以作为一个参考依据。
用 xfsdump 进行累积备份 (Incremental backups)
通过这个简单的方式,我们就能够仅备份差异文件的部分。