Sun Java System Messaging Server 6 2005Q4 管理指南

部分恢复的注意事项

部分恢复是指仅恢复部分邮件存储。完全恢复是指恢复整个邮件存储。邮件存储使用单副本邮件系统。即,仅将任何邮件的单个副本作为单个文件保存在存储中。该邮件的任何其他实例(如邮件发送到多个邮箱时)都存储为该副本的链接。由于此原因,恢复邮件时会有一些影响。例如:

以下示例说明了执行部分恢复时,由多个用户使用的邮件发生的变化。假设有三封邮件,同时属于三个用户 A、B 和 C,如下所示:


A/INBOX/1
B/INBOX/1
C/INBOX/1

示例 1。在第一个示例中,系统执行部分备份和完全恢复过程,如下所示:

  1. 备份用户 B 和 C 的邮箱。

  2. 删除用户 B 和 C 的邮箱。

  3. 恢复步骤 1 中的备份数据。

在此示例中,B/INBOX/1C/INBOX/1 被指定了新的 inode 编号,并且邮件数据被写入磁盘上的新位置。仅恢复了一封邮件;第二封邮件是第一封邮件的硬链接。

示例 2。在此示例中,系统执行完全备份和部分恢复,如下所示:

  1. 执行完全备份。

  2. 删除用户 A 的邮箱。

  3. 恢复用户 A 的邮箱。

A/INBOX/1 被指定了新的索引节点编号。

示例 3。在此示例中,部分恢复可能需要多次尝试:

  1. 执行完全备份。

    B/INBOX/1C/INBOX/1 备份为 A/INBOX/1 的链接。

  2. 删除用户 A 和 B 的邮箱。

  3. 恢复用户 B 的邮箱。

    恢复实用程序要求管理员首先恢复 A/INBOX

  4. 恢复用户 A 和 B 的邮箱。

  5. 删除用户 A 的邮箱(可选)。


    注 –

    如果要确保对所有邮件进行部分恢复,可以运行 imsbackup 命令并使用 -i 选项。如果有必要,-i 选项将多次备份每封邮件。

    如果备份设备(如:驱动器或磁带)可查找,imsrestore 将查找包含 A/INBOX/1 的位置,并将其恢复为 B/INBOX/1。如果备份设备(如:UNIX 管道)不可查找,imsrestore 将日志记录对象 ID 和文件的相关(链接)对象的 ID,并且管理员必须使用 -r 选项再次调用 imsrestore 以恢复缺少的邮件引用。


从已被增量备份的邮箱中恢复邮件

如果您正从已被增量备份的邮箱中恢复邮件,并且该邮箱存在于您要用于恢复邮件的服务器上,那么恢复邮件需要简单而直观的运行 imesrestore。但是如果您要从已被增量备份的邮箱中恢复邮件,并且该邮箱不再存在,则必须遵循不同的恢复过程。

使用以下过程之一将邮件恢复至不存在于邮件存储服务器上的邮箱中:

恢复增量备份必须遵循这些说明的原因如下:在邮箱已被删除或正被迁移时,imsrestore 实用程序将使用存储在备份归档文件中的邮箱唯一标识有效性标志和邮件唯一标识 (UID) 来重新创建邮箱。

以前,当 imsrestore 重新创建已删除或迁移的邮箱时,它将为邮箱分配新的 UID 有效性标志并为邮件分配新的 UID。在这种情况下,带有高速缓存邮件的客户机将必须重新同步邮箱 UID 有效性标志和邮件 UID。客户机将必须再次下载新的数据,增加服务器上的工作负荷。

在新的 imsrestore 行为下,客户机高速缓存将保持同步,并且恢复进程将透明地运行,而不会对性能有负面影响。

如果邮箱存在,imsrestore 将为已恢复的邮件分配新的 UID,从而使新的 UID 与已分配给现有邮件的 UID 保持一致。要确保 UID 的一致性,imsrestore 在恢复操作期间会锁定邮箱。但是,由于 imsrestore 现在使用的是备份归档文件中的邮箱 UID 有效性标志和邮件 UID,而不是分配新的 UID 值,因此如果执行增量备份和恢复,UID 可能会变得不一致。

如果使用 imsbackup 实用程序的 -d 日期选项执行增量备份,则可能需要多次调用 imsrestore 以完成恢复操作。如果执行了增量备份,则必须恢复最新的完全备份和所有后续的增量备份。

新邮件可以在恢复操作期间被传送至邮箱,但在这种情况下,邮件 UID 可能变得不一致。要防止 UID 的不一致,您需要采取以上介绍的操作之一。