本节列出了常见的邮件存储问题和解决方案:
如果用户无法装入任何 Messenger Express 页面或 Communications Express 邮件页面,则问题可能是数据压缩后被破坏。如果系统部署了过时的代理服务器,则有时可能会出现这种情况。要解决此问题,请尝试将 local.service.http.gzip.static 和 local.service.http.gzip.dynamic 设置为 0 以禁用数据压缩。如果这样能够解决问题,您可能需要更新代理服务器。
某些 UNIX shell 可能需要用引号引起通配符参数,某些则不需要。例如,C shell 尝试将包含通配符(*、?)的参数扩展为文件,如果未找到任何匹配项,则将失败。这些模式匹配参数可能需要包含在引号中,以传递给命令(如 mboxutil)。
例如:
mboxutil -l -p user/usr44*
将在 Bourne shell 中运行,但在 tsch 和 C shell 中将失败。这些 shell 可能需要以下命令:
mboxutil -l -p "user/usr44*"
如果使用通配符模式的命令不起作用请验证是否需要为该 shell 的通配符使用引号。
如果用户邮箱被移动到刚创建的新分区并且尚未刷新或重新启动 Messaging Server,则用户将会从 Messenger Express 获得消息“未知/无效分区”。此问题仅在新分区中发生。如果现在向此新分区添加其他用户邮箱,则不必刷新/重新启动 Messaging Server。
当邮件存储的损坏仅限于少数用户且没有对系统造成全局损坏时,将出现用户邮箱问题。以下指导建议了识别、分析和解决用户邮箱目录问题的进程:
查看日志文件、错误消息或用户观察到的任何异常性能。
要保存调试信息和历史记录,请将整个 store_root/mboxlist/ 用户目录复制到邮件存储以外的其他位置。
要查找可能导致问题的用户文件夹,请运行命令 reconstruct -r -n。如果使用 reconstruct 找不到该文件夹,则该文件夹可能不在 folder.db 中。
如果使用 reconstruct -r -n 命令找不到该文件夹,使用 hashdir 命令以确定位置。有关 hashdir 的更多信息,请参见hashdir 实用程序,以及 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》 的 "Messaging Server Command-line Utilities" 一章中的 hashdir 实用程序部分。
找到文件夹后,请检查文件、检查权限并验证正确的文件大小。
使用 reconstruct -r(不使用 -n 选项)重建邮箱。
如果 reconstruct 未检测到您观察到的问题,您可以使用 reconstruct -r -f 命令强制执行对邮件文件夹的重建。
如果文件夹不在 mboxlist 目录 (store_root/mboxlist) 中,而是在 partition 目录 (store_root/partition) 中,则可能存在全局不一致性。在此情况下,应运行 reconstruct -m 命令。
如果前面的步骤不起作用,可以删除 store.idx 文件并再次运行 reconstruct 命令。
如果确定是在 reconstruct 命令无法找到的文件中有问题,则应仅删除 store.idx 文件。
如果问题限制为有问题的邮件,则应将邮件文件复制到邮件存储以外的其他位置,并对 mailbox/ 目录运行命令 reconstruct -r。
如果确定文件夹存在于磁盘(store_root/partition/ 目录)上,但是显然不在数据库(store_root/mboxlist/ 目录)中,则运行命令 reconstruct -m 以确保邮件存储的一致性。
有关 reconstruct 命令的更多信息,请参见修复邮箱和邮箱数据库。
如果 stored 不启动,并显示以下错误消息:
# msg_svr_base/sbin/start-msg msg_svr_base: 正在启动 STORE 守护进程...致命错误: 无法找到名称服务中的组 |
这表示找不到 local.servergid 中配置的 UNIX 组。Stored 和其他命令需要将其 gid 设置到该组。有时 local.servergid 定义的组可能会被无意删除。在此情况下,请创建已删除的组,将 inetuser 添加到该组,将 instance_root 及其文件的拥有权更改为 inetuser 和该组。