TimurD - Fotolia
Microservices und Infrastrukturen optimal sichern
Auch in Container-Umgebungen spielt die Datensicherung auch eine wichtige Rolle. Wir geben Tipps, was zu beachten ist, wenn Container und Microservices abgesichert sein sollen.
Einfach ausgedrückt sind Container eine Erweiterung der Computer-Virtualisierung. Wie bei virtuellen Servern auch, muss auch die Datensicherung in Containerumgebungen besonders strukturiert und an die Anforderungen der Container angepasst sein. In Containerumgebungen werden besonders häufig Microservices betrieben. Dabei werden Server-Workloads, zum Beispiel ein Onlineshop, in verschiedene Dienste unterteilt, die wiederum auf verschiedene Container verteilt werden.
Bei der Planung der Sicherung hängt es auch davon ab, ob die Container kurzlebig sind und keine persistenten Daten speichern, oder ob auch persistente Daten in einzelnen Containern gespeichert werden. In der Infrastruktur können sich natürlich jederzeit Änderungen ergeben, die sich in der Datensicherung widerspiegeln.
Damit eine Backup-Lösung in der Lage ist die entsprechenden Komponenten zu sichern, muss sie für die entsprechende Plattform auch zertifiziert sein. Nur dann ist sichergestellt, dass die Sicherungslösung alle wichtigen Komponenten sichert und auch die richtigen Schnittstellen dazu nutzt. Eine zertifizierte Lösung für Container bietet in den meisten Fällen auch entsprechende Agenten für Container und den Container-Host an. Bei zertifizierten Lösungen ist auch geklärt, wie der Support abgewickelt wird und wer bei Problemen hilft.
In den meisten Fällen kommen Docker und Kubernetes zum Einsatz. Auch wenn in einem Netzwerk aktuell noch nicht auf Kubernetes gesetzt wird, kann es sinnvoll sein eine Sicherungslösung einzuführen, die auch in der Lage ist Kubernetes zu sichern. Wenn später im Netzwerk doch noch Kubernetes als Orchestrierungslösung eingesetzt werden soll, muss nicht die komplette Sicherungsstrategie geändert werden.
Professionelle Sicherungslösungen nutzen – Bacula, BareOS und Veritas NetBackup
Kommerzielle Lösungen zur Sicherung von Containerumgebungen sind derzeit noch dünn gesät. Es gibt aber von Bacula und Bareos Open-Source-Ansätze, um Containerumgebungen zu sichern. Beide Systeme können in Docker ausgeführt werden.
Als reine kommerzielle Lösung für Container kann zum Beispiel auch Veritas NetBackup herangezogen werden. Die Sicherungslösung ist von Docker zertifiziert. Dadurch haben Kunden die Möglichkeit, auch Containerlösungen wie SAP Hana, Hadoop, MongoDB und andere zu sichern, parallel mit anderen Workloads. Die Verwaltung erfolgt in der einheitlichen Benutzeroberfläche von Veritas NetBackup.
Die Lösung bietet einen containerisierten NetBackup-Client an, mit dem sich persistente Daten in den Containern sichern lassen. Auf der Downloadseite des Clients ist auch der Ablauf zu sehen, wie die Daten durch Veritas NetBackup gesichert werden. Der Client wird ab Version 8.1 von Veritas NetBackup unterstützt. In einem White Paper erklärt das Unternehmen den Ablauf bei der Sicherung und wie diese eingerichtet wird.
Die richtigen Komponenten sichern
Um den kompletten Dienst zu sichern, sollten auch alle dazugehörigen Container gesichert werden können. Hier ist es aber wichtig, vor allem die Objekte in den Containern zu speichern, die für eine Wiederherstellung wichtig sind. Dabei spielt es auch eine Rolle, ob eine Wiederherstellung in anderen Rechenzentren durchgeführt werden soll, zum Beispiel für ein Disaster Recovery. Hier ist es auch wichtig, dass der Zugriff auf das Container-Image möglich ist, mit dem eine Wiederherstellung erfolgen soll.
Wenn auf einem Container persistente Daten gespeichert sind, müssen auch diese durch eine Sicherung berücksichtigt werden, und bei einer Wiederherstellung eingebunden werden können.
Sicherung mit Bordmitteln – Images von Drittanbietern sichern
Wer auf Docker setzt, kann auch mit Bordmitteln verschiedene Daten sichern. Sinnvoll ist das zum Beispiel, wenn Sie auf Images setzen, die nicht aus einem eigenen Repository kommen. Müssen die Container wiederhergestellt werden, muss natürlich das Image zur Verfügung stehen.
Ist in diesem Moment das Repository des Drittanbieters nicht verfügbar, schlägt der Vorgang fehl. Mit docker save können Images in Dateien gespeichert werden. Hier wird normalerweise das TAR-Format verwendet, da Docker das Image auch gleich archiviert.
Bei dem Vorgang werden die Daten aber nicht komprimiert. Soll das Archiv zusätzlich noch komprimiert werden, kann es sinnvoll sein, ein weiteres Tool für die Komprimierung einzubinden. Bei einer Wiederherstellung wird wiederum docker load und das erstellte Archiv verwendet.
Volumes sichern und wiederherstellen
Um in einer Docker-Umgebung ganze Volumes zu sichern, müssen alle Container, die das Volume nutzen, den Zugriff darauf einstellen. Hier besteht entweder die Möglichkeit, die Container herunterzufahren oder auf anderen Wegen zu beenden. Danach wird ein neuer Container gestartet, der Zugriff auf das Volume hat und dessen Aufgabe darin besteht, die Daten zu sichern. Auch hier kann die Sicherung mit TAR erfolgen und nach außerdem der Containerumgebung übertragen werden.
Bei einer Wiederherstellung findet der gleiche Vorgang in umgekehrter Richtung statt. Zunächst werden wieder alle Container beendet, dann der Backup-Container gestartet, der die Daten von der Sicherungsquelle wieder in das Volume kopiert. Anschließend starten die Container wieder und können auf die wiederhergestellten Daten zugreifen.
Fazit
Das Thema Datensicherung spielt auch in Containerumgebungen eine wichtige Rolle. Durch die besondere Struktur von Containerumgebungen muss dabei auf einiges geachtet werden.
Klar ist aber, dass mit herkömmlichen Sicherungsstrategien keine optimale Sicherung von Containern stattfinden kann. Wer professionelle Lösungen sucht, muss derzeit noch ausführlich recherchieren, findet aber mit Bacula und Bareos Ansätze zur Sicherung von Containerumgebungen mit Open Source.
Wer kommerzielle Sicherungslösungen sucht, findet zum Beispiel mit Veritas NetBackup ab Version 8.1 eine Möglichkeit. Setzen Unternehmen im Netzwerk aber auf ein anderes Produkt, ist es sinnvoll, beim Anbieter nachzufragen, wie es mit der Unterstützung von Containerumgebungen aussieht, und ob eine Aktualisierung der im Unternehmen eingesetzten Datensicherungslösung notwendig ist.