Teil 11 der grommunio-2026-Serie prüft Disaster Recovery und Single-Mailbox-Restore nicht theoretisch, sondern in einem isolierten QEMU-Lab mit grommunio 2026.06.1. Getestet wurden ein vollständiger Restore einer frischen Appliance sowie ein gezielter Mailbox-Import in eine andere Zielmailbox.

Kurzüberblick

Full DR: SQL-Dump, /var/lib/gromox und relevante Konfigurationen gesichert und auf einer separaten Restore-VM wiederhergestellt.

Single Mailbox Restore: Mailbox als Gromox Mailbox Transfer exportiert und in eine zweite Mailbox importiert.

Visuelle Abnahme: Admin UI und grommunio Web zeigen wiederhergestellte Benutzer und Mails.

Ergebnis: FULL_DR = PASS, SINGLE_MAILBOX_RESTORE = PASS.

Getestete Grundlage

Die Tests liefen auf einer grommunio 2026.06.1 Appliance. Für den Restore wurde nicht dieselbe VM weiterverwendet, sondern eine getrennte Restore-VM aus einer sauberen Baseline gestartet und ausschließlich aus den Backup-Artefakten befüllt.

bash
cat /etc/os-release
grommunio-admin version
rpm -qa | grep -E "^(grommunio|gromox|mariadb|nginx|postfix|redis)" | sort
systemctl --failed

Testdaten

Für die Abnahme wurde eine eigene lokale Testdomain mit drei Benutzern angelegt. Die Namen im Artikel sind Lab-Beispiele; produktive Zugangsdaten oder interne Recovery-Secrets wurden nicht verwendet.

  • Domain: restore.test
  • Quellmailbox: druser@restore.test
  • Zielmailbox für den geprüften Restore: restoretarget2@restore.test
  • Testmails: DR-FULL-BASELINE-20260915-A und DR-SINGLE-RESTORE-20260915-B

Backup erstellen

Für den Full-DR-Test wurden Datenbank, Gromox-Stores und zentrale Konfiguration getrennt gesichert. Zusätzlich wurde ein Mailbox-Transferstream für den späteren Single-Mailbox-Restore erzeugt.

bash
mysqldump --all-databases --single-transaction --routines --triggers --events --add-drop-database > grommunio-mysql-all.sql
tar --xattrs --acls -czf gromox-varlib.tar.gz -C /var/lib gromox
tar --xattrs --acls -czf grommunio-etc.tar.gz /etc/grommunio* /etc/gromox /etc/nginx /etc/postfix
gromox-exm2mt -u druser@restore.test -ar / > druser-full-mailbox.mt
sha256sum * > SHA256SUMS

Bildnachweis: Backup-Artefakte und Prüfsummen

Die gesicherten Artefakte wurden mit SHA256 geprüft. Der Mailbox-Export enthält beide Testmails, die später im Full-DR- und Single-Mailbox-Restore wieder auftauchen.

Full Disaster Recovery wiederherstellen

Die Restore-VM startete ohne die Testdomain. Danach wurden Dienste gestoppt, Daten und Konfigurationen eingespielt, die Datenbank importiert und die grommunio-Dienste neu gestartet.

bash
systemctl stop postfix gromox-delivery gromox-delivery-queue gromox-http gromox-zcore gromox-midb gromox-imap gromox-pop3 gromox-event gromox-timer grommunio-admin-api php-fpm nginx
systemctl stop mariadb
tar --xattrs --acls -xzf gromox-varlib.tar.gz -C /var/lib
tar --xattrs --acls -xzf grommunio-etc.tar.gz -C /
systemctl start mariadb
mysql < grommunio-mysql-all.sql
systemctl start redis@grommunio php-fpm nginx grommunio-admin-api gromox-event gromox-timer gromox-midb gromox-zcore gromox-http gromox-imap gromox-pop3 gromox-delivery-queue gromox-delivery postfix

Hinweis zu Rechten und Eigentümern: Auf der grommunio Appliance sind die relevanten Systembenutzer und Gruppen normalerweise durch das Image bereits konsistent vorhanden. Wenn Backup und Restore jedoch zwischen unterschiedlich aufgebauten Systemen erfolgen, können tar-Restores mit --xattrs --acls trotz erhaltener ACLs falsche numerische UID/GID-Zuordnungen sichtbar machen. Nach dem Entpacken sollten deshalb Eigentümer, Gruppen, ACLs und zentrale Verzeichnisrechte geprüft werden.

