Главная функция Carbonio Backup - резервирование данных почтовых ящиков пользователей Carbonio. Созданная при его помощи резервная копия может использоваться для восстановления данных не только на исходном, но и новом сервере, обеспечивая возможность восстановления системы даже в случае физического уничтожения серверов, но и миграции учетных записей, в том числе при переходе с Zimbra на Carbonio. В данной инструкции мы разберем процесс корректного извлечения файлов резервной копии из системы, а также их восстановления.
Данная инструкция подойдет только для пользователей коммерческой версии почтового сервера Carbonio. Обращаем ваше внимание, что для выполнения миграции не может быть использована пробная лицензия. Использовать можно только полноценную лицензию.
Благодаря совместимости модуля Zextras Backup из Zextras Suite for Zimbra OSE и Carbonio Backup, он может использоваться для миграции данных из одной системы в другую. Для этого необходимо обеспечить доступность данных резервной копии с исходного сервера на целевом и восстановить из них учетные записи, домены, настройки из старой системы и так далее.
Обеспечить требуемую видимость можно двумя способами:
Скопировать данные в пути резервного копирования на целевой сервер
Подключить хранилище в пути резервного копирования как NFS или S3 хранилище к целевому серверу
В обоих случаях примем за путь подключения резервной копии папку /opt/migration.
После обеспечения видимости данных администратор сможет провести их восстановление на новом сервере. В зависимости от того, будете ли вы восстанавливать все данные на сервере или только отдельные домены, будет зависеть подход к восстановлению данных и время недоступности сервиса.
Полное восстановление данных
При миграции всех данных сразу, требуется остановить получение и отправку почты на исходном сервере. Делается это для того, чтобы процесс копирования из резервной копии не наложился на процесс записи в нее и в результате не возникла неконсистентность данных.Добиться остановки можно закрыв порты SMTP в файрволе или остановив службу MTA.
На исходном сервере запустите и дождитесь завершения выполнения команды zxsuite --progress backup doSmartScan start. Это позволит создать самую свежую версию данных на сервере, включая даже те письма, которые пришли прямо перед остановкой их приема.
Проверьте права пользователя Zextras на сервере Carbonio. Он должен иметь права на чтение файлов в резервной копии Zimbra.
Запустите процесс восстановления из резервной копии с помощью функции внешнего восстановления - carbonio --progress backup doExternalRestore /opt/migration. При ее запуске учетные записи начнут восстанавливаться один за другим.
В случае, если у вас много учетных записей, процесс их восстановления по одной может сильно затянуться. В таком случае рекомендуется использовать параметр concurrent_accounts. Например, команда carbonio --progress backup doExternalRestore /opt/migration concurrent_accounts 5 запустит процесс с параллельным восстановлением сразу пяти учетных записей.
После выполнения миграции данных рекомендуется запустить встроенную в Carbonio функцию дедупликации данных, поскольку даже при использовании оборудования, поддерживающего дедупликацию на аппаратном уровне, оно может не справиться со своей задачей при последовательной записи данных учетных записей.
После завершения миграции данных администратору остается лишь перенаправить почтовый поток на новый сервер.
Миграция отдельных доменов
При миграции данных в формате split-domain, когда обе системы остаются функциональными, а данные между ними переносятся по одному домену за раз, обязательным требованием является отличающиеся имена узлов MTA на исходном и целевом серверах, а также возможность исходного сервера отправлять почту на MTA целевого сервера.
Для того, чтобы убедиться в том, что у вас все настроено правильно, создайте одноименные учетные записи на обоих серверах:
На Zimbra - zmprov createAccount test@domain.ru ""
На Carbonio - carbonio prov createAccount test@domain.ru VeryStrongPassword
На сервере Zimbra смените параметр адреса входящей почты на MTA Carbonio - zmprov modifyAccount test@domain.ru zimbraMailTransport smtp:carbonio-mta:25
После этого письмо отправленное на адрес test@domain.ru должно прийти на сервер Carbonio. Если этого не произошло, остановите дальнейшие действия до установления причин непрохождение почты.
Если же все работает нормально, перейдите к процессу миграции домена. Для этого переведите домен на исходном сервере в режим обслуживания при помощи команды zmprov modifyDomain domain.ru zimbraDomainStatus maintenance
Выполните на исходном сервере команду zxsuite --progress backup doSmartScan start. Это позволит создать самую свежую версию данных на сервере, включая даже те письма, которые пришли прямо перед переводом домена в режим обслуживания.
Проверьте права пользователя Zextras на сервере Carbonio. Он должен иметь права на чтение файлов в резервной копии Zimbra.
Запустите процесс восстановления из резервной копии с помощью функции внешнего восстановления - carbonio --progress backup doExternalRestore /opt/migration domains domain.ru. Благодаря указанию в конце команды имени домена для миграции, перенос данных будет ограничен только им.
В случае, если в домене много учетных записей, процесс их восстановления одна за другой может занять слишком много времени. В таком случае рекомендуется использовать параметр concurrent_accounts. Например, команда carbonio --progress backup doExternalRestore /opt/migration domains domain.ru concurrent_accounts 5 запустит процесс с восстановлением сразу пяти учетных записей одновременно.
Поскольку все учетные записи переедут на сервер Carbonio со старыми настройками, администратору потребуется изменить у них настройку zimbraMailTransport. Пример скрипта, которым этого можно добиться:
for acc in (carbonio prov -l getAllAccounts | grep @domain.ru); do carbonio prov modifyAccount $acc zimbraMailTransport smtp:carbonio-mta:25"; done
После выполнения миграции данных рекомендуется запустить встроенную в Carbonio функцию дедупликации данных, поскольку даже при использовании оборудования, поддерживающего дедупликацию на аппаратном уровне, оно может не справиться со своей задачей при последовательной записи данных учетных записей.
После выполнения этих действий администратор может закрыть или вовсе удалить смигрированный домен на исходном сервере.
Описанный сценарий переноса доменов может использоваться несколько раз для постепенного переноса данных с одного сервера на другой. Рекомендуется не забывать выполнять SmartScan для актуализации данных в резервной копии перед каждой миграцией домена. Кроме того необходимо уделять внимание правам на чтение файлов в резервной копии.
Миграция данных Zextras Drive
Для переноса файлов и папок, хранящихся в Zextras Drive, в Carbonio Files требуется установка отдельного пакета на узле AppServer.
apt install carbonio-drive-migration
После установки запустите эту программу от имени root-пользователя с необходимыми параметрами. Важный момент - запускать программу для миграции Zextras Drive следует только после завершения импорта основных данных из резервной копии
carbonio-drive-migration -b /tmp/export -t https://mail.example.com/ -m /opt/zextras/backup/zextras/maps_[uuid]
Параметры в данной команде означают:
-b - путь, в котором хранится экспортированная резервная копия
-t - публичный адрес сервера Carbonio (должен соответствовать значению параметра zimbraPublicServiceHostname)
-m - путь файла с таблицей соответствия имен пользователей на исходном и на целевом серверах
В результате такой миграции будут перенесены все файлы и папки, хранящиеся в Zextras Drive на момент экспорта резервной копии. Однако имеется ряд ограничений. Так, вместе с содержимым не будут перенесены ни публичные, ни внутренние права доступа к файлам и папкам. Кроме того, файлы из Zextras Drive, которые содержат большее число версий, чем настроенный в Carbonio лимит, будут перенесены в виде файлов только для чтения.
Это значит, что если у вашего файла в Zextras Drive имеется 100 версий, а в Carbonio сконфигурирован лимит в 20 версий, то редактировать этот файл будет нельзя. Для того, чтобы это исправить, либо повысьте лимит версий файла в Carbonio Files, чтобы он соответствовал количеству версий перенесенного файла, либо удалите лишние версии файла, чтобы их число соответствовало имеющемуся лимиту.
Особенности миграции
В рамках подобной миграции администратор может мигрировать все ключевые объекты, такие как домены, пользователи, ресурсы, алиасы, статические и динамические списки рассылки, а также относящиеся к ним данные - электронные письма, календари, контакты, группы контактов, общие папки и даже теги.
Однако есть данные, которые не копируются в рамках такого способа миграции. Среди них задачи, файлы в портфеле, чаты, цветовые отметки, а также пустые классы обслуживания.
Кроме того после миграции могут не отображаться вложенные календари и контакты. Для того, чтобы они начали отображаться, необходимо перенести их из папки, в которой они находятся, в корневую папку.
Для этого получите список папок пользователя при помощи команды carbonio prov selectMailbox user@domain.ru getAllFolders. В появившемся списке найдите вложенную папку, которая не отображается и запомните ее путь. После этого перенесите ее в корневую папку
carbonio prov selectMailbox user@domain.ru renameFolder /Inbox/Emails /Emails
После этого вложенная папка начнет отображаться в веб-клиенте в основном списке календарей и контактов.
По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.
Получить информацию и обменяться информацией о Carbonio CE вы можете в группах в Telegram CarbonioMail и Carbonio CE Unofficial.
Carbonio Community Edition предназначен только для небольших компаний и для тестирования