Zarafa 6.40 auf Kopano 8.7 Upgrade

Seit langer Zeit schon gibt es für die beliebte Zarafa Groupware einen Nachfolger namens Kopano. Obwohl für Zarafa seit Jahren kein Support mehr existiert, gibt es bis heute noch alte Installationen davon die auch weiterhin rege genutzt werden. So auch bei einem Kunden von uns, der noch bis vor Kurzem eine Zarafa 6.40 im Einsatz hatte.

Planung

Wenn man in der Vorbereitung auf ein solches Upgrade von Zarafa 6.40 auf Kopano 8.7 mal nachrechnet, dann kommt man auf insgesamt 11 Versionssprünge, die es zu nehmen gilt (Zarafa 6.40 > 7.0 > 7.1 > 7.2 > Kopano 8.0 > 8.1 > 8.2 > 8.3 > 8.4 > 8.5 > 8.6 > 8.7). Und dabei gibt es ein paar Hürden zu nehmen:

  • Beim Zarafa Upgrade von 6.40 auf 7.0 wird die Datenbank von ISO8859-1 auf UTF-8 konvertiert. Das bedeutet nicht weniger als jeden einzelnen Datensatz einmal anzufassen, von ISO8859-1 zu UTF-8 zu konvertieren und ihn zurück in die Datenbank zu schreiben.
  • An dieser Zarafa Installation hingen über 300 Benutzer mit einem gesamten Datenbestand von etwa 200 GB.
  • Da dieser Prozess vor allem zeitintensiv ist, muss man die geplante Downtime im Blick behalten. Mehrere Tage auf einen Groupware Server und damit auf E-Mail, Kontakte und Kalender zu verzichten geht nicht einfach so. Also sollte man vor der Downtime beim Kunden einmal messen können, wie lange diese Konvertierung dauern wird. Auf Basis dieser Messung kann man dann ein entsprechendes Zeitfenster beim Kunden ankündigen und auch einhalten.
  • Während der Konvertierung müssen eingehende Mails zwischengespeichert werden, bis die Konvertierung abgeschlossen wurde und sichergestellt ist, dass die konvertierte Kopano Installation auch funktionsfähig ist. Erst nach den finalen Tests dürfen die zwischengespeicherten Mails ausgeliefert werden.
  • Zarafa und Kopano ermitteln normalerweise beim Start die Version der Datenbank. Ist die Datenbank auf einem älteren Stand als der Server, wird eine entsprechende Konvertierung durchgeführt um sie auf den aktuellen Stand zu bringen. Bei neueren Versionen von Zarafa bzw. Kopano sind die Konvertierungsroutinen für die ganz alten Versionen laut dem Kopano Professional Service nicht mehr enthalten, so dass wir nicht einfach Kopano 8.7 direkt nehmen konnten und die Konvertierung damit durchführen konnten. Wir entschieden uns deshalb nach Rücksprache mit dem Kopano Professional Service für ein mehrstufiges Upgrade über verschiedene Versionen hinweg.
  • Die für das mehrstufige Upgrade benötigten Zarafa und Kopano Pakete waren nicht mehr öffentlich verfügbar, so dass wir auch hierfür auf den Kopano Professional Service zurückgreifen konnten. Dort stellte man uns die benötigten Pakete nochmals zur Verfügung. Herzlichen Dank dafür!
  • Da Zarafa und Kopano Pakete immer nur für bestimmte Linux Distributionen freigegeben waren, musste für jeden Versionssprung auch ein neues Linux Basis Image erstellt werden mit einer zur Zarafa/Kopano Release passenden Linux Version. Zarafa 7.0 beispielsweise benötigt Ubuntu 12.04, Zarafa 7.2 benötigt dagegen Ubuntu 14.04.
  • Man sollte bei einer Konvertierung über 11 Versionen davon ausgehen, dass es früher oder später zu irgendwelchen Problemen kommen könnte. Im besten Falle läuft tatsächlich alles durch, nur sollte man von Problemen nicht all zu sehr überrascht sein.

Nimmt man alle diese Gründe zusammen, scheidet eine manuelle Konvertierung aus. Daraus ergibt sich, dass der gesamte Prozess automatisiert werden muss, so dass er jederzeit für Verbesserungen anpassbar, wiederholbar, die Zeit messbar sowie das Ergebnis reproduzierbar ist.

