备份 raid 的正确方法是什么

备份 raid 的正确方法是什么

我有一个两个磁盘的服务器,其中 root 位于镜像 LVM 卷上,而 /boot 和 /boot/efi 是 RAID1 分区。

我想完全备份我的服务器,这样当灾难发生时(两个磁盘都出现故障,或者整个服务器都消失了)我可以以最少的停机时间快速恢复。让我们假设在恢复期间,我们有一台具有完全相同规格的新服务器和两个具有相同“几何结构”(即相同的总大小和扇区大小)的新磁盘。

我计划做的事情如下:

  • 备份两个磁盘的分区表sfdisk -d /dev/XXX > partXXX.bak,以便我以后可以在新服务器上恢复它sfdisk /dev/XXX < partXXX.bak
  • 备份LVM元数据vgcfgbackup,以便以后使用时可以恢复它vgcfgrestore
  • 使用快照和/rsync或其他备份工具备份 LVM 卷中的实际数据。

现在,我没有针对/boot/boot/efi分区的防弹解决方案。这就是我想出的:

  • 用于dd创建两个磁盘上整个分区的映像。
  • 可能使用压缩它们gzip
  • 如果进行恢复,请使用dd(恢复分区表后)恢复两个磁盘上的整个分区映像。

该过程完成后,应该可以简单地重新启动系统,并且它应该像灾难之前一样工作,因为恢复的磁盘的内容是逐字节相同的(包括引导加载程序、超级块等)。


我的问题dd如下:

  • 由于拍摄实时文件系统的映像,可能会出现数据不一致的情况。我不希望经常主动写入这些分区,而是为了限制我计划执行的风险sync,然后拍摄图像,并再次重复该过程。如果两个映像相同,则可以安全地假设在第一个映像创建期间没有发生写入。
  • 对整个分区(包括可用空间)进行映像似乎有些过分。虽然压缩在这里应该有所帮助,并且分区并不大(1GiB200MiB),但使用 LVM 的方法似乎更聪明。

我的问题如下:是否有mdadm等效的vgcfgbackupvgcfgrestore可以用于可靠地备份非文件元数据,例如超级块和引导加载程序,以便在恢复期间可以恢复它们,并且只需要挂载mdrsync数据?

另外,我的灾难恢复计划中是否遗漏了某些内容?

答案1

考虑放松和恢复https://relax-and-recover.org/

它处理加密(例如 LUKS)并处理增量备份。

答案2

dd重复的 UUID,因此如果将原始文件和副本安装在一起,则会出现问题。

此外,如果不重新格式化,就无法更改 FAT 分区的 UUID,而且 EFI 系统分区确实是 FAT。

rsync与字节到字节的标识不兼容(同上副本)。

我不相信同上副本。想象一下灾难的原因是数据损坏,同上副本将保留灾难的原因。相反,在高水平的复制中,你在复制阶段失败的机会更大,因此你可以更快地做出反应。

实际上,如果灾难彻底摧毁,您并不介意 UUID 不唯一。也许策略会有所不同,具体取决于您想要承担的风险。

相关内容