Создавая резервную копию Zimbra 8.0.x, проблемы data.mdb

При попытке создать резервное копирование zimbra выпуска 8.0.1 с открытым исходным кодом + я столкнулся с проблемами с data.mdb 'взрыв'.

В то время как мой/opt/zimbra каталог составляет только приблизительно 8 ГБ, мое резервное копирование составляет приблизительно 80 ГБ.

и rsync и копии не удается работать правильно.

2
задан 7 April 2015 в 15:54
2 ответа

Файл data.mdb на самом деле является файлом с тонким предоставлением 86 ГБ (по умолчанию).
Команды Rsync и иногда cp "разворачивают" файл до его полного размера при копировании в каталог резервного копирования.
Это явно не помогает, если вы хотите создать резервную копию вне офиса или если у вас ограничены ресурсы.

Такое поведение кажется новым в версии 8.0.1

Правильный способ предотвратить это - разделить резервную копию на 3 части. . Ниже мой пример сценария резервного копирования (выполняемого от имени пользователя root).

Frist Остановите zimbra и уничтожьте все, что осталось.

#!/bin/bash
# Zimbra Backup Script
echo 'Starting Zimbra backup script'
date
echo 'Stopping Zimbra'
su zimbra -c '/opt/zimbra/bin/zmcontrol stop'
echo 'Kill Zimbra'
ps auxww | grep zimbra

Затем создайте резервную копию каталога / opt / zimbra, ЗА ИСКЛЮЧЕНИЕМ каталога / opt / zimbra / data / ldap.

echo 'Saving base'
rsync -aHK --delete --exclude '*data/ldap*' /opt/zimbra/ /backup/zimbra-base

Затем преобразуйте файлы ldap в файлы ldif с помощью команды build in zmslapcat.
Вы можете сначала запустить сервер снова, так как эту команду можно запускать во время работы zimbra. но чтобы быть уверенным, что мы получим резервную копию замороженной среды, мы пока оставим ее остановленной.

echo 'Saving ldap config'
su zimbra -c '/opt/zimbra/libexec/zmslapcat -c /backup/zimbra-ldap'
echo 'Saving ldap main'
su zimbra -c '/opt/zimbra/libexec/zmslapcat /backup/zimbra-ldap'
echo 'Restarting zimbra'
su zimbra -c '/opt/zimbra/bin/zmcontrol start'
echo 'Finished'

Этот сценарий был протестирован на zimbra 8.0.1 на сервере ubuntu 14.04.
Он должен работать в большинстве дистрибутивов и версий выше 8.0.1

4
ответ дан 3 December 2019 в 10:02

В зависимости от того, какой инструмент вы используете для резервного копирования, некоторые из них действительно поддерживают разреженные файлы, хотя эта поддержка не так быстра, как предполагают реальные данные.

rsync -S  # it works, but it isn't "efficient"
cp --sparse=always
tar -S    # the GNU version.

К сожалению, моя любимая резервная копия тоже, rdiff-backup, в настоящее время не поддерживает разреженные файлы. Я видел патч, чтобы он поддерживал разреженные файлы, но разработчики не извлекли его. Я тоже ничего не делал с этим.

Duplicity, похоже, тоже не поддерживает разреженные файлы. Я не смотрел очень глубоко.

Наверное, есть и другие, которые это поддерживают. Я знаю, что перемещение образа qcow2 с разреженным файлом внутри сработало, как ожидалось.

Что касается резервного копирования, с чем-то столь же сложным, как Zimbra, я надеюсь, что все используют снимки LVM2 или снимки ZFS, чтобы избежать простоев, а затем запускают резервное копирование для хранилище снимков.

0
ответ дан 3 December 2019 в 10:02

Теги

Похожие вопросы