我要将 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 进程的瓶颈是什么?