Одной из главных задач, которая встает перед системным администратором при внедрении любой информационной системы — обеспечение сохранности хранящихся в ней данных. Наиболее оптимальным способом добиться этой цели является резервирование, которое позволяет при минимальных затратах всегда иметь на руках инструменты для восстановления работоспособности системы даже в случае достаточно масштабного сбоя.
Наиболее продвинутым инструментом резервирования для Zimbra OSE на сегодняшний день является Zextras Backup, входящий в состав решения Zextras Suite Pro и Zextras Suite Basic. В нем реализовано транзакционное резервирование, которое в реальном времени отслеживает каждое происходящее в Zimbra OSE изменение и резервирует все транзакции. Благодаря этому в резервной копии помимо самих данных сохраняется история их изменений и при восстановлении информации из резервной копии можно воссоздать любой почтовый ящик, любой домен или даже почтовый сервер такими, какими они были на определенный момент времени.
![image](https://habrastorage.org/r/w1560/webt/op/xi/ie/opxiieyaijocgswpkt2td6f4-u0.png)
В данной статье демонстрируется работа Zextras Backup на примере Zimbra 9 OSE от Zextras в односерверном режиме. Показанные функции работают только при наличии действующей лицензии Zextras Suite Pro или Zextras Suite Basic. Для её приобретения вы можете связаться с официальным представителем Zextras в России Екатериной Триандафилиди по электронной почте katerina@zextras.com.
После установки свежей версии Zextras Suite, в консоли администратора Zimbra OSE появится новый раздел под названием Zextras, где будут находиться модули, предоставляемые Zextras Suite. Среди них:
![](https://habrastorage.org/r/w1560/webt/kx/b2/63/kxb263rtehcmxiyyt0jbnye7_ye.png)
Нас интересует раздел Backup. В первую очередь нам необходимо инициализировать резервирование. По умолчанию файлы резервной копии будут хранится в /opt/zimbra/backup/zextras/.
![](https://habrastorage.org/r/w1560/webt/va/j6/ac/vaj6acrdkwptq8_x4tfqd16xgwc.png)
При желании путь к резервной копии можно изменить на любой другой. Для этого нужно в разделе Backup ввести новый путь к папке с резервной копией и нажать на кнопку «Сохранить» в правом верхнем углу. После смены пути хранения резервной копии нужно повторно инициализировать резервирование.
![](https://habrastorage.org/r/w1560/webt/ru/dy/3z/rudy3zuz2h3hafmxwbdvk5igalq.png)
Обращаем ваше внимание на то, что инициализация резервирования пройдет успешно только в том случае, если у пользователя zimbra есть права на чтение и запись в указанную папку. Сразу после инициализации резервирования начинает работать сканер реального времени, который автоматически резервирует каждую происходящую на сервере Zimbra OSE транзакцию.
![](https://habrastorage.org/r/w1560/webt/lm/oz/5n/lmoz5n9iefghmkcvb-ebwvzr7ba.png)
О том, что резервирование было успешно завершено, можно узнать в разделе “Оповещения”. В том случае, если при резервировании возникнет ошибка, в тексте уведомления будет сообщено о том, что именно произошло. Наиболее распространенной ошибкой является отсутствие прав на запись в папке, куда сохраняется резервная копия.
![](https://habrastorage.org/r/w1560/webt/ty/yu/j5/tyyuj5guuoruc9dfuxwnnjzfxha.png)
Сейчас мы используем односерверную установку Zimbra OSE и резервируем все данные на тот же носитель, на котором расположен сам сервер Zimbra. Это не очень правильное решение с точки зрения безопасности данных, так как в том случае, если носитель физически повредится, данные окажутся зашифрованными или произойдет сбой в файловой системе, под ударом окажется не только сам сервер Zimbra OSE, но и его резервная копия. Для того, чтобы этого избежать, следует использовать отдельное устройство для хранения резервной копии.
Подключение отдельного устройства для хранения резервных копий
Наиболее простым способом сделать это является подключение дополнительного устройства к серверу и монтирование его в папку, куда сохраняются резервные копии. Для того, чтобы узнать, как идентифицируется подключенное устройство, следует воспользоваться командой sudo fdisk -l.
![](https://habrastorage.org/r/w1560/webt/gr/bg/ep/grbgeptsaijdntmcz6vfydicnne.png)
В нашем случае, помимо основного sda-устройства, а также множества loop-устройств, появилось устройство /dev/sdb1. Обращаем ваше внимание на то, что перед его монтированием необходимо остановить резервирование, если оно осуществляется на вашем сервере.
Смонтировать устройство можно двумя путями. Первый — при помощи команды mount в командной строке от имени пользователя zimbra. В нашем случае эта команда будет выглядеть так:
Затем, чтобы каждый раз не монтировать устройство вручную, можно прописать параметры автоматического монтирования диска в файле /etc/fstab.
Также для монтирования устройства можно воспользоваться приложением «Диски», которое входит в дистрибутив Ubuntu 18.04 по умолчанию. В нем нужно выбрать устройство, предназначенное для резервирования, перейти в его настройки и указать точку монтирования. В нашем случае это /opt/zimbra/backup/zextras/. А если установить галочку «Подключать при запуске системы», то устройство самостоятельно будет подключаться даже в случае перезагрузки системы.
![](https://habrastorage.org/r/w1560/webt/yp/zo/gt/ypzogteyntcmzxgh5grnotgki6a.png)
В результате резервная копия данных на сервере Zimbra OSE останется целой и невредимой даже в том случае, если устройство, на котором хранятся файлы операционной системы выйдет из строя по обозначенным причинам.
В данном примере осуществляется подключение к серверу физического устройства, однако по тому же принципу можно подключить и сетевые хранилища. Важно лишь, чтобы скорость записи данных была достаточно хорошей.
Для того, чтобы проверить работу резервирования, воссоздадим аварию на сервере. Для этого сперва на исходном сервере контрольного пользователя под названием Backup.
![](https://habrastorage.org/r/w1560/webt/q1/cv/gb/q1cvgbuqkwx6vmnj0yk0azvyqsi.png)
Войдем с его идентификационными данными в веб-клиент и:
![](https://habrastorage.org/r/w1560/webt/xj/v1/jx/xjv1jxqls1nz66xcr9pqfvluoiq.png)
Таким образом, наша контрольная учетная запись будет иметь сразу несколько компонентов для резервирования и можно будет проверить, что из этого будет восстановлено при резервировании.
Следующим шагом станет имитация потери данных. Фактически, мы просто отформатируем раздел с Ubuntu 18.10, на котором установлена Zimbra OSE 9. Таким образом утерянными окажутся не только данные операционной системы, но и исходные данные почтового сервера.
Для того, чтобы начать восстановление данных, необходимо повторно установить Ubuntu 18.04 и развернуть на ней Zimbra OSE 9 с тем же доменом, что и раньше. Данный процесс весьма подробно описан в нашей предыдущей статье. Также необходимо установить Zextras Suite и воспользоваться ранее зарезервированным файлом лицензии.
После того, как почтовый сервер вновь работает, остается лишь восстановить данные из резервной копии. Поскольку все данные сохранялись на отдельном устройстве, можно подключить его к новому серверу и восстановиться из хранящейся на нем резервной копии.
Для этого необходимо создать папку, в которую будет монтироваться диск с резервной копией старого сервера и подключить устройство.
После этого необходимо перейти в консоль администрирования на новом сервере и в разделе Backup нажать на кнопку «Импорт резервной копии» в нижней части экрана.
В открывшемся мастере импорта резервной копии необходимо:
![](https://habrastorage.org/r/w1560/webt/pc/wj/fm/pcwjfmzcqfshd2ozlgso0wphpx4.png)
Также мастер позволяет отказаться от восстановления системных учетных записей, таких как galsync, удаленных учетных записей, псевдонимов, списков рассылки и классов обслуживания. В том случае, если речь идет о реальной аварии и счет идет на минуты, отказ от восстановления этих элементов может быть очень кстати.
![](https://habrastorage.org/r/w1560/webt/y_/b8/6z/y_b86znkx-kpmbmonbv_2bm8tcm.png)
![](https://habrastorage.org/r/w1560/webt/0z/f-/dx/0zf-dx-bgun31qkeusfycuj1ipi.png)
После того как все нужные параметры будут указаны, можно будет настроить адреса для рассылки уведомлений о завершении процедуры импорта данных из резервной копии.
Для проверки результата попробуем войти под именем ранее созданного пользователя Backup. Поскольку вход удался, это означает, что аутентификационные данные учетной записи успешно восстановились.
![](https://habrastorage.org/r/w1560/webt/34/ji/0x/34ji0xdspjzyjmh08x8myqmoc5a.png)
Теперь удостоверимся, что в его учетной записи сохранились все ранее созданные элементы: входящие и исходящие письма, черновики, созданные события и задачи.
![](https://habrastorage.org/r/w1560/webt/ri/_e/7i/ri_e7iktbamcv4_s69rbplrtwqw.png)
![](https://habrastorage.org/r/w1560/webt/qg/po/qo/qgpoqoiaxjhhdbgyqff696mqcom.png)
![](https://habrastorage.org/r/w1560/webt/0v/s6/nv/0vs6nvyzxqcdkg-fksa9ncii9oy.png)
Как видно на скриншотах, все элементы находятся в целости и сохранности. Таким образом, аварийное восстановление сервера Zimbra OSE 9 с помощью Zextras Backup прошло успешно.
По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com
Наиболее продвинутым инструментом резервирования для Zimbra OSE на сегодняшний день является Zextras Backup, входящий в состав решения Zextras Suite Pro и Zextras Suite Basic. В нем реализовано транзакционное резервирование, которое в реальном времени отслеживает каждое происходящее в Zimbra OSE изменение и резервирует все транзакции. Благодаря этому в резервной копии помимо самих данных сохраняется история их изменений и при восстановлении информации из резервной копии можно воссоздать любой почтовый ящик, любой домен или даже почтовый сервер такими, какими они были на определенный момент времени.
![image](https://habrastorage.org/webt/op/xi/ie/opxiieyaijocgswpkt2td6f4-u0.png)
Исходные данные
В данной статье демонстрируется работа Zextras Backup на примере Zimbra 9 OSE от Zextras в односерверном режиме. Показанные функции работают только при наличии действующей лицензии Zextras Suite Pro или Zextras Suite Basic. Для её приобретения вы можете связаться с официальным представителем Zextras в России Екатериной Триандафилиди по электронной почте katerina@zextras.com.
Инициализация резервирования
После установки свежей версии Zextras Suite, в консоли администратора Zimbra OSE появится новый раздел под названием Zextras, где будут находиться модули, предоставляемые Zextras Suite. Среди них:
![](https://habrastorage.org/webt/kx/b2/63/kxb263rtehcmxiyyt0jbnye7_ye.png)
- Ядро — Здесь собрана информация о работе модулей Zextras Suite, обновлениях, оповещениях и так далее. Кроме того, именно в этом разделе производится доустановка модулей Zextras Team, Zextras Docs и Zextras Drive
- Admin — Здесь можно управлять списком делегированных администраторов, а также квотами доменов
- Backup — Здесь собраны настройки резервирования
- Mobile — Здесь можно найти настройки синхронизации с мобильными устройствами по протоколу Exchange ActiveSync и перечень мобильных устройств, которые подключаются к серверу.
- ZxPowerstore — Здесь собраны настройки иерархической структуры хранения данных. В частности, можно подключить к серверу вторичные и индексные тома и настроить политику хранения данных
- Оповещения — здесь отображается список всех оповещений от Zextras Suite. Они включают в себя оповещения о начале и завершении операций, возникающих ошибках и истечении срока лицензии.
Нас интересует раздел Backup. В первую очередь нам необходимо инициализировать резервирование. По умолчанию файлы резервной копии будут хранится в /opt/zimbra/backup/zextras/.
![](https://habrastorage.org/webt/va/j6/ac/vaj6acrdkwptq8_x4tfqd16xgwc.png)
При желании путь к резервной копии можно изменить на любой другой. Для этого нужно в разделе Backup ввести новый путь к папке с резервной копией и нажать на кнопку «Сохранить» в правом верхнем углу. После смены пути хранения резервной копии нужно повторно инициализировать резервирование.
![](https://habrastorage.org/webt/ru/dy/3z/rudy3zuz2h3hafmxwbdvk5igalq.png)
Обращаем ваше внимание на то, что инициализация резервирования пройдет успешно только в том случае, если у пользователя zimbra есть права на чтение и запись в указанную папку. Сразу после инициализации резервирования начинает работать сканер реального времени, который автоматически резервирует каждую происходящую на сервере Zimbra OSE транзакцию.
![](https://habrastorage.org/webt/lm/oz/5n/lmoz5n9iefghmkcvb-ebwvzr7ba.png)
О том, что резервирование было успешно завершено, можно узнать в разделе “Оповещения”. В том случае, если при резервировании возникнет ошибка, в тексте уведомления будет сообщено о том, что именно произошло. Наиболее распространенной ошибкой является отсутствие прав на запись в папке, куда сохраняется резервная копия.
![](https://habrastorage.org/webt/ty/yu/j5/tyyuj5guuoruc9dfuxwnnjzfxha.png)
Сейчас мы используем односерверную установку Zimbra OSE и резервируем все данные на тот же носитель, на котором расположен сам сервер Zimbra. Это не очень правильное решение с точки зрения безопасности данных, так как в том случае, если носитель физически повредится, данные окажутся зашифрованными или произойдет сбой в файловой системе, под ударом окажется не только сам сервер Zimbra OSE, но и его резервная копия. Для того, чтобы этого избежать, следует использовать отдельное устройство для хранения резервной копии.
Подключение отдельного устройства для хранения резервных копий
Наиболее простым способом сделать это является подключение дополнительного устройства к серверу и монтирование его в папку, куда сохраняются резервные копии. Для того, чтобы узнать, как идентифицируется подключенное устройство, следует воспользоваться командой sudo fdisk -l.
![](https://habrastorage.org/webt/gr/bg/ep/grbgeptsaijdntmcz6vfydicnne.png)
В нашем случае, помимо основного sda-устройства, а также множества loop-устройств, появилось устройство /dev/sdb1. Обращаем ваше внимание на то, что перед его монтированием необходимо остановить резервирование, если оно осуществляется на вашем сервере.
Смонтировать устройство можно двумя путями. Первый — при помощи команды mount в командной строке от имени пользователя zimbra. В нашем случае эта команда будет выглядеть так:
sudo mount /dev/sdb1 /opt/zimbra/backup/zextras/
sudo chmod -R -v 777 /opt/zimbra/backup/zextras/*
Затем, чтобы каждый раз не монтировать устройство вручную, можно прописать параметры автоматического монтирования диска в файле /etc/fstab.
Также для монтирования устройства можно воспользоваться приложением «Диски», которое входит в дистрибутив Ubuntu 18.04 по умолчанию. В нем нужно выбрать устройство, предназначенное для резервирования, перейти в его настройки и указать точку монтирования. В нашем случае это /opt/zimbra/backup/zextras/. А если установить галочку «Подключать при запуске системы», то устройство самостоятельно будет подключаться даже в случае перезагрузки системы.
![](https://habrastorage.org/webt/yp/zo/gt/ypzogteyntcmzxgh5grnotgki6a.png)
В результате резервная копия данных на сервере Zimbra OSE останется целой и невредимой даже в том случае, если устройство, на котором хранятся файлы операционной системы выйдет из строя по обозначенным причинам.
В данном примере осуществляется подключение к серверу физического устройства, однако по тому же принципу можно подключить и сетевые хранилища. Важно лишь, чтобы скорость записи данных была достаточно хорошей.
Имитация аварии
Для того, чтобы проверить работу резервирования, воссоздадим аварию на сервере. Для этого сперва на исходном сервере контрольного пользователя под названием Backup.
![](https://habrastorage.org/webt/q1/cv/gb/q1cvgbuqkwx6vmnj0yk0azvyqsi.png)
Войдем с его идентификационными данными в веб-клиент и:
- Отправим письмо от его имени
- Пришлем ему письмо
- Сохраним одно из писем в черновиках
- Создадим новую задачу
- Создадим новую встречу
- Создадим новый контакт
![](https://habrastorage.org/webt/xj/v1/jx/xjv1jxqls1nz66xcr9pqfvluoiq.png)
Таким образом, наша контрольная учетная запись будет иметь сразу несколько компонентов для резервирования и можно будет проверить, что из этого будет восстановлено при резервировании.
Следующим шагом станет имитация потери данных. Фактически, мы просто отформатируем раздел с Ubuntu 18.10, на котором установлена Zimbra OSE 9. Таким образом утерянными окажутся не только данные операционной системы, но и исходные данные почтового сервера.
Восстановление данных
Для того, чтобы начать восстановление данных, необходимо повторно установить Ubuntu 18.04 и развернуть на ней Zimbra OSE 9 с тем же доменом, что и раньше. Данный процесс весьма подробно описан в нашей предыдущей статье. Также необходимо установить Zextras Suite и воспользоваться ранее зарезервированным файлом лицензии.
После того, как почтовый сервер вновь работает, остается лишь восстановить данные из резервной копии. Поскольку все данные сохранялись на отдельном устройстве, можно подключить его к новому серверу и восстановиться из хранящейся на нем резервной копии.
Для этого необходимо создать папку, в которую будет монтироваться диск с резервной копией старого сервера и подключить устройство.
sudo su - zimbra
mkdir /opt/zimbra/backup_old
sudo mount /dev/sdb1 /opt/zimbra/backup_old/
После этого необходимо перейти в консоль администрирования на новом сервере и в разделе Backup нажать на кнопку «Импорт резервной копии» в нижней части экрана.
В открывшемся мастере импорта резервной копии необходимо:
- Указать путь к резервной копии со старого сервера (в нашем случае это /opt/zimbra/backup_old)
- Указать домены, которые подлежат восстановлению
- Указать учетные записи, которые подлежат восстановлению
![](https://habrastorage.org/webt/pc/wj/fm/pcwjfmzcqfshd2ozlgso0wphpx4.png)
Также мастер позволяет отказаться от восстановления системных учетных записей, таких как galsync, удаленных учетных записей, псевдонимов, списков рассылки и классов обслуживания. В том случае, если речь идет о реальной аварии и счет идет на минуты, отказ от восстановления этих элементов может быть очень кстати.
![](https://habrastorage.org/webt/y_/b8/6z/y_b86znkx-kpmbmonbv_2bm8tcm.png)
![](https://habrastorage.org/webt/0z/f-/dx/0zf-dx-bgun31qkeusfycuj1ipi.png)
После того как все нужные параметры будут указаны, можно будет настроить адреса для рассылки уведомлений о завершении процедуры импорта данных из резервной копии.
Проверка результата
Для проверки результата попробуем войти под именем ранее созданного пользователя Backup. Поскольку вход удался, это означает, что аутентификационные данные учетной записи успешно восстановились.
![](https://habrastorage.org/webt/34/ji/0x/34ji0xdspjzyjmh08x8myqmoc5a.png)
Теперь удостоверимся, что в его учетной записи сохранились все ранее созданные элементы: входящие и исходящие письма, черновики, созданные события и задачи.
![](https://habrastorage.org/webt/ri/_e/7i/ri_e7iktbamcv4_s69rbplrtwqw.png)
![](https://habrastorage.org/webt/qg/po/qo/qgpoqoiaxjhhdbgyqff696mqcom.png)
![](https://habrastorage.org/webt/0v/s6/nv/0vs6nvyzxqcdkg-fksa9ncii9oy.png)
Как видно на скриншотах, все элементы находятся в целости и сохранности. Таким образом, аварийное восстановление сервера Zimbra OSE 9 с помощью Zextras Backup прошло успешно.
По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com