8. 应用特定说明

以下是一些关于备份特定应用程序的说明。

8.1. 逻辑卷管理器 (LVM)

处理逻辑卷有点棘手:使用 finnix 发行版的启动代码来启用和禁用 LVM。这导致了恢复的第一阶段需要发行版特定的代码。它在 make.fdisk 中生成。要编辑它,请在 make.fdisk 中搜索 "Hideous"

LVM 需要添加两个新的 LVM 特定脚本,make.lvsmount.lvs。它们仅在存在逻辑卷时生成和使用。

8.2. Selinux

在测试机器上禁用了 Selinux。/selinux在这些脚本中的任何一个中都没有备份。我猜,您可能应该在第一阶段恢复后禁用 selinux,并且在重新启用它之前,您可能需要执行一些 selinux 特定的任务。

8.3. GRUB

Fedora 中的默认引导加载程序是 Grand Unified Bootloader (GRUB)。它必须在第一阶段结束时运行,否则您将无法在此之后启动。要为第一阶段恢复保留它,请进行以下更改

8.4. Tripwire

如果您运行 Tripwire 或任何其他维护文件元数据数据库的应用程序,请在恢复后立即重建该数据库。

8.5. Squid

Squid 是一个 HTTP 代理和缓存。因此,它在硬盘上保留了大量临时数据。备份这些数据毫无意义。在第二阶段备份脚本中,将 "--exclude /var/spool/squid" 插入到适当的 tar 命令中。然后,让 squid 为您重建其目录结构。在第二阶段恢复脚本的末尾添加一个命令,让 squid 初始化自身。这是我在 restore.tester 中通过 ssh 完成此操作的方式

ssh $target "mkdir /var/spool/squid ; chown squid:squid /var/spool/squid;\
      /usr/sbin/squid -z;touch /var/spool/squid/.OPB_NOBACKUP"

最后一个命令创建一个长度为 0 的文件,名为 .OPB_NOBACKUP。这是为了 Arkeia 的利益,并告诉 Arkeia 不要备份此目录下的内容

8.6. Arkeia

这些说明基于使用 Arkeia 4.2 进行的测试。

Arkeia 是一个在各种平台上运行的备份和恢复程序。您可以将 Arkeia 用作裸机恢复方案的一部分,但有两个注意事项。

第一个可能是最成问题的,因为在没有任何更优雅的解决方案的情况下,您必须在恢复时在导航器中手动选择要恢复的目录。原因是,显然,Arkeia 没有不恢复磁盘上已存在文件的机制,没有类似于 tar 的 -p 选项。如果您只是允许完全恢复,则恢复将崩溃,因为 Arkeia 会覆盖在恢复时正在使用的库,例如lib/libc-2.1.1.so手动选择要恢复的目录充其量是碰运气的,所以我建议不要这样做。

第二个注意事项是您必须备份 Arkeia 数据字典和/或程序。为此,请修改save.metatdata脚本,方法是将 Arkeia 添加到要保存的目录列表中

# arkeia specific:
tar cf - usr/knox | gzip -c > $zip/arkeia.tar.gz

必须以这种方式备份数据字典,因为 Arkeia 不会备份数据字典。这是我对 Arkeia 的抱怨之一,我在自己的计算机上通过使用 The TOLIS Group's BRU 将数据字典保存到磁带上来解决这个问题。

数据字典将在脚本中恢复restore.metadata自动进行。

8.7. Amanda

Amanda (Advanced Maryland Automatic Network Disk Archiver) 与这组脚本配合得很好。使用正常的 Amanda 备份过程,并像往常一样构建您的第一阶段数据。Amanda 将数据以 GNU tar 或 cpio 格式存储在磁带上,您可以从单个文件恢复到整个备份映像。恢复整个映像的好处是,您可以随后使用此 HOWTO 中的脚本变体从映像或直接从磁带恢复。我能够使用 W. Curtis Preston 的 Unix Backup & Recovery 中的说明恢复我的测试机器。有关它的更多信息,请参阅 资源。该书的 Amanda 章节 在线

我对脚本 restore.tester 做了两个更改。首先,我将其更改为接受文件名作为参数。然后,由于 Amanda 的 amrestore 在恢复数据时对其进行解压缩,因此我重写了它,使其将文件 cat 到管道中而不是解压缩它。

结果行如下所示

cat $file | ssh $target "umask 000 ; cd / ; tar -xpkf - "

其中 $file 是脚本的参数,是从磁带中恢复的映像,由 amrestore 恢复。

由于 tar 的命令行参数禁止覆盖,因此请按相反的顺序从映像恢复。先恢复最新的。

如果您使用 save.metadata 备份 amanda 数据目录,Amanda 确实需要手动设置所有权。类似这样

bash# chown -R amanda:disk /var/lib/amanda

您还可以将该行添加到您的第二状态恢复脚本中,例如 restore.tester

8.8. NTFS

好的,NTFS 不是一个应用程序。它是一个文件系统,由 Microsoft 操作系统 Windows NT 及其后代(包括 Windows 2000 和 Windows XP)使用。您可以使用 ntfsclone(ntfsprogs 套件中的 NTFS 实用程序之一)从 Linux 备份和恢复到 NTFS,ntfsprogs 套件可从 http://linux-ntfs.sourceforge.net/downloads.html 获取。

这些脚本将创建 NTFS 分区,但不会在它们上面放置文件系统。从文档中尚不清楚 ntfsclone 是否会在全新的分区上布置文件系统。