Aus diesem Grunde haben wir uns früh dazu entschieden, die Konvertierung mit Ansible, einem Open Source Automatisierungswerkzeug für Orchestierung, Konfiguration und Administration, umzusetzen. Alle unsere Anforderungen waren damit gut und mit verhältnismäßig geringem Aufwand umsetzbar.

Wir baten unseren Kunden um eine Kopie der aktuellen Zarafa VM, damit wir anhand der Ausgangsdaten einen Weg für das Upgrade nicht nur entwickeln, sondern auch testen können. Wir erhielten eine VMware VM auf der ein Red Hat Linux mit installiertem Zarafa 6.40 lief.

Vorbereitung

  1. Bereitstellen eines Konvertierungsservers mit entsprechenden Hardware Ressourcen, auf dem die gesamte Konvertierung unabhängig laufen kann
  2. Installation einer Proxmox VE als Basis für die im Laufe der Konvertierung zu erstellenden VMs
  3. Bereitstellen der Sicherung der ursprünglichen VM
  4. Bereitstellen einer zentralen Storage, auf die Daten zwischen den Konvertierungsschritten gesichert werden können
  5. Erstellen einer passenden VM-Konfiguration für den Import der alten VM Disks und damit Startpunkt für die eigentliche Konvertierung
  6. Erstellen einer Ziel VM mit Kopano 8.7 auf Basis einer aktuellen Ubuntu Linux Version

Durchführung

  1. Import der alten VM Disk Images in die neue Konfiguration
  2. Export der Zarafa Datenbank und Dateien
  3. Installation eines Ubuntu 12.04 Containers
  4. Installation Zarafa 7.0 im erstellten Container
  5. Import der Datenbank und Dateien
  6. Konvertierung der Datenbank von Zarafa 6.40 auf 7.0
  7. Export der Datenbank und Dateien
  8. Installation eines Ubuntu 14.04 Containers
  9. Installation Zarafa 7.2 im erstellten Container
  10. Import der Datenbank und Dateien
  11. Konvertierung der Datenbank von Zarafa 7.0 auf 7.2
  12. Export der Datenbank und Dateien
  13. Import der Datenbank und Dateien in die Ziel VM
  14. Konvertierung der Datenbank von Zarafa 7.2 auf Kopano 8.7
  15. Export der neuen VM
  16. Import auf der VM Infrastruktur des Kunden
  17. Test und Go Live
  18. Zustellung der während der Konvertierung eingegangenen E-Mails

Um eine entsprechende Downtime zu minimieren, kann man nun die Durchführung mit Ansible automatisieren und immer wieder verbessern. Die gemessene Zeitspanne für einen Durchlauf kann als Basis für die Planung der Downtime dienen. Natürlich müssen noch entsprechende Kopier- bzw. Transferzeiten für die VMs berücksichtigt werden. In unserem konkreten Fall lief der gesamte Prozess automatisiert etwa 11 Stunden. Damit stand einer Migration ab Freitagnachmittags bis Sonntagnachmittags nichts mehr im Wege.

Finale Konvertierung

Nachdem mehrere erfolgreiche Tests sowie weitere Optimierungen abgeschlossen wurden, ging es an die finale Umsetzung des Upgrades. Wir vereinbarten einen Termin und besprachen die notwendigen Schritte mit dem Kunden. Dann lief alles wie oben geplant und der Kunde bekam eine neue VM zurück. Da sich auch in weiteren Tests keine Fehler zeigten, wurde die VM live geschaltet und die in der Zwischenzeit eingegangenen E-Mails in die neue Kopano VM weitergeleitet.

Natürlich blieben für den Kunden selbst noch einige Dinge zu tun. Beispielsweise wurde der alte Zarafa WebAccess durch die Kopano WebApp ersetzt und Nutzer hatten dazu auch Fragen und mussten entsprechend eingewiesen werden. Einige Outlook Clients mussten noch angepasst werden, da Zarafa 6.40 noch den alten MAPI Client verwendete, Kopano jedoch das Outlook über ActiveSync anbindet. Bei diesem Kunden allerdings gab es nur wenige Outlook Clients, da die meisten Benutzer ausschließlich die WebApp verwenden.

Dank guter Vorbereitung lief die Konvertierung problemlos durch und unser Kunde erfreut sich nun einer aktuellen Kopano Installation auf einem aktuellen Ubuntu Linux.

Relevante Artikel in unserem Blog