В прошлой статье мы рассказали о том, как установить Zimbra на мультисерверную инфраструктру. Помимо повышенной отказоустойчивости, такая инфраструктура легко масштабируется и идеально подходит как SaaS-провайдерам, продающим доступ к электронной почте и инструментам совместной работы как услугу, так и крупным предприятиям. Но что делать, если на вашем предприятии Zimbra изначально была установлена на одиночном сервере, но по мере роста и развития компании скорость его работы и доступность стали ощутимо снижаться? Очевидным решением было бы перенести Zimbra Collaboration Suite на мультисерверную инфраструктуру, но возможно ли осуществить это без долгого простоя и без потери ценных данных?

image

Оказывается, сделать это возможно. При использовании решения от компании Zextras, процесс миграции на новую инфраструктуру будет происходить в несколько шагов:

  1. Чистая установка Zimbra на желаемую мультисерверную инфраструктуру
  2. Установка зимлета Zextras Backup на исходном сервере
  3. Установка Zextras Backup на целевом сервере с Mailbox Storage
  4. Создание бэкапа с содержимым исходного сервера
  5. Развертывание резервной копии Zimbra на целевой инфраструктуре
  6. Ввод в эксплуатацию мультисерверной инфраструктуры с Zimbra

Процесс мультисерверной установки Zimbra Open-Source Edition подробно описан в предыдущей статье. После того, как установленные на разных серверах элементы Zimbra начнут работать как единое целое, можно будет начинать процедуру «переезда» со старого сервера на новую инфраструктуру. С этой задачей отлично справится зимлет Zextras Backup, разработанный итальянской ИТ-компанией Zextras и входящий в пакет модульных расширений Zextras Suite

image

После установки зимлета на исходный сервер, запустим функцию Export Backup. Zextras Backup просканирует ваш сервер и создаст резервную копию, в которой будет находиться содержимое почтовых ящиков, настройки и параметры пользователей, данные календаря, общие файлы, а также сведения о группах пользователей и доменах. После того как резервная копия будет создана, не лишним будет сохранить ее еще где-нибудь для надежности. Для этих целей подойдет как внешний жесткий диск, так и облачное хранилище.

Отметим, что благодаря триальному периоду длиной в 30 дней, воспользоваться Zextras Backup для развертывания резервной копии исходного сервера Zimbra на новой инфраструктуре можно совершенно бесплатно и заодно оценить простоту и удобство использования Zextras Suite.

Устанавливать Zextras Suite следует на один или несколько Mailbox-серверов целевой инфраструктуры. После того как установка завершится, можно будет воспользоваться предоставляемой зимлетом Zextras Backup функцией «Import Backup» для восстановления из резервной копии. В появившемся диалоговом окне можно будет выбрать, какие именно из резервированных элементов следует восстановить на данном сервере. Благодаря этому администратор инфраструктуры Zimbra может раскидать по разным Mailbox-серверам различные домены или даже аккаунты.

image

После того как восстановление резервной копии исходного сервера на целевой инфраструктуре будет завершено, можно вводить в эксплуатацию мультисерверную инфраструктуру Zimbra.

Внимательный читатель, впрочем, обратит внимание на то, что такой способ все же подразумевает перерыв в работе исходного сервера Zimbra на время снятия резервной копии и разворачивания ее на целевой инфраструктуре. В зависимости от объема данных такой перерыв может варьироваться от нескольких минут до вполне себе неприемлемых значений. В том случае, если длительность перерыва в работе сервера вас не устраивает, вы можете воспользоваться «Инкрементальной миграцией» — способом, позволяющим мигрировать без остановки серверов независимо от объема переносимых данных.

Для того, чтобы осуществить инкрементальную миграцию, пользователю придется установить Zextras Backup на исходном сервере, а также на одном или нескольких Mailbox-серверах целевой инфраструктуры. С целью снижения нагрузки на работающий сервер рекомендуется подключить к нему внешний жесткий диск и примонтировать его к папке /opt/zimbra/backup/zextras/. Также перед началом миграции рекомендуется выставить значение TTL на 300 в MX-записи DNS-севера, чтобы максимально ускорить процесс переноса данных.