bash
getent passwd gromox
getent group gromox
namei -l /var/lib/gromox
find /var/lib/gromox -maxdepth 2 -printf '%u:%g %m %p\n' | head -50

Bildnachweis: Full-DR-Restore auf der Restore-VM

Nach dem Restore zeigt die CLI wieder die Domain restore.test, die Benutzer und beide Testmails. Danach belegen Admin UI und Webmail denselben Zustand visuell.

Nachweis im Admin UI

Nach dem Restore waren die Dienste aktiv und die wiederhergestellten Benutzer im Admin UI sichtbar.

https://mail.example.test/admin
https://mail.example.test/admin/users

Mailboxinhalt nach Full DR prüfen

Die Quellmailbox enthielt nach dem Full-DR-Restore beide Testmails. Der Nachweis erfolgte per Gromox-Export und zusätzlich über grommunio Web.

bash
zypper install -y binutils
gromox-exm2mt -u druser@restore.test -ar / > druser-after-full-dr.mt
strings druser-after-full-dr.mt | egrep "DR-FULL|DR-SINGLE|DRFULL|SINGLE-B"
https://mail.example.test/web

Single-Mailbox-Restore in eine andere Mailbox

Für den gezielten Mailbox-Restore wurde ein Splice-Export verwendet. Der erste Rohimport ohne -s brachte Inhalte zurück, erzeugte aber eine verschachtelte Store-Struktur. Für die Anleitung zählt deshalb der geprüfte Weg mit -s.

bash
gromox-exm2mt -u druser@restore.test -ars / > druser-full-mailbox-splice.mt
gromox-mt2exm -u restoretarget2@restore.test < druser-full-mailbox-splice.mt
systemctl restart gromox-http gromox-midb gromox-zcore

Bildnachweis: gezielter Single-Mailbox-Restore

Der Splice-Export wurde in restoretarget2@restore.test importiert. Die Zielmailbox enthält danach beide Testmails und eine normale Ordnerstruktur.

Danach waren beide Testmails in der Zielmailbox sichtbar, ohne die Quellmailbox zu verändern.

https://mail.example.test/web

Ergebniskontrolle / Technische Abnahme

Version

Prüfung
grommunio 2026.06.1 bestätigen
Erwartetes Ergebnis
Die Appliance-Version ist nachvollziehbar belegt
Status
PASS

Backup

Prüfung
SQL, Gromox-Daten, Konfiguration und Mailboxexport sichern
Erwartetes Ergebnis
Alle Restore-Artefakte liegen vollständig vor
Status
PASS

Integrität

Prüfung
SHA256-Prüfsummen auf Host und Restore-VM prüfen
Erwartetes Ergebnis
Die Artefakte wurden unverändert übertragen
Status
PASS

Full DR

Prüfung
Restore auf separater VM durchführen
Erwartetes Ergebnis
Domain, Benutzer, Dienste und Mailboxinhalte sind wiederhergestellt
Status
PASS

Single-Mailbox-Restore

Prüfung
Mailboxexport in Zielmailbox importieren
Erwartetes Ergebnis
Die Zielmailbox enthält die wiederhergestellten Mails
Status
PASS

Web-Nachweis

Prüfung
Admin UI und grommunio Web prüfen
Erwartetes Ergebnis
Benutzer und Mails sind visuell nachvollziehbar sichtbar
Status
PASS

Secret Handling

Prüfung
Screenshots und öffentliche Inhalte prüfen
Erwartetes Ergebnis
Keine produktiven Credentials oder internen Secrets veröffentlicht
Status
PASS

Betriebshinweise

Der Test zeigt den technischen Restore-Weg im Lab. Für Produktion gehören zusätzlich regelmäßige Restore-Übungen, definierte RPO/RTO-Ziele, getrennte Backup-Ziele, Monitoring, Verschlüsselung, Zugriffsschutz und dokumentierte Verantwortlichkeiten dazu. Hochverfügbarkeit ersetzt kein Backup, weil Replikation auch Fehler und versehentliches Löschen replizieren kann.