使用 imapsync 工具迁移数千个用户的 IMAP 邮箱的最佳实践

使用 imapsync 工具迁移数千个用户的 IMAP 邮箱的最佳实践

我要将 IMAP 邮箱从 Exchange 2013 迁移到拥有超过 10,000 名用户的 Cyrus。我计划将其用作imapsync此工具。

[root@centos65]# imapsync --version
1.644

我正在对 5 个用户和总共 134 封邮件进行测试(大多数是纯文本 + 一个 9MB 附件)。

首先,我尝试使用以下命令:

while read user pwd1 pwd2
do
    /usr/bin/imapsync \
    --host1 exchange_svr \
    --password1 "$pwd1" --user1 $user@domain \
    --authmech1 "PLAIN" \
    --host2 cyrus_svr --user2  $user@domain \
    --ssl1 --subscribeall \
    --authmech2 "PLAIN" \
    --password2 "$pwd2"
done < input

完成时间是1min 57sec

使用一些选项希望加快速度:

  ...
  /usr/bin/imapsync \
--nofoldersizes --nofoldersizesatend --buffersize 49152000 --usecache --idatefromheader \ ## <-- add these options
--host1 exchange_svr \
  ...

完成时间是1min 49sec,不会快多少。

我的输入文件:

[email protected]   pwd1   pwd2
[email protected]   pwd1   pwd2
[email protected]   pwd1   pwd2
[email protected]   pwd1   pwd2
[email protected]   pwd1   pwd2

我已经测试运行多个脚本,每个脚本都会处理一些文件夹(使用--exclude--include),但速度实际上并不是更快(实际上花费了超过 2 分钟)。

你们有什么最佳实践来处理如此多的用户/邮箱?有什么建议可以让我做得更好吗?

答案1

imapsync 文档中有一个关于大规模迁移的常见问题解答: http://imapsync.lamiral.info/FAQ.d/FAQ.Massive.txt

问:我必须迁移 50 万用户,使用 400 TB 的磁盘空间。我该怎么做?

问:如何确定当前 imapsync 进程的瓶颈是什么?

相关内容