Я собираюсь перенести почтовые ящики IMAP с Exchange 2013 на Cyrus с более чем 10 тысячами пользователей. Я планирую использовать imapsync
как инструмент для этого.
[root@centos65]# imapsync --version
1.644
Я тестирую с 5 пользователями и в общей сложности 134 письма (большинство из них - обычный текст + одно вложение размером 9 МБ).
Сначала я попробовал с помощью следующей команды:
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
, не намного быстрее.
Мой входной файл:
user1@example.com pwd1 pwd2
user2@example.com pwd1 pwd2
user3@example.com pwd1 pwd2
user4@example.com pwd1 pwd2
user5@example.com pwd1 pwd2
Я протестировал запуск нескольких скриптов, каждый из которых будет работать с некоторыми папками (используя --exclude
или --include
), но не очень быстро (на самом деле это заняло более 2 минут).
Есть ли у вас какие-нибудь передовые методы работы с этим инструментом с таким большим количеством пользователей / почтовых ящиков? Есть какие-нибудь предложения по улучшению?
В документации imapsync есть часто задаваемые вопросы о массовой миграции: http://imapsync.lamiral.info/FAQ.d/FAQ.Massive.txt
В. Мне нужно перенести 500 тыс. Пользователей, используя 400 ТБ дискового пространства. Как мне продолжить?
В. Как определить узкое место в моем текущем процессе imapsync?