![]() |
|
iPlanet Messaging Server 5.2 管理员指南 | |
第 11 篇 邮件存储库的管理
本章说明邮件存储库和邮件存储库管理界面。本章包括以下各节:
- 概要
- 邮件存储库目录布局
- 存储库如何清除邮件
- 指定管理员的存储库访问权限
- 关于邮件存储库空间配额
- 配置邮件存储库空间配额
- 指定时限策略
- 配置邮件存储库分区
- 维护和恢复作业
- 备份与恢复邮件存储库
- 对邮件存储库进行故障诊断
概要
邮件存储库中包含有特定 Messaging Server 实例的用户信箱。邮件存储库的大小随着邮箱、文件夹、日志文件等的数量的增加而增长。您可通过下列方法控制存储库的大小:指定邮箱的容量限度(磁盘空间配额),指定邮件总数的最大允许限度和设置存储库中邮件的时限策略。随着系统中用户数量的不断增加,对磁盘存储空间的需求也随之增加。邮件存储库需配备的物理磁盘数量(一个或多个)取决于服务器所支持的用户数量。将另外的磁盘空间整合到系统上的方法有两种。最简单的方法是添加另外的分区。还可以选择性地添加另外的 Messaging Server 实例,分别对特定的邮件存储库负责。但是,此方法更为复杂。
另外,如果要支持多个托管域,则应为单独的大型网域配置专用的服务器实例。您可通过此种配置为特定的域指定存储库管理员。还可以通过添加更多分区扩展邮件存储库。
为了便于邮件存储库的管理,iPlanet Messaging Server 不仅提供了 iPlanet Console 界面,而且还提供了一套命令行实用程序。有关这些命令行实用程序的说明,请见表 11-1。有关使用这些实用程序的信息,请参见“维护和恢复作业” 和 iPlanet Messaging Server Reference Manual。
图 11-1 所示为某服务器实例的邮件存储库目录布局。邮件存储库在设计上可为邮箱内容的存取提供快速访问能力。有关存储库目录的说明,请见表 11-2。图 11-1 邮件存储库目录布局
![]()
server_root/msg-instance/store/partition/primary/=user/53/53/=mack1
表 11-2 邮件存储库目录说明
存储库中邮件的清除分三步进行:
还可以通过设置 expire(失效)选项清除邮件。服务器根据 configutil 定义的时限策略删除邮件。时间耗尽,邮件即被清除,但在清理之前它们并没有从物理上移除。(参阅“指定时限策略”。)
- 删除(Delete)。客户标记要删除的邮件。此时,客户程序可以通过移除“删除”记号,恢复此邮件。
- 清除(Expunge)。客户或指定的时限策略从邮箱中清除已有删除标记的邮件。邮件一旦被清除,客户就再也不能将之恢复,但这些邮件仍然存储在磁盘中。(已连接到同一邮箱的第二个客户仍然能够取出这些被清除邮件。)
- 清理(Cleanup)。用 stored 实用程序从磁盘中抹掉任何已清除至少一个小时的邮件。
邮件存储库管理员可以查看和监控用户邮箱并为邮件存储库指定访问控制。存储库管理员具有代理认证权限,可以访问任何服务(POP、IMAP、HTTP 或 SMTP),这意味着他们可用任何用户的权限,经认证访问任何服务。存储库管理员可通过这些权限运行某些实用程序来管理存储库。例如,存储库管理员可用 MoveUser 将用户的帐户和邮箱从一个系统移到另一个系统。本节讨论如何为安装的 Messaging Server 系统赋予邮件存储库的存取权限。
可以用 configutil 命令或 Console 来指定管理员访问存储库的权限。
Console 若需通过 Console 添加一个管理员条目,请按下列步骤操作:
- 单击“管理员”选项卡。
- 单击“管理员 UID”窗口旁边的“添加”按钮。
- 在“管理员 UID”字段中键入要添加的管理员的用户 ID。
- 单击“确定”将管理员 ID 添加到“管理员”选项卡中显示的那个列表中。
- 单击“管理员”选项卡中的“保存”按钮以保存新修改过的管理员列表。
configutil -o store.admins -v "adminlist"
其中 adminlist 是一个以空格分隔的管理员 ID 列表。如果需指定多个管理员,必须用引号将列表括起来。
Console 若需通过 Console 修改邮件存储库“管理员 UID”列表中现有的条目,请按下列步骤操作:
- 单击“管理员”选项卡。
- 单击“管理员 UID”窗口旁边的“编辑”按钮。
- 在“管理员 UID”字段中输入改动。
- 单击“确定”提交所做的改动并关闭“编辑管理员”窗口。
- 单击“管理员”选项卡中的“保存”按钮以提交和保存修改的管理员列表。
命令行 若需通过命令行修改邮件存储库“管理员 UID”列表中现有的条目,请输入下列命令行:
configutil -o store.admins -v "adminlist"
Console 若需通过 Console 删除邮件存储库“管理员 UID”列表中的一个条目,请按下列步骤操作:
命令行 若需通过命令行删除存储库管理员,可按如下方式编辑管理员列表:
configutil -o store.admins -v "adminlist"
本节包含下列信息:
用户空间配额
您可通过指定用户邮箱大小的限度来限制邮件存储库的大小。可指定的空间配额类型有下列:
空间配额信息以 LDAP 属性和配置变量的形式存储。如果启用了空间配额管制功能,Messaging Server 则检查空间配额高速缓存和配置文件,以确保在将邮件插入到邮件存储库之前空间配额未超限。如果启用了空间配额通知功能,系统将在磁盘空间配额超限时向用户发送出错讯息。还可通过设置使服务器在用户接近配额限度时发送警告讯息。
- 磁盘空间配额可用于限制分配给每个用户的磁盘空间量。磁盘空间配额是针对所有用户邮件的总容量,而不管用户有多少邮件夹,也不管用户邮件的总数是多少。如果磁盘空间有限,则需设置用户磁盘空间配额。
- 邮件空间配额用于限制存储于用户邮箱中的邮件数量。
既可为所有用户设置默认的空间配额,也可为单个用户单独设置空间配额。确定一用户是否超出空间配额时,Messaging Server 首先检查是否为该用户单独设置了空间配额。如果没有设置,Messaging Server 接着查看为所有用户设置的默认空间配额。
如果一个用户的邮件超过了配额,则来件保留在 MTA 队列中,直到以下情况之一出现:
(1)所有用户的邮件总量或总数不再超限,此时服务器将邮件传递给用户。(2)未传递的邮件保留在 MTA 队列中的时间长于指定的宽限期。请参阅“设置宽限期”。
当用户删除并擦去邮件,或当服务器根据已建立的时限策略删除邮件后,磁盘空间变为可用。
域空间配额和家庭群组空间配额
您还可为某一特定的域或某个域中的家庭群组设置空间配额。这两种空间配额是非强制性的,但可用于报告目的。
Telephony Application Server 的例外情况
为了支持统一的邮件传输要求,Messaging Server 提供为邮件存储库所利用的重设配额限制的能力。这可保证已被某些代理,即电话应用服务器(TAS)接受了的邮件的传递。TAS 所接收的邮件是通过特殊的 MTA 通道路由传输的,这就保证了无论是否超出空间配额限度邮件都能传递到存储库。有关配置 TAS 通道的详细情况,请参阅第 8 篇 “配置通道定义”。
您可通过 iPlanet Console 或用 configutil 命令为所有用户设置默认的空间配额。也可为单个用户、家庭群组以及托管域设置空间配额。本文说明如何设置默认空间配额。有关为单个用户、家庭群组以及域设置空间配额的详细信息,请参阅Delegated Administrator 用户指南。
如果用 iPlanet Console,请按下列步骤操作:
指定默认用户配额
默认空间配额适用于那些尚未为之单独设置空间配额的用户。为单独用户设置的空间配额将取代默认空间配额。
- 单击“空间配额”选项卡。
- 若要为“默认用户磁盘配额”字段指定默认用户磁盘配额,请选择下列选项之一:
- 无限(Unlimited)。如果不需要设置默认的空间配额,请选择此项。
- 指定大小(Size specification)。如果需要将磁盘空间配额限定为指定的大小,请选择此项。在按钮旁的字段中键入一个数字,并从下拉列表中选择 MB(Mbytes,兆字节)或 KB(Kbytes,千字节)。
- 若要在“默认用户邮件配额”复选框中指定邮件的配额数,请键入一个数字。
- 单击“保存”。
命令行 若需为邮件总量指定一个默认的用户磁盘空间配额,请按下列步骤操作:
configutil -o store.defaultmailboxquota -v [ -1 | number ]
若需为总邮件数指定一个默认的用户空间配额,请按下列步骤操作:
configutil -o store.defaultmessagequota -v [ -1 | number ]
启用空间配额管制和空间配额通知功能
您可通过设置启用或关闭空间配额管制和空间配额通知功能。服务器的操作取决于这两个配置变量是如何设置的,如表 11-3 所示。
表 11-3 空间配额管制和空间配额通知
启用管制
关闭管制
启用通知
关闭通知功能
邮件将在指定的宽容限期内延缓传递,期满则拒收。邮件不能添加到邮箱中。
Console 通过 Console 启用空间配额管制功能:
configutil -o store.quotaenforcement -v [ yes | no]
Console 通过 Console 启用空间配额通知功能:
- 单击“空间配额”选项卡。
- 选中“启用空间配额通知”复选框。
- 定义配额警告讯息
- 请参阅“定义空间配额警告讯息”。
- 单击“保存”。
configutil -o store.quotanotification -v [ yes | no ]
configutil -o store.quotaexceededmsg -v message
定义空间配额警告讯息
可以像下面这样定义警告讯息,以便在用户超出其磁盘空间配额时发送给用户。警告讯息将发送到用户的邮箱。
Console 通过 Console 定义空间配额警告讯息:
configutil -o store.quotaexceededmsg -v message
configutil -o store.quotaexceedmsginterval -v number
其中 number 表示天数。例如,3 的意思是每 3 天发送一次邮件。
指定空间配额阈值
通过指定一个空间配额阈值,可以在 IMAP 用户超过其磁盘空间配额之前向他们发送警告讯息。当某用户的磁盘用量超出指定的阈值时,服务器就向该用户发送一则警告讯息。对于其客户机支持 IMAP ALERT 机制的 IMAP 用户,每当用户选择一个邮箱时,警告讯息就会显示在用户的屏幕上(该邮件同时写入 IMAP 日志)。
configutil -o store.quotawarn -v number
设置宽限期
宽限期指定在邮件被退回到发件人之前,邮件可以超过配额(磁盘空间或邮件数)的时间。邮件被 MTA 接受,但保留在 MTA 队列中,直到以下情况之一出现才会传递到邮件存储库:例如,如果宽限期设置为两天,而超过配额的时间为一天,新邮件将继续被接收并滞留在队列中,并且传递尝试将继续。第二天后,邮件被退回。
备注: 宽限期不是邮件将在队列中滞留的时间,而是在包括在队列中的那些邮件在内的所有来件被退回之前,邮箱超过配额的时间。
Console 通过 Console 设置邮件滞留于队列中的宽容限期:
configutil -o store.quotagraceperiod -v number
时限策略是另一种控制服务器磁盘用量的手段。可以控制邮件在一个或多个邮箱中的存储时间。如果磁盘空间很有限,则可能需要设置时限策略,以便从存储库中删除邮件。如果设置了时限策略,则应教育用户了解这些策略,因为服务器在将邮件从存储库中删除之前不会发送警告讯息。如果为一邮箱指定了多个规则,所有指定的期满删除规则都将适用,但最严格的规则先行。例如,假定将两条规则应用于一个邮箱。第一条规则允许 1000 封邮件;第二条规则允许 500 封邮件。当出现过期现象时,服务器将删除邮箱中的邮件,直到剩下 500 封为止。再举一个例子。若第一条规则允许邮件的大小为 100,000 字节并滞留 3 天,第二条规则允许邮件的大小为 1000 字节并滞留 12 天,则作为结果的规则是将这两条规则合并,允许邮件的大小为 100,000 字节,滞留 3 天。服务器将删除超过 100,000 字节且在邮箱中滞留了 3 天的所有邮件。对于特定的邮箱或邮箱组,如果想确保一个特定的规则是其唯一的规则,则须使用 Exclusive 参数。
- 从 iPlanet Console 中打开需配置的 Messaging Server。
- 单击“配置”选项卡并选择左面板中的“邮件存储库”。
- 单击右面板中的“时限”选项卡。
- 单击“添加”转到“添加规则”窗口。
- 输入新规则的名称。
- 指定此规则适用的目标文件夹。
- 如果此规则是适用目标文件夹的唯一规则,则单击“专用”复选框。
- 如果要创建基于文件夹大小的规则,请遵照下面的步骤:
- 如果要创建一个基于时限的规则,须在“天数”字段指定一个数字,用以表示邮件滞留于文件夹的天数。
- 如果要创建基于邮件大小的规则,请按下列步骤操作:
- 单击“确定”将新规则添加到“时限规则”列表并关闭“添加”窗口。
- 单击“保存”按钮以提交并保存现行的“时限规则”列表。
命令行 通过命令行创建新规则须使用下面的命令,其中 name 是为规则取的名字:请注意,这里描述的仅仅是最经常使用的 store.expire* 选项。有关完整的列表,请参见 iPlanet Messaging Server Reference Manual。
configutil -o store.expirerule.name.folderpattern -v pattern
例如,模式 user/* 匹配任何文件夹;模式 user/%@siroe.com/* 匹配在 siroe.com 域中所有用户的全部文件夹;而模式 user/%/Trash 则匹配所有用户的 Trash 文件夹。
若需将此规则指定为适用于目标文件夹的唯一规则,请按下列操作:
configutil -o store.expirerule.name.exclusive -v [ yes | no ]
若需指定在最老的邮件被删除之前可滞留于文件夹中的邮件的最大数量,请按下列操作:
configutil -o store.expirerule.name.messagecount -v number
configutil -o store.expirerule.name.foldersizebytes -v number
configutil -o store.expirerule.name.messagedays -v number
configutil -o store.expirerule.name.messagesize -v number
configutil -o store.expirerule.name.messagesizedays -v number
configutil -o store.expirestart -v time (示例:23 是 11:00PM)
configutil -o local.store.expire.workday -v day (0-6,0 是星期日)将 local.store.expire.workday 设置为 -1 或大于 6 的值将禁用失效/清理。stored 将每天在 store.expirestart 指定的时间检查此配置变量。如果没有设置 local.store.expire.workday,则默认为每天运行。在更改此变量后,不需要重新启动 stored。
在默认状态下,所有用户邮箱储存在目录 msg-instance/store/partition/ 中。目录 partition 是一逻辑目录,其中可包含一个或多个子分区。子分区可映射单个物理磁盘,也可映射多个物理磁盘。在启动时,目录 partition 中只包含一个子分区,称做 primary 分区。必要时可将分区添加到 partition 目录中。例如,有可能需要按如下方式划分一个单独的磁盘来组织用户:
msg-instance/store/partition/mkting/
msg-instance/store/partition/eng/
msg-instance/store/partition/sales/随着磁盘存储量的加,可能需要将这些分区映射到不同的磁盘驱动器。
应该限制任何一个磁盘中邮箱的数量。在多个磁盘上合理地分布邮箱可提高邮件传递时间(但并不改变 SMTP 的接收速率)。为每个磁盘分配多少邮箱数量取决于磁盘容量和分配给每个用户的磁盘空间大小。例如,为每个用户分配的磁盘空间越少,为每个磁盘分配的邮箱就可越多。
如果邮件存储库需要多个磁盘,可使用 RAID(冗余廉价磁盘阵列)技术以简化多磁盘管理。RAID 技术可将数据分布在一系列磁盘中,但这些磁盘以一个逻辑磁盘卷出现,因此简化了磁盘的管理。还可为冗余目的使用 RAID 技术,即为了故障恢复目的而对存储的数据进行备份。
备注: 为改进磁盘存取速度,邮件存储库和邮件队列应驻留在不同的磁盘中。
添加分区
添加分区时,您须指定磁盘存储分区的绝对物理路径和称为分区别名的逻辑名。您可通过分区别名将用户映射到一个逻辑分区名,而不管其具体的物理路径为何。在为用户设立帐户和指定邮件存储库时,可以使用这个分区别名。输入的别名必须是由字母数字组成的名字,而且必须是小写。
在创建和管理分区时,用于运行服务器的用户 ID 必须具有针对相应物理路径所指定位置的写入许可。
备注: 添加一个分区后,必须停止并重新启动服务器,以刷新配置信息。
- 从 iPlanet Console 中打开需配置的 Messaging Server。
- 单击“配置”选项卡并选择左面板中的“邮件存储库”。
- 单击右面板中的“分区”选项卡。
- 单击“添加”按钮。
- 输入分区别名。
- 输入分区路径。
- 若需将此分区指定为默认分区,单击标有“使之成为默认分区”的复选框。
- 单击“确定”以提交此分区的配置条目并关闭窗口。
- 单击“保存”以提交并保存当前分区列表。
configutil -o store.partition.nickname.path -v path
这里的 nickname 是分区的逻辑名,path 是存储分区的绝对路径名。
configutil -o store.partition.primary.path -v path
将邮箱移动到其他的磁盘分区
默认情况下,邮箱是在 primary 分区内创建的。如果分区已满,额外的邮件将不能被储存。有几种解决这一问题的方法:
如果可能的话,我们推荐使用容量管理软件在系统上添加其他的磁盘,因为此过程对用户来说最为透明。不过,也可以使用下列方法将邮箱移动到其他的分区:
- 减少用户邮箱的大小
- 如果正在使用容量管理软件,可添加其他的磁盘
- 创建其他分区(“添加分区”)并将邮箱移动到新的分区
- 请确认在迁移过程中,用户与其邮箱是断开的。为此,可以通过通知用户在邮箱迁移过程中注销并保持注销状态,或通过设置 mailAllowedServiceAccess 属性,使 POP,IMAP 和 HTTP 服务在其注销后不再允许访问。(参见 iPlanet Messaging Server Provisioning Guide 的“Provisioning Users”一章)。
备注: 将 mailAllowedServiceAccess 设置为不允许 POP,IMAP,HTTP 访问并不断开任何到邮箱的打开连接。必须确保移动邮箱前关闭所有连接。
- 使用以下命令移动用户的邮箱:
- mboxutil -r user/<userid>/INBOX user/<userid>/INBOX <partition_name>
- 示例:
mboxutil -r user/ofanning/INBOX user/ofanning/INBOX secondary
- 将被移动用户的 LDAP 条目中的 mailMessageStore 属性设置为新分区的名称。
- 通知用户现在允许连接邮件存储库了。如果适用,更改 mailAllowedServiceAccess 的属性以允许 POP,IMAP 和 HTTP 服务。
维护和恢复作业
本节提供之信息与邮件存储库的维护和恢复任务所用的实用程序有关。应经常阅读 Postmaster 邮件以获知服务器可能发送的警告或报警信息。还应监视日志文件以了解服务器的运行状况。有关日志文件的详细信息,请参阅第 13 篇 “日志记录和日志分析”。
管理邮箱
本节说明下列管理和监控邮箱的实用程序:mboxutil、hashdir、readership。
mboxutil 实用程序
mboxutil 命令用于执行各种典型的邮箱维护任务。这些任务包括:也可用 mboxutil 命令查看有关空间配额方面的信息。有关详细信息,请参阅“监视配额限制”。
表 11-4 中列示了 mboxutil 命令的选项。有关详细的语法和使用要求,请参见 iPlanet Messaging Server Reference Manual。
表 11-4 mboxutil 选项
选项
说明
邮箱名从 oldname 更改为 newname。若需将一个文件夹从一个分区移到另一个分区,请用 partition 选项。
此选项可用于重命名一个用户。例如,mboxutil -r user/user1/INBOX user/user2/INBOX 将 user1 的所有邮件和邮箱移动到 user2,新的邮件将在新的收件箱中出现。(如果 user2 已经存在,此操作将失败)。
邮箱命名约定
必须按下面的格式指定邮箱名:user/userid/mailbox,这里的userid 标识拥有邮箱的用户,mailbox 即邮箱的名字。对于托管域,userid 为 uid@domain。例如,下面的命令可用于创建名为 INBOX 的邮箱,其用户 ID 是 crowe。对于传递到用户 crowe。的邮件,INBOX 是默认邮箱。
重要提示:这个 INBOX 名字是保留名,作为每个用户的默认邮箱名。INBOX 是唯一无需区分大小写的文件夹名。其他文件夹名都须区分大小写。
mboxutil -d user/delilah/projx
删除用户 druscilla 的名为 INBOX 的默认邮箱以及所有邮件夹:
mboxutil -d user/druscilla/INBOX
将用户 desdemona 的邮件夹 memos 更名为 memos-april:
mboxutil -r user/desdemona/memos user/desdemona/memos-april
mboxutil -k user/dulcinea/legal cmd
mboxutil -r user/dimitria/INBOX user/dimitria/INBOX partition
将用户 dimitria 的名为 personal 的邮件夹移到一个新分区:
mboxutil -r user/dimitria/personal user/dimitria/personal partition
hashdir 实用程序
邮件存储库中的邮箱存储为散列结构以利于快速搜索。因此,寻找包含特定用户的邮箱时,须使用 hashdir 实用程序。用此实用程序可确定包含特定帐户的邮件存储库的目录。此实用程序报告通往邮件存储库的相对路径,诸如 d1/a7/。路径是相对于基于用户 ID 上一层的目录的。实用程序将路径信息发送到标准输出。
Readership 实用程序
Readership 实用程序可用来报告除邮箱所有者外还有多少用户阅读了共享 IMAP 文件夹中的邮件。IMAP 文件夹的所有者可准许其他用户阅读该文件夹中的邮件。一个允许其他用户访问的文件夹称为共享文件夹。管理员可用 readership 实用程序了解除文件夹所有者外其他用户访问共享文件夹的情况,如访问人数。
此实用程序可用来扫描所有邮箱并为每个共享文件夹产生一行输出,报告读者数,后跟一个空格,然后是邮箱名。
在已过去的指定天数内选择了共享文件夹的每个用户具有独自的认证身份。阅读其个人邮箱的用户并不计算在内。除非除文件夹所有者外至少还有另外一个读者,否则报告中不包括个人邮箱查阅方面的信息。
例如,下面的命令把任何具有在最近的 15 天内选择了共享 IMAP 文件夹的用户统计为读者:
监视配额限制
您可通过 mboxutil 实用程序监控空间配额的使用和限制情况。mboxutil 实用程序可生成一份报告,列示任何已定义的空间配额和限制情况,并提供空间配额使用量方面的信息。报告中的空间配额及其使用量以千字节为单位。
监控磁盘空间
您可指定系统监控磁盘空间的频次,以及何种情况下系统发送警告信息。配置磁盘空间监控和通知功能时,请用 configutil 命令设置报警属性,方法见表 11-5 中的描述。
例如,若要系统每 600 秒监控一次磁盘空间,则指定用下面的命令:
configutil -o alarm.diskavail.msgalarmstatinterval -v 600
如果每当可用磁盘空间低于 20% 时都希望收到警告信息,则指定使用下面的命令:
configutil -o alarm.diskavail.msgalarmthreshold -v 20
有关设置警告属性的更多信息,请参见 iPlanet Messaging Server Reference Manual 和“监控磁盘空间”。
使用 stored 实用程序
stored 实用程序可在服务器上执行下列监控和维护任务:
stored 实用程序可自动于每天半夜执行清理和期满检测操作。可以选择进一步的清理和期满检测操作。
- 后台及日常邮件传输任务。
- 死锁检测和死锁的数据库事务的重算。
- 启动时清理临时文件。
- 执行时限策略。
- 周期性监控服务器状态、磁盘空间、服务器响应时间等(参阅“stored”)。
- 必要时发布报警。
表 11-6 列示了 stored 的选项。表后列有几个常见用法的例子。有关详细的语法和使用要求,请参见 iPlanet Messaging Server Reference Manual。
如果要更改自动清理和期满失效操作的时间,须按下面的方式使用 configutil 实用程序:
configutil -o store.expirestart -v 21
偶尔也可能需要重启动 stored 实用程序,例如,当邮箱列表数据库损坏的时候。通过 UNIX 命令行重启动 stored 时,须使用下列命令:
server-root/msg-instance/stop-msg store
server-root/msg-instance/start-msg store如果任何服务器守护程序出现崩溃,则须停止并重新启动包括 stored 在内的所有守护程序。
修复邮箱和邮箱数据库
如果一个或多个邮箱出现损坏现象,可用 reconstruct 实用程序重建邮箱或邮箱数据库,并修复任何不一致之处。实用程序 reconstruct 可用来重建一个或多个邮箱,或主邮箱文件,修复任何不一致之处。可用此实用程序复原邮件存储库中的几乎任何形式的数据损坏。注意,低层的数据库修复(如完成的事务和重算未完成事务等)是通过 stored -d 进行的。
表 11-7 列示了 reconstruct 可用的各种选项。有关详细的语法和使用要求,请参见 iPlanet Messaging Server Reference Manual。
表 11-7 reconstruct 选项
重建邮箱
重建邮箱时,请用 -r 选项。应该在下列情况下使用此选项:
5.0 版的 reconstruct -r 实用程序首先执行一致性检查。然后报告一致性情况并只在检测到问题时进行重建。因此在本版中 reconstruct 实用程序的执行已得到改善。
- 访问邮箱时返回下面错误之一:"System I/O error" or "Mailbox has an invalid format"。
- 访问邮箱时致使服务器崩溃。
- 文件已添加到假脱机目录,或从该目录删除。
若需重建用户 daphne 邮箱的假脱机缓冲区,请使用下面的命令:
若需重建邮箱数据库中所有邮箱的假脱机缓冲区,请使用下面的命令:
但使用此选项时要谨慎,因为对于较大的邮件存储库,重建邮箱数据库中的所有邮箱的假脱机缓冲区需要花很长的时间。(参阅“reconstruct 的操作性能”。)故障恢复的更好的方法是利用多个磁盘构建存储库。如果其中一个磁盘出了问题,不会影响整个存储库。如果某一磁盘损坏,只需像下例所示用 -p 选项重建存储库的一部分:
reconstruct -r -p subpartition
若需重建命令行参数中列示的邮箱(但只有当其在 primary 分区中时),请输入下列:
reconstruct -p primary mbox1 mbox2 mbox3
如果确实需要重建所有的 primary 分区中的邮箱,请输入下列:
如果需强制 reconstruct 在不进行一致性检查的情况下重建文件夹,则须用 -f 选项。例如,下面的命令将强制重建用户文件夹 daphne:
若需在不加以修正的情况下检查所有邮箱,可按下面的例子使用 -n 选项:
检查和修复邮箱
若需对邮箱数据库进行高层次的一致性检查并修复,请输入下列:
- 从存储库假脱机缓冲区中删除了一个或多个目录,因此邮箱数据库条目也需删除。
- 一个或多个目录已恢复到存储库假脱机缓冲区中,因此邮箱数据库条目也需添加。
- stored -d 选项不能使数据库保持一致。
移除无主帐户
搜寻无主帐户(无主帐户即在 LDAP 中没有对应条目的邮箱)时,请输入:命令的输出如下:
若需创建一个列示无主邮箱的名为 orphans.cmd 的文件(该文件可转换为删除无主邮箱的脚本文件),请输入:
命令的输出如下:
reconstruct: Start checking for orphaned mailboxes
reconstruct: Found 2 orphaned mailbox(es)
reconstruct: Done checking for orphaned mailboxes
reconstruct 的操作性能
reconstruct 一次操作所需的时间取决于若干因素,其中包括:
reconstruct -r 选项首先进行一致性检查;此次检查可改善 reconstruct 的操作性能;操作性能的改善程度取决于须重建的文件夹数量。
- 操作的种类及所选择的选项
- 磁盘性能
- 运行 reconstruct -m 时文件夹的数量
- 运行 reconstruct -r 时邮件的数量
- 邮件存储库的总容量
- 系统是否在运行其他进程以及系统的繁忙程度
- 是否有正在进行的 POP、IMAP、HTTP 或 SMTP 活动
举例来说,假定有大约 2400 个用户,一个 85GB 的邮件存储库,服务器中有并行的 POP、IMAP 或 SMTP 活动:
- reconstruct -m 需 1 小时
- reconstruct -r -f 需 18 小时
备注: 如果服务器中没有正在进行的 POP、IMAP、HTTP 或 SMTP 活动,reconstruct 操作可能需要相当少的时间。
备份与恢复邮件存储库
备份与恢复是最常见、最重要的管理任务之一。必须为邮件存储库实施一套备份与恢复策略以确保出现问题时数据不致丢失;可能出现的问题包括:在迁移用户时也需要备份数据。
Messaging Server 提供的命令行实用程序可用于备份和恢复邮件存储库。Messaging Server 还提供了一种与 Legato Networker 集成的解决方案。
Messaging Server 采用单副本备份方法。无论有多少包含特定邮件的用户文件夹,在备份过程中,邮件文件只备份一次,即所找到的第一个邮件文件。第二个邮件副本被备份为通往第一个邮件文件名的链接,其他类似。backup 实用程序以邮件文件的索引节或信息节点(inode)作为索引,将所有邮件列于一个散列表。但在恢复数据时,此方法会使操作复杂化。有关详细信息,请参阅“关于部分恢复的考虑”。
业务负载高峰
在为系统规划备份时需考虑到业务负载高峰这一因素。例如,备份最好安排在凌晨,如上午 2:00。
完整备份和递增备份
递增备份法可先扫描存储库以搜寻变更数据并只备份变更的数据。完整备份法则备份整个邮件存储库。需确定系统进行完整备份相对于递增备份的频次。可将递增备份作为每日维护作业加以实施。在需要移动或迁移数据时,进行完整备份是适宜的。
并行备份和串行备份
当用户数据存储于多个磁盘时,可选择以并行方法备份用户组。并行备份方法从总体上可加速备份过程,具体指标取决于系统资源。但也有需要串行备份的时候,例如,在不想影响服务器性能时。是用并行备份还是用串行备份取决于多方面的因素,如系统负载、硬件配置、可用的磁带机数量等等。
创建备份组
通过将用户划分为若干组,可改善备份管理。例如,可以为每个组分别指定备份作业时段。也可以选择以并行方式同时备份若干组。假定用户邮件按用户的姓氏安排存储,字头为 A 的所有用户的邮件归为一个备份组,字头为 B 的所有用户的邮件归为另一个备份组。
邮件存储库的逻辑图可按下列划分:
存储库
______|______
| |
A 组 B 组
___|___
| |
用户 用户
____|____
| |
邮箱 邮箱
通过将用户划分为若干组,可改善备份管理。例如,可以为每个组分别指定备份作业时段。也可以选择以并行方式同时备份若干组。有关创建备份组方面的详细信息,请参阅“创建备份组”。
若需创建备份组,则要创建一个配置文件以存储组定义。该文件必须命名为 backup-groups.conf 而且必须存储在下列目录中:
server_root/msg-instance/config/backup-groups.conf
该文件的格式是:
groups=definitions
groups=definitions
.
.
.例如,若将用户按用户 ID 的首字母分组,可用如下的定义:
groupA=a*
groupB=b*
groupC=c*Messaging Server 包含一个预定义备份组,可在没有创建配置文件 backup-groups 情况下使用。这个组称为 ALL,包含所有用户。
Messaging Server 备份和恢复实用程序
为了备份和恢复数据,可用 Messaging Server 提供的 imsbackup 和 imsrestore 两种实用程序。请注意,imsbackup 和 imsrestore 这两种实用程序并不提供通用备份功能。这两种实用程序不具备 Legato Networker 这样的通用工具所具备的一些高级特性。例如,这两种实用程序只向自动换带机提供非常有限的支持。不能将单一的存储库写入多个并行设备中。要获得完善的备份功能须用如 Legato Networker 这样的通用化的外挂工具。有关 Legato Networker 的使用方面的详细信息,请参阅“使用 Legato Networker”。
imsbackup 实用程序
您可通过 imsbackup 实用程序将邮件存储库中选取的内容写到任何串行设备中,其中包括磁带、UNIX 管道、无格式文件等。备份或备份中选取的部分可在以后用 imsrestore 实用程序恢复。imsbackup 的输出可通过管道送往 imsrestore。进行备份作业时,可按下例使用 imsbackup 命令,例中将 user1 备份到 backupfile:
imsbackup -f backupfile /mystore/ALL/user1
此命令采用默认的块因子 20。有关 imsbackup 命令的完整语法描述,请参阅 iPlanet Messaging Server Reference Manual。
imsrestore 实用程序
从备份设备中恢复备份数据时,可用 imsrestore 命令。例如,下面的命令可为 user1 从文件 backupfile 中恢复邮件。imsrestore -f backupfile /mystore/ALL/user1
有关imsbackup 命令的完整语法描述,参见 iPlanet Messaging Server Reference Manual。
关于部分恢复的考虑
这种单副本备份方法在恢复邮件时有下列需注意的地方:假定有三个邮件分别属于三个用户 A、B 和 C,如下所示:
例 1:在第一个例子中,系统执行一个部分备份和完整恢复作业,过程如下:
在这个例子中,B/INBOX/1 和 C/INBOX/1 被赋予一个新的信息节点号,邮件数据写入磁盘中的一个新位置。仅有一个邮件副本被恢复,第二个邮件只是到第一个邮件的硬链接。
例 2:在这个例子中,系统执行完整备份和部分恢复,过程如下:
A/INBOX/1 被赋予一个新的信息节点号。
- 执行完整备份。
- 删除用户 A 和 B。
- 恢复用户 B。
- 恢复用户 A 和 B。
- 删除用户 A(可选)。
备注: 如果想确保所有邮件都以部分恢复方式恢复,可在运行 imsbackup 时使用 -i 选项。-i 选项使得必要时每个邮件可备份多次。此选项在 POP 环境下最有用。
使用 Legato Networker
Messaging Server 包含一个备份 API,可用来提供如 Legato Networker 这样的第三方备份工具的接口。邮件存储库的物理结构和数据格式被封装在备份 API 中。备份 API 与邮件存储库直接交互,为备份服务提供邮件存储库的逻辑界面。备份服务以邮件存储库的概念显示方式存储和检索备份对象。Messaging Server 提供的 Application Specific Module(ASM)可被 Legato Networker 的 save 和 recover 命令调用,以便备份和恢复邮件存储库数据。ASM 接着调用实用程序 Messaging Server imsbackup 和 imsrestore。
备注: 本节提供的信息涉及如何将 Legato Networker 用于 Messaging Server 邮件存储库。有关 Legato Networker 界面方面的说明,请参阅 Legato 文挡。
用 Legato Networker 备份数据
在用 Legato Networker 对 Messaging Server 邮件存储库进行备份时,在援用 Legato 界面之前必须执行以下准备步骤:
图 11-2 所示为备份组目录结构的一个样板。
- 创建一个从 usr/lib/nsr/imsasm 到 serverRoot/msg-instance/bin/imsasm 的象征性的链接。
- 从 Sun 或 Legato 处索取一份二进制文件 nsrfile 的副本并将之复制到下面的目录中:
- 如果按组备份用户,请执行以下步骤:
- 遵照“创建备份组”中的说明创建备份组文件。
- 若需检查所做的配置,请运行 mkbackupdir.sh。
- 查看在server_root/backup 中的目录结构。该结构应与图 11-2 中展示的结构类似。
- 在目录 /nsr/res/ 中为保存组创建一个 res 文件,以便在备份前调用脚本 mkbackupdir.sh。请见图 11-3 中的范例。
图 11-2 备份组目录结构
siroe-groupA-a1
-a2
-groupB-b1
-b2
-groupC-c1
-c2
图 11-3 所示为一个在 /nsr/res 目录中的名为 IMS.res 的示例性 res 文件:
图 11-3 res 文件样板
type: savepnpc
precmd: "echo mkbackupdir started",
"/usr/siroe/server5/msg-siroe/bin/mkbackupdir.sh -p /backup"
pstcmd: "echo imsbackup Completed";
timeout: "12:00 pm";
现在准备好按下面的步骤运行 Legato Networker 界面:
- 如有必要,则先创建 Messaging Server 保存组。
- 将 savepnpc 用作备份命令以创建一个备份客户:
- 将保存集设置为由 mkbackupdir 所创建的目录。
- 对单一任务备份,请使用 server_root/backup
- 对于平行备份,请使用 server_root/backup/server/group
- 检查是否已经按“创建备份组”中的定义创建了 group。
- 还必须按照备份作业时段数设置并行性。
- 请参阅“范例:在 Networker 中创建备份客户”。
- 选取 Group Control | Start 以测试备份配置。
范例:在 Networker 中创建备份客户 在 Networker 中创建备份客户时,从 nwadmin 中选择 Client | Client Setup | Create:
Name: siroe
Group: IMS
Savesets:/backup/siroe/groupA
/backup/siroe/groupB
/backup/gotmail/groupC
.
.
Backup Command:savepnpc
Parallelism: 4
用 Legato Networker 恢复数据
恢复数据时,可用 Legato Networker 的 nwrecover 界面或命令行实用程序 recover。下面的例子可用来恢复用户 a1 的 INBOX:recover -a -f -s siroe /backup/siroe/groupA/a1/INBOX
recover -a -f -s siroe /backup/siroe
使用第三方备份软件(Legato 除外)
iPlanet Messaging Server 提供两个存储库备份解决方案,命令行 imsbackup 和 Solstice Backup(Legato Networker)。对于大型邮件存储库,通过一次运行 imbackup 来备份整个邮件存储库会花费相当长的时间。Legato 解决方案支持在多个备份设备上的并行备份会话。并行备份可以大大缩短备份时间(已达到每小时备份 25 GB 的数据)。如果使用另一个第三方并行备份软件(如,Netbackup),可以使用以下的方法将备份软件与 iPlanet Messaging Server 相整合。
- 将用户分为若干组(参见“创建备份组”)并在 server_root/msg-<instance>/config/ 目录下创建 backup-groups.conf 文件。
- 例如,对于 UID 标识的组用户,使用在 /usr/iplanet/server5/msg-siroe/config/backup-groups.conf 中的以下定义:
- groupA=a*
groupB=b*
groupC=c*
. . .
备注: 此备份解决方案要求更多的磁盘空间。为了并行备份所有的组,所要求的磁盘空间是邮件存储库空间的 2 倍。如果没有如此多的磁盘空间,可将用户分成更小的组,然后一次备份一批用户组。例如,组 1 - 组 5,组 6 - 组 10。备份后移除这些组数据文件。
- 运行 imsbackup 将每个用户组备份到分段区下的文件中。
- 命令格式是 imsbackup -f <device> /<instance>/<group>
- 可以同时运行多个 imsbackup 进程。例如:
- # imsbackup -f- /siroe/groupA > /bkdata/groupA &
# imsbackup -f- /siroe/groupB > /bkdata/groupB &
- . . .
- imsbackup 不支持大型文件,如果备份数据大于 2 GB,就需要使用 -f- 选项以将数据写到 stdout(标准输出),然后使用管道输出到文件。
- 使用第三方软件备份在分段区的组数据文件(在我们的例子中是 /bkdata)。
- 若要恢复一个用户,请确定该用户的组文件名,从磁带上恢复该文件,然后使用 imsrestore 从数据文件中恢复该用户。
对邮件存储库进行故障诊断
本节提供对邮件存储库进行预见性维护的指导方针。此外,本节还描述在邮件存储库受损或意外关闭的情况下,可以使用的其他邮件存储库恢复程序。注意,本节关于其他邮件存储库恢复程序是对“修复邮箱和邮箱数据库”的扩充。在阅读本节之前,强烈建议回顾本章和命令行实用程序以及 iPlanet Messaging Server Reference Manual 中的 configutil 各章。本章包含以下主题:
标准邮件存储库监控程序
本节简述邮件存储库的标准监控程序。这些程序对于例行检查,测试和标准维护很有帮助。有关详细信息,请参阅“监控邮件存储库”。
检查硬件空间
邮件存储库应具有足够的额外磁盘空间和硬件资源。当邮件存储库的接近磁盘空间和硬件空间的最大限额时,可能会在邮件存储库内产生问题。磁盘空间不足是造成邮件服务器问题和失败的最常见的问题之一。如果邮件存储库没有要写的空间,邮件服务器将失败。另外,当可用的磁盘空间低于某阈值后,将出现与邮件传递、登录等等相关联的问题。当 stored 进程的清理功能失效,被删除的邮件不能从邮件存储库擦去时,磁盘空间可被迅速地耗尽。
有关监控磁盘空间的信息,请参见“监控磁盘空间”和“监控邮件存储库”。
检查日志文件
检查日志文件以确认邮件存储库进程是按照配置运行的。Messaging Server 为每个主要协议或服务单独创建一批日志文件,所支持的协议或服务有:SMTP,IMAP,POP 和 HTTP。可以通过 Console 或在目录 server-root/msg-instance/log/ 中查看这些日志文件。日志文件的监控应当例行化。应当意识到,日志记录会对服务器的性能产生影响。定义的日志记录越详细,在给定时间量内日志文件所占用的磁盘空间就越大。应对服务器定义有效而现实的日志记录轮换、失效和备份策略。有关对服务器定义日志记录策略的信息,参见第 13 篇 “日志记录和日志分析”。
检查 stored 进程
stored 功能执行多种重要任务,诸如邮件数据库的死锁和事务操作,强制时限策略,以及清除储存在磁盘上的邮件等。如果 stored 停止运行,则 Messaging Server 将最终陷入问题。如果 stored 在 start-msg 已运行后仍不启动,则其他进程将不能启动。
有关 stored 进程的更多信息,请参见“使用 stored 实用程序” 和 iPlanet Messaging Server Reference Manual 的“Messaging Server 命令行实用程序”一章的 stored 实用程序。
- 请检查确认 stored 进程正在运行。pid 文件是由stored(server-root/msg-instance/config/store.pid)创建和更新的。
- 每当 stored 进程试图实施以下功能之一时,请检查确认下列文件的时间戳(在 server-root/msg-instance/config/ 目录中)已更新:
表 11-8 stored 操作
储存操作
功能
- 检查在 server-root/msg-instance/store/mailboxlist 中构建的日志文件。
- 检查在默认日志文件 server-root/msg-instance/log/default/default 中的 stored 邮件。
有关监控 stored 功能的其他信息,请参见“监控邮件存储库”。
检查数据库日志文件
数据库日志文件指 sleepycat 事务检查点日志文件(在目录 server-root/msg-instance/store/mboxlist 中)。如果日志文件累积,则不会发生对数据库检查点的检查。一般来说,在一个单一的时段内有两个或三个数据库日志文件。如果有更多的文件,则可能是出问题的信号。
检查用户文件夹
如果要检查用户文件夹,可以执行命令:
reconstruct -r -n(recursive nofix 递归 不修正),将对任何用户文件夹进行检查并报告错误。有关 reconstruct 命令的更多信息,请参见“修复邮箱和邮箱数据库”。
检查核心文件
只有当进程意外终止时,核心文件才会存在。检查这些文件很重要,特别是在邮件存储库发现问题时。
常见问题和解决办法
本节列出常见的邮件存储库问题和解决办法:
用户邮箱目录问题
用户邮箱问题是指当邮件存储库的损害仅限于少数用户而且没有对系统的全局造成损害时的情况。以下的指导方针对识别、分析和解决用户邮箱目录问题的处理过程提出了建议:
有关 reconstruct 命令的更多信息,请参见“修复邮箱和邮箱数据库”。
- 查看日志文件、错误信息或用户观察到的任何不寻常行为。
- 若要保留调试信息和历史,将整个 server-root/msg-instance/store/mboxlist/ 用户目录复制到邮件存储库以外的另一个位置处。
- 要找出可能造成问题的用户文件夹,应当运行 reconstruct -r -n 命令。如果用 reconstruct 不能找到有问题的文件夹,则该文件夹可能不在 folder.db 中。
- 如果用 reconstruct -r -n 命令不能找到有问题的文件夹,可使用 hashdir 命令确定其位置。有关 hashdir 的更多信息,请参见“hashdir 实用程序”和 iPlanet Messaging Server Reference Manual 的“Messaging Server 命令行实用程序”一章的 hashdir 实用程序。
- 一旦找到那个文件夹,检查其中的文件,检查权限,验证文件大小正确性。
- 使用 reconstruct -r(没有 -n 选项)重建邮箱。
- 如果 reconstruct 不能检测到已观察到的问题,可以使用 reconstruct -r -f 命令强制执行邮件夹的重建。
- 如果这个文件夹不存在于 mboxlist 目录(server-root/msg-instance/store/mboxlist)中,而存在于 partition 目录 server-root/msg-instance/store/partition)中,则可能有全局性不一致问题。在这种情况下,应运行 reconstruct -m 命令。
- 如果前面的步骤不起作用,可以移除 store.idx 文件并再次运行 reconstruct 命令。
如果确信在该文件中有一个用 reconstruct 命令无法找到的问题,则只应移除 store.idx 文件。
- 如果问题局限于有问题邮件,应将该邮件文件复制到邮件存储库以外的另一个位置处,然后针对 mailbox/ 目录运行 reconstruct -r 命令。
- 如果确定该文件夹在磁盘(的 erver-root/msg-instance/store/mboxlist/partition/ 目录中)存在,而显然不在数据库(server-root/msg-instance/store/mboxlist/ 目录)中,请运行 reconstruct -m 命令以确认邮件存储库的一致性。
全局性存储库问题
如果可以确定邮件存储库失败是影响所有用户的问题或是系统全局性损害的结果,可以使用以下的指导方针恢复系统:
- 停止邮件存储库进程。
- 如果 msg-start 命令在 stored 进程命令试图启动一个邮件存储库时意外终止,则 stored 或是失败,或是尝试恢复存储库。
- 如果 pidfile 表示出 ready 状态,则数据库已恢复,邮件存储库的其余部分可以重新启动。
- 启动存储库进程并运行 reconstruct -m 命令。有关 reconstruct 的更多信息,请参见“修复邮箱和邮箱数据库”。
- 通过监控测试帐号和查看日志文件确定用户邮箱是否有效。
- 如果对邮件存储库的损害是广泛的,可能有必要在邮件存储库进程停止的状态下进行修理。请参阅“邮件存储库恢复程序”。
- 如果 pidfile 不能更改到 ready 状态,则 stored 进程或是在检查 mboxlist 日志文件,或是数据库不能恢复。
- 如果在 server-root/msg-instance/store/mboxlist 目录中有许多数据库日志文件,stored 进程可能不会脱离 init 状态。另外,数据库恢复可能需要过长的时间(例如,对于多数计算机上,20 到 30 个日志文件的处理时间就太长了。)如果此情况出现,应停止 stored 进程,移除在 server-root/msg-instance/store/mboxlist 目录中的文件,并启动快照或快速恢复程序。
- 如果 stored 进程不能恢复邮件存储库,则此数据库很有可能已经损坏。在这种情况下,需要恢复数据库的快照副本,或启动快速恢复技术。有关详细信息,请参阅“邮件存储库恢复程序”。
当进程在访问数据库时,绝不要将其终止。如果将 stored 进程在 init 状态下终止,将不能从现有的 mboxlist 数据中恢复数据库。因此,这些数据必须移除。如果终止正在访问数据库的其他进程,该数据库可能会保持在不一致状态下,需要关闭整个邮件存储库并重新启动。
邮件存储库恢复程序
本节描述重建或修理邮件存储库的恢复程序。
- 执行快速恢复。当数据库的损坏超出标准修理范围,请使用快速恢复。(有关标准邮箱修理的信息,请参见“修复邮箱和邮箱数据库”。)另外,快速恢复可使邮件存储库立即被调上来。当使用标准的邮件存储库恢复程序(参见“修复邮箱和邮箱数据库”)时,还需要在快速恢复程序中使用 reconstruct 命令。
- 创建数据库快照备份和用数据库快照恢复邮件存储库。如果数据库损坏,可恢复为前一个版本的数据库,这样较高比例的用户文件夹可立即恢复。在执行恢复后,可以使用带 reconstruct 命令的快速恢复程序以替代和重建数据库。
执行快速恢复
当数据库不一致时,可在标准恢复程序中使用 reconstruct 实用程序。(参阅“修复邮箱和邮箱数据库”。)如果数据库的损坏超出标准修理范围,可以通过以下这些步骤用 reconstruct 进行快速恢复:
- 停止邮件存储库进程。
- 验证所有存储库进程已被停止。
- 把 server-root/msg-instance/store/mboxlist/* 这些文件复制到一个安全的位置,用于随后检查。
- 移除 server-root/msg-instance/store/mboxlist/ 目录中的所有文件。
- 启动如 stored、imapd、popd 和 mshttpd 这样的邮件存储库进程。
- 运行 reconstruct -m 实用程序重建 folder.db。
创建数据库快照备份
预见到邮件存储库的损坏,可预防性地创建邮箱数据库和日志文件的备份(称为快照)。这样,在数据库损坏的情况下,可以使用快照替代数据库,而不需要重建数据库。快照工具随时制成数据库的一致副本并可恢复。请确认有足够的磁盘空间保存这些备份。
备注: 除非另有说明,否则在表 11-9 中列出的数据库快照参数只能用于 iPlanet Messaging Server 5.2。
表 11-9 描述了三个用于创建数据库快照的 configutil 参数。这些数据库快照在恢复过程中被 stored 进程所调用:
表 11-9 configutil 数据库快照参数
数据库快照参数
说明
储存在磁盘上的不同快照数。最小值为 2,默认值为 3,建议这个数量足够确保在当前数据库的损害超出修理范畴时,具有很好的数据库支持。
创建数据库备份时,须用 configutil 命令为下列参数指定数值:
configutil -o local.store.snapshotinterval -v number
这里的 number 用于指定 stored 备份数据库的频次,number 表示以分为单位的时间间隔。
configutil -o local.store.snapshotpath -v path
来自较早的 Messaging Server 版本的数据库快照实用程序与这些实用程序的功能不尽相同。因此,不赞同将快照实用程序的先期 Messaging Server 版本用于 Messaging Server 5.2。
用数据库快照恢复邮件存储库
为了用数据库快照恢复数据库,熟悉邮件存储库布局十分必要。有关详细信息,请参阅“邮件存储库目录布局”。在数据库快照被创建后,(如在“创建数据库快照备份”中所解释的),它们被储存在 src 子目录中。这些文件最终将被移动到 dst server-root/msg-instance/store/mboxlist/ 目录中,那也是恢复的数据库驻留的地方。除了快照文件外,在创建快照时还要创建控制文件。表 11-10 描述的是数据库快照控制文件。注意,这些文件为邮件存储库所有者所拥有:
下列步骤解释如何通过使用数据库快照,控制文件,src/ 和 dst/ 目录执行手工恢复:
- 在执行恢复前,请确认自己是邮件存储库的所有者。
- 停止邮件存储库进程并验证所有进程是否已停止。
- 将 server-root/msg-instance/store/mboxlist/ 目录中的文件复制到一个安全的位置以备以后查看。
- 检查快照,确定哪一个(如果有的话)可以替代邮件存储库。有关详细信息,请参阅“创建数据库快照备份”。
- 使用 *.snaptime 文件确定备份的有效性和时间。如果一快照对应过多的日志文件,请查看另一个快照。
- 拾取最近的,没有捕获到数据库问题的有效快照。
- 如果没有快照可用,请遵循快速恢复程序。有关详细信息,请参阅“执行快速恢复”。
- 移除在 server-root/msg-instance/store/mboxlist/ 目录中的所有文件,因为它们已经损坏。
- 将与选中快照对应的快照文件复制到 server-root/msg-instance/store/mboxlist/ 目录中,但请确认不要复制 *.snaptime 文件。
- 用 touch 命令在 server-root/msg-instance/store/mboxlist/ 目录中创建 .catrecov 文件。
- 启动邮件存储库进程。
- 监控 stored 进程。stored 进程应恢复。
- 在 stored 进程恢复后,确认文件 server-root/msg-instance/store/mboxlist/.catrecov 已移除,否则一旦启动,邮件存储库将认为需要进行灾难性恢复。
- 运行 reconstruct -m 以修正 snaptime 文件和数据库失败间的任何不同。
上一页 目录 索引 下一页
(c) 2002 年 Sun Microsystems, Inc. 版权所有。
更新日期:2002 年 2 月 27 日