Как восстановить базу данных Zimbra LDAP из резервной копии

В сегодняшнем руководстве мы рассмотрим, как восстановить базу данных 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 и выполнять обычные задачи администрирования электронной почты.

 

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40