首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级cyrus和split邮箱

升级cyrus和split邮箱
EN

Server Fault用户
提问于 2012-01-26 10:42:14
回答 2查看 2.2K关注 0票数 1

我正在尝试将Cyrus IMAP服务器从2.2.12升级到2.4.12/13。

非常清楚,我正在寻找一个很好的指南来做这件事,因为我的实际版本是一个旧版本。我想这不仅仅是升级版本或安装新版本并导入配置,我错了吗?我假设我需要迁移数据库信息,但不知道如何迁移。

我们的主要和独特的Cyrus服务器管理着10000多个用户及其相应的邮箱。通过新的迁移,我们希望将这台主服务器拆分为较小的服务器,以便按客户端拆分邮箱。我怎么能从Cyrus 2.2.12导出几个邮箱呢?我想有选择地出口邮箱。

我找到了"Mailsync“工具,但它看起来不可能对邮箱具有选择性。有没有办法正确地迁移到新版本的赛勒斯?

EN

回答 2

Server Fault用户

发布于 2012-01-26 11:12:31

(大约8年前,我将5万多个用户帐户从一个旧邮件服务器(运行uw-imapd)迁移到一个新的服务器“农场”,该服务器由三台服务器组成,运行着Cyrus。当时,我使用我的l337 Perl技能创建了一个迁移脚本,它将登录到旧服务器,并通过IMAP一次一个用户帐户复制新服务器的邮件。OpenLDAP服务器+ Perdition在这件事情的前面决定了用户应该被转发到哪里(到旧服务器还是新服务器)。手术是在不停机的情况下在线进行的.这是一个离题,所以我会继续我的回答。)

一句警告:你要做的工作可能有点乏味,为你输入一个足够简短的答复也不容易。-以下是你要考虑的几点。

你还有工作要做。升级Cyrus本身并不是不可能的,但是同时将用户从一个服务器分离到多个服务器需要计划。仅仅将旧服务器上的所有内容复制到new都不起作用,因为BerkeleyDB/skiplist格式在中间已经改变了,旧的数据文件无法立即使用。

对于用户/邮箱列表,最好使用ctl_mboxlist -d开关将旧服务器上的用户/邮箱信息转储到文本文件,然后使用ctl_mboxlist -u将内容加载到新服务器。如果您只升级Cyrus,同时移动到一个功能更强大、但只有一个服务器的服务器,情况就是这样。可以用rsync复制邮箱,然后在Cyrus中使用reconstruct -rfx user/*命令。

如果您想同时进行拆分,您可能需要尝试一下,如果现在xfermailbox命令在cyradm中实际上允许您将邮箱从一个服务器移动到另一个服务器。如果是这样的话,您可以创建一个脚本,它调用xfermailbox 10 000次,并将您的用户帐户移动到任何您想要的位置。

另一个提示:如果您发现迁移后某些用户无法找到邮件文件夹/邮件,则可能需要reconstruct -rfx user/someaccount命令。

在此之前,一切都很好,但你有没有考虑过以下几点:

  • 如果要将用户拆分到多个服务器中,那么是否有类似于PerditionCyrus Murder的东西来重定向POP/IMAP登录以更正邮件服务器?
  • 如果拆分,您有OpenLDAP或其他集中身份验证/用户管理吗?
  • 如果拆分,您是否配置了Postfix或任何SMTP服务器以确定用户帐户的实际位置?
  • 您目前有性能问题吗?10000个用户帐户不是很多,除非您确实有一些将用户帐户拆分为多个服务器的严重原因,否则您应该仔细考虑这一点。在系统管理方面,以主动/被动故障转移模式配置的某种+两个半功能服务器的集中式存储可能更明智、更简单。当然,拥有多个带有本地磁盘的小型服务器可能有助于扩展I/O负载,但是Cyrus说,如果您给它足够的RAM和I/O,那么‘谢谢’不应该是一个真正的问题。
  • 如果您决定将负载分成多个服务器的原因是由于性能问题,请再次检查您的Cyrus是否正在使用BerkeleyDB或Skiplist用于mailboxes.db等。没有经过良好调整的DB_CONFIG的BerkeleyDB可能很容易破坏性能和/或导致死锁。Skiplist更不用担心。此外,Cyrus中的POP3实现非常缺乏熵,如果您的服务器没有基于硬件的随机数生成器,如果没有rngd守护进程,登录可能会非常慢,或者赛勒斯配置为使用/dev/urandom而不是/dev/random来实现随机性。

我希望这对你有一点帮助。

票数 3
EN

Server Fault用户

发布于 2012-01-27 08:30:27

你给了我很好的线索。

无论如何,我会回答我应该考虑的想法:

  • 我们已经灭亡了,但我们正在考虑继续毁灭或改变到nginx。
  • 我们有LDAP
  • 现在我还不确定,我应该检查一下
  • 现在我们没有性能问题,但是我们正在成长,越来越多的客户开始进入我们的系统。我们认为,这可能是一个不错的选择,可能是由客户或用户组分割的。从SysAdmin的角度来看,这可能是一项乏味的工作,但可能对bussines和SLA有好处。任何其他选择都会收到好评:)
  • 正如我之前评论过的,我们没有表现问题,无论如何,我们使用的是BerkeleyDB。

无论如何,正确的是,我正在做一个方案,我们应该做什么来成功或迁移,所以我不能尝试您提供给我的命令。

等我检查完后再回来。

非常感谢!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/353807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档