image

Начнем миграцию с того, что отключим на всех серверах Real Time Scanner при помощи команды zxsuite backup setProperty ZxBackup_RealTimeScanner false. Затем на исходном сервере запустим SmartScan при помощи команды zxsuite backup doSmartScan. Благодаря этому все наши данные экспортируются в папку /opt/zimbra/backup/zextras/, и если вы ранее смонтировали в нее внешний жесткий диск, вы получите еще и носитель с резервной копией. Отметим, что если вы намерены раскидать домены с исходного сервера по разным Mailbox-сереверам на целевой инфраструктуре, то вы можете также сделать это при помощи команды вида zxsuite backup doExport /path/to/export/folder/ domains domain1.com,domain2.com и в итоге получить резервные копии различных доменов.

После этого можно приступать к разворачиванию резервной копии на целевой инфраструктуре. Для этого рекомендуем воспользоваться параметром Provisioning Only, который позволит импортировать только данные доменов, групп пользователей и аккаунтов, проигнорировав содержимое почтовых ящиков. Для того, чтобы воспользоваться этим параметром, введите на целевом сервере команду zxsuite backup doExternalRestore /path/for/the/data/ provisioning_only TRUE. Повторите эту процедуру с каждым сервером и бэкапом соответствующих доменов, если хотите распределить их по разным Mailbox-серверам

В итоге вы получите работоспособную копию старого севера без содержимого почтовых ящиков. После этого можно сразу переключить поток писем на целевую инфраструктуру и затем заняться переносом содержимого почтовых ящиков со старого сервера при помощи команды zxsuite backup doExternalRestore /path/for/the/data/. Очевидным минусом такого подхода является то, что пользователи Zimbra некоторое время не будут иметь доступа к отправленным и полученным ранее письмам, хотя при этом продолжат нормально получать и отправлять электронную почту. Кроме того, во время непосредственного восстановления содержимого почтового ящика возможны падения производительности сервера. После того как восстановление содержимого почтовых ящиков закончится, можно будет говорить об успешном завершении миграции без какого-либо простоя.

Комментарии (12)


  1. script88
    14.12.2018 14:47

    Миграция с ms exchange присутствует, а вот с ibm notes нет, хотя потребность есть.


    1. KaterinaZextras Автор
      14.12.2018 19:03

      Добрый вечер, попробуем узнать подробнее о возможностях миграции с IBM Notes и сообщим вам, если найдем проверенное решение.


  1. click0
    14.12.2018 17:18

    Советы из разряда как не надо мигрировать почтовый сервер.

    Правильный совет:

    1. Включить резервный бэкап-релей
    2. Выключить основные MX записи через 2xTTL
    3. Заблокировать отправку писем на старом хосте.
    4. Перенос данных.
    5. Проверка переноса.
    6. Включения новой MX записи.
    7. Опорожненение бэкап-релея.
    8. Выключение бэкап-релея через 2xTTL.
    9. Смена IP-DNS для доступа пользователям.


    Вместо пункта 3 можно еще извратится с еще одним новым инстансом на отправку писем.
    И потом не забыть синхронизировать изменения пользовательскиях (IMAP) ящиков.


    1. KaterinaZextras Автор
      14.12.2018 19:00

      Добрый вечер! Спасибо за ваш комментарий, но все же хочется уточнить, какие именно данные и как вы намерены переносить? Просто Zimbra Collaboration Suite — это не только почтовый сервер, но и решение для полноценной совместной работы. Помимо содержимого почтовых ящиков, необходимо переносить еще и данные календарей, общие файлы, список контактов и так далее. Также у бесплатной версии Zimbra Collaboration Suite нет встроенного механизма резервного копирования, что также затрудняет миграцию. Также, скорее всего, ваш способ предполагает простой серверов, что может быть приемлемо далеко не для всех пользователей Zimbra.


      1. click0
        14.12.2018 21:25

        Простой почтового сервера будет почти всегда.
        Перенос данных — я обобщил. Подразумевается выполнение части команд для переноса почты, общих данных, календарей и баз.
        Те, кому надо без даунтайма — выберут платные решения, в крайнем случае в ночное окно.
        А если кому-то понравится бесплатное решение, то в скором времени на гитхабе появится бесплатный скрипт миграции и все ваши «платные» решения станут хуже продаваться.


        1. KaterinaZextras Автор
          15.12.2018 06:31

          Так в статье же и предложено бесплатное решение с использованием триального периода и без даунтайма. Платить придется только в том случае, если вы увидите в этом определенную выгоду для предприятия и захотите использовать Zextras Suite на постоянной основе. Поддерживаемое коммерческое решение практически всегда лучше, чем скрипт с гитхаба.


          1. lamerAlex
            15.12.2018 14:52

            EVALUATION LICENSE.
            If You are licensing the Software for evaluation purposes, Your use of the Software
            is only permitted in a non-production environment and for the period limited by the License Key.


            1. KaterinaZextras Автор
              15.12.2018 14:54

              Это строки из лицензионного соглашения Zimbra Collaboration Suite, а не Zextras Suite.


              1. lamerAlex
                15.12.2018 15:52

                Zextras END USER LICENSE AGREEMENT V. 1.1 (3rd sept. 2014)

                TRIAL MODE

                A free 30-days license defined as “Trial Mode” is granted. Trial Mode is not subject to a purchase and your use of the Software is only permitted for the period limited by the Trial Mode itself, but it is subject to the acceptance and effectiveness of the conditions of this license, including these Additional License Terms and Conditions. Notwithstanding any other provision in this EULA, the Trial Mode of the Software is provided AS-IS without support or warranty of any kind, expressed or implied. This license is granted solely for the purpose of evaluating and testing the software, any other use is excluded.


      1. skylevels
        15.12.2018 12:58

        В бесплатной версии ZCS есть великолепный встроенный механизм резервного копирования из командной строки, причем работает без остановки сервера не причиняя неудобства пользователям. Скрипты пишутся на раз-два, автоматизировать процесс копирования/переноса/восстановления может любой админ владеющий bash. Это же linux и уж если хватает ума установить зимбру, то и со скриптами справитесь.


        1. KaterinaZextras Автор
          15.12.2018 13:40

          Добрый день! Насколько я знаю, все подобные механизмы резервирования основаны на копировании файлов и рекомендуется их осуществлять только тогда, когда Zimbra не работает. Это подразумевает ряд рисков:

          1. Вместе с файлами система резервного копирования заботливо перенесет на новый сервер все руткиты и прочие зловреды, которые могут там храниться
          2. Выполнение такого резервирования при работающей Zimbra чреват появлением битых файлов, скопированных во время перезаписи
          3. За результат резервирования и возможные сбои никто не отвечает.

          Скорее всего, это далеко не все риски, которые возникают в таких случаях. Именно поэтому мы в Zextras рекомендуем использовать для резервирования и особенно миграции между серверами только проверенные и безопасные решения.


          1. skylevels
            16.12.2018 17:38

            1. Zextras не перенесет?
            2. Вот не надо тут рассказывать, что Zextras использует собственные разработки по резервному копированию =) это всего навсего зимлет, который за красивым интерфейсом использует в конечном итоге инструменты разработанные сообществом ZCS.
            3. «Не смешите мои носки» вот что я, конечный админ думаю о «гарантиях» работы ПО. Потому-что когда дело доходит до реальных проблем, как правило концов не найдешь. И это не про вас, а почти про всех, кто любит кидаться такими красивыми фразами (особенно отдел марктеринга)