В сегодняшнем руководстве мы рассмотрим, как восстановить базу данных Zimbra LDAP из резервной копии.
Это один из полезных методов аварийного восстановления.
Чтобы использовать этот метод, необходимо иметь предыдущую резервную копию конфигураций LDAP, когда она была в хорошем состоянии.
У меня была ошибка ниже при попытке запустить сервисы Zimbra.
$ zmcontrol start Host mail.mydomain.com Starting ldap…Done. Unable to determine enabled services from ldap. Unable to determine enabled services. Cache is out of date or doesn't exist.
После долгого траблшутинга я заметил, что проблема в базе данных LDAP, которую невозможно восстановить.
Единственным решением для этого было пересобрать базу данных LDAP.
Шаг 1: Остановить службы Zimbra
На моем сервере у меня есть недавняя резервная копия Zimbra LDAP, расположенная в каталоге /opt/zimbra/backup.
Но сначала вам нужно остановить все службы Zimbra.
$ zmcontrol stop
Шаг 2: Резервное копирование данных Zimbra LDAP
Как только службы остановлены, сделайте резервную копию старых данных – вам нужно запустить это как пользователь root.
mv /opt/zimbra/data/ldap/config/ /opt/zimbra/data/ldap/OLDconfig/ mv /opt/zimbra/data/ldap/mdb/db /opt/zimbra/data/ldap/mdb/OLD_db/
Затем заново создайте папки данных LDAP и дайте им правильные разрешения.
mkdir -p /opt/zimbra/data/ldap/mdb/db /opt/zimbra/data/ldap/mdb/logs chown -R zimbra:zimbra /opt/zimbra/data/ldap /opt/zimbra/libexec/zmfixperms -verbose
Шаг 3: Восстановите базу данных Zimbra LDAP из резервной копии.
Теперь, когда у вас пустые каталоги данных, перейдите в каталог с резервной копией LDAP.
Если резервные копии заархивированы, вам необходимо распаковать их перед восстановлением.
$ cd /opt/zimbra/backup/sessions/incr-20190218.230007.912/ldap $ ls ldap.bak.gz ldap-config.bak.gz
Распакуйте файлы конфигурации Zimbra LDAP.
$ gunzip *.gz $ ls ldap.bak ldap-config.bak
Восстановите ldap-config.bak с помощью команды slapadd – Запустите от имени пользователя zimbra.
$ slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l ldap-config.bak added: "cn=config" (00000001) added: "cn=module{0},cn=config" (00000001) added: "cn=schema,cn=config" (00000001) added: "cn={0}core,cn=schema,cn=config" (00000001) added: "cn={1}cosine,cn=schema,cn=config" (00000001) added: "cn={2}inetorgperson,cn=schema,cn=config" (00000001) added: "cn={3}dyngroup,cn=schema,cn=config" (00000001) added: "cn={4}zimbra,cn=schema,cn=config" (00000001) added: "cn={5}amavisd,cn=schema,cn=config" (00000001) added: "cn={6}opendkim,cn=schema,cn=config" (00000001) added: "olcDatabase={-1}frontend,cn=config" (00000001) added: "olcDatabase={0}config,cn=config" (00000001) added: "olcDatabase={1}monitor,cn=config" (00000001) added: "olcDatabase={2}mdb,cn=config" (00000001) added: "olcOverlay={0}dynlist,olcDatabase={2}mdb,cn=config" (00000001) added: "olcOverlay={1}unique,olcDatabase={2}mdb,cn=config" (00000001) added: "olcOverlay={2}noopsrch,olcDatabase={2}mdb,cn=config" (00000001) ############## 100.00% eta none elapsed none fast! Closing DB…
Сделайте то же самое для ldap.bak.
$ slapadd -q -b "" -F /opt/zimbra/data/ldap/config -cv -l ldap.bak
Шаг 4: Запустите службы Zimbra
После восстановления попробуйте запустить все службы Zimbra. Вы можете начать со службы LDAP.
ldap start ldap status
Если все прошло успешно, откройте все другие сервисы Zimbra.
# su - zimbra $ zmcontrol start Host mail.mydomain.com Starting ldap…Done. Starting zmconfigd…Done. Starting logger…Done. Starting convertd…Done. Starting mailbox…Done. Starting memcached…Done. Starting proxy…Done. Starting amavis…Done. Starting antispam…Done. Starting antivirus…Done. Starting opendkim…Done. Starting snmp…Done. Starting spell…Done. Starting mta…Done. Starting stats…Done. Starting service webapp…Done. Starting zimbra webapp…Done. Starting zimbraAdmin webapp…Done. Starting zimlet webapp…Done. Starting imapd…Done.
Проверка состояния должна показать все работающие службы.
$ zmcontrol status Host mail.mydomain.com amavis Running antispam Running antivirus Running convertd Running imapd Running ldap Running logger Running mailbox Running memcached Running mta Running opendkim Running proxy Running service webapp Running snmp Running spell Running stats Running zimbra webapp Running zimbraAdmin webapp Running zimlet webapp Running zmconfigd Running
Теперь вы сможете получить доступ к пользовательскому интерфейсу администратора Zimbra и выполнять обычные задачи администрирования электронной почты.