DevBlog: Über unsere Server, Datensicherheit und Backups

Geschenke auf Origo können nun wieder vom Absender abgeholt werden, wenn diese noch nicht geöffnet worden sind.
Der Server wurde erfolgreich auf die Version 1.20.4 aktualisiert und nun wieder erreichbar.

Nachdem in diesem Blog bereits einiges über die Softwareentwicklung auf Terraconia berichtet wurde, möchte Ich euch einen kleinen Einblick in die "Betriebsführung" von Terraconia geben. Seit Ende 2020 ist meine Aufgabe im Terraconia-Team unter Anderem, Infrastruktur bereitzustellen, Software aktuell zu halten, Automatisierungen voranzutreiben sowie für Datensicherheit zu sorgen. Die drei Schutzziele der Informationssicherheit sind mein roter Faden.


Dieser Artikel soll einen ersten Überblick darüber geben, wie Terraconia eigentlich aufgebaut ist, und wie das System "Terraconia" aus technischer Sicht funktioniert.

Die Server von Terraconia

Wer schon einmal mit uns Technikern im Teamspeak gesessen hat, hat vielleicht schon einmal die Begriffe "Hauptserver"/"Mainserver" und "Testserver" gehört. Terraconia besteht aus zwei dedizierten Servern - die Server sind echte Hardware und nicht virtualisiert. Das kann man sich fast wie den eigenen PC vorstellen - nur mit viel mehr Leistung und mit mehr Vorkehrungen zur Datensicherheit. In der folgenden Übersicht möchte ich die Hardwareprofile beider Server für die Techies unter uns anreißen:


HauptserverTestserver
Prozessor (CPU)
AMD Ryzen 9 5950X (16 Kerne/32 Threads)
AMD Ryzen 5 3600 (6 Kerne/12 Threads)
Arbeitsspeicher (RAM)
128GB DDR4 (unbuffered ECC)
64GB DDR4
SSDs2x 3,84 TB NVMe (U.2)
2x 512 GB NVMe (M.2)
Netzwerkanbindung1x 1 GBit/s (dediziert)
1x 1 GBit/s (dediziert)
StromversorgungZwei unabhängige Stromleitungen (mit Notstrom), ein Netzteil im Server
Zwei unabhängige Stromleitungen (mit Notstrom), ein Netzteil im Server


Während die eigentlichen Minecraft-Server, der Teamspeak3-Server und das Forum auf dem Hauptserver in Deutschland laufen, haben wir davon ein fast identisches Abbild auf unserem Testserver in Finnland laufen. Der Testserver hat weniger Leistung als der Hauptserver, ist dafür aber auch deutlich günstiger. Er wird unter Anderem auch genutzt, um den Quellcode unserer Software zu verwalten, Software zu kompilieren und eine Chat-Plattform für das Terraconia-Team bereitzustellen. Auch die Statusseite von Terraconia liegt auf dem Testserver.


Leistungshungrige Vorgänge, wie z.B. das Kompilieren von Software, haben wir damit komplett von dem Terraconia, welches ihr kennt, getrennt. So stellen wir sicher, dass nicht durch unsere Arbeit im Hintergrund die Server zu laggen beginnen oder es zu anderweitigen, unangenehmen Nebenwirkungen kommt.


Natürlich nutzen wir den Testserver auch zu dem, was sein Name schon suggeriert - bevor wir kritische Komponenten auf unserem Hauptserver neu in Betrieb nehmen oder aktualisieren, testen wir sie auf dem Testserver. So läuft auf dem Testserver z.B. auch der Minecraft-Server bereits auf der Version 1.19 - allerdings wurden noch nicht alle Plugins aktualisiert, sodass das Ganze natürlich noch nicht "spielbar" ist.

Redundanz, Gefahren und Disaster-Szenarien

Am 10. März 2021 kam es beim einem französischen Hoster zu einem verheerenden Brand in einem großen Rechenzentrum, bei dem massive Mengen an Daten zerstört wurden. Man stelle sich vor, der Hauptserver von Terraconia hätte in diesem Rechenzentrum gestanden - alles, was tausende Spieler in unzähligen Stunden erschaffen hätten, hätte sich in wenigen Stunden in Flammen und Rauch aufgelöst. Oder doch nicht?


Selbstverständlich kann auch uns bzw. unseren Hoster ein derartiges Schicksal ereilen. Und auch in der Geschichte von Terraconia gab es schon kleinere Datenverluste aufgrund von technischen oder auch menschlichen Fehlern. Das ist das Risiko des Lebens.


Alle Daten von Terraconia liegen in einem sogenannten RAID 1 gespeichert - das bedeutet, dass alle Daten immer parallel auf zwei Festplatten bzw. SSDs gespeichert werden. Fällt eine SSD aus, wird diese von unserem Hoster ausgetauscht und es ist kein Datenverlust zu befürchten, weil die Daten weiterhin auf einer zweiten SSD gespeichert sind.


Das ist zwar schon ziemlich gut, schützt uns allerdings nicht vor z.B. Feuer, Naturkatastrophen oder menschlichen Fehlern. Also brauchen wir Backups - und zwar möglichst weit weg! Wir erinnern uns - wir haben einen Server in Deutschland und einen Server in Finnland. Beide circa 1.300 Kilometer voneinander getrennt - ein Vorteil, welchen wir uns natürlich zu nutze gemacht haben.


Backups! Aber wie?

Beide Server von Terraconia erstellen jeden Tag ein Backup - das kennt ihr als den täglichen Neustart um 05:30 Uhr. Der Minecraft-Server muss während des Backups gestoppt sein, weil Daten, welche beim Sichern verändert werden, für ein beschädigtes Backup sorgen können. Das Backup wäre dann "inkonsistent" und es könnte passieren, dass wir im Notfall, beim Wiederherstellen der Daten, nur unbenutzbaren Datenmüll vorfinden.


Das Backup wird zunächst lokal auf dem Server abgespeichert. Im Anschluss werden die Minecraft-Server wieder gestartet und jeder Server spiegelt die Daten seines Backups auf den jeweils anderen Server. Dadurch sind unsere Backups geographisch getrennt gespeichert und wir sind auf die oben beschriebenen Gefahren vorbereitet


Eine Sicherung des Hauptservers umfasst in etwa 100 Gigabyte Daten. In der Regel halten wir 11 Backupstände in unterschiedlichen zeitlichen Abständen vor. Sprich, wir bräuchten mindestens 1100 Gigabyte Speicherplatz, um die Backups des Hauptservers auf dem Testserver zu speichern. Allerdings hat der Testserver nur 512 Gigabyte große SSDs, was nach einem potentiellen Problem ausschaut. Zum Glück ist es das aber nicht - denn schließlich ist z.B. das Meme, welches vor einem Jahr irgendwo im Forum gepostet wurde, sehr sicher bei jedem der 11 Backups das selbe. Und der Erdblock auf Esconia ist auch der selbe, wie der auf Andora.


Zum Anlegen von Backups nutzen wir das freie Programm BorgBackup. Es ermöglicht uns, unsere Backups "inkrementell" anzulegen - das heißt, dass wir einmal ein vollständiges Backup anlegen, und in darauf folgenden Backups nur die Daten abspeichern, welche sich im Gegensatz zum letzten Mal verändert haben. Zudem werden die Daten auch vor dem Abspeichern noch einmal mit dem Zstandard komprimiert, was nochmals wesentlich zur Einsparung von Speicherplatz beiträgt. So benötigen wir aktuell für die Backups unseres Hauptserver lediglich circa 115 Gigabyte Speicherplatz.


Das komplette tägliche Backup des Hauptservers dauert im Schnitt 15 Minuten. Dabei ist der Minecraft-Server allerdings im Schnitt nur für 10 Minuten nicht zu erreichen. Hier konnten wir vor Allem durch den Umzug auf unseren neuen Hauptserver und der damit einher gegangenen Neuerarbeitung unserer Backup-Scripts deutliche Verbesserungen erzielen.

Persönliche Gedanken und Worte

Ich hoffe, dass ich mit diesem kurzen Anriss einen verständlichen Einblick in die technische Infrastruktur von Terraconia geben konnte. Selbstverständlich ist das bei Weitem nicht alles und ich könnte wohl noch die ganze Nacht darüber schreiben.


Terraconia genießt das Privileg, dass ausnahmslos alle Techniker in IT-Berufen arbeiten oder aktuell einen solchen erlernen. Vor Allem in den letzten zwei Jahren haben wir die Qualität unserer Arbeit massiv gesteigert. Wir haben in tausenden Stunden Freizeit Ordnung geschaffen und Terraconia auf einen zeitgemäßen und professionellen technischen Stand gebracht. Wir haben Dokumentation geschrieben, alte Projekte aufgearbeitet und sehr viel Hirnschmalz in Themen gesteckt, welche im Vorfeld aufgrund von verschiedensten Gründen nicht ausrechend beleuchtet werden konnten. Aber auch unsere Freizeit ist begrenzt - und qualitative Arbeit braucht viel Zeit, wie wir am Update auf die Minecraft Version 1.19 sehen.


Nichtsdestotrotz: Terraconia ist vielen kleinen und mittelständigen IT-Unternehmen hinsichtlich technischer Infrastruktur und Professionalität überlegen.


Für mich ist Terraconia ein großer Spielplatz - ich kann nahezu alles erdenkliche ausprobieren und lerne mit jedem Mal, wenn ich an der Infrastruktur von Terraconia arbeite, etwas dazu. Mein Beruf profitiert von meinem Hobby und mein Hobby profitiert von meinem Beruf. Deshalb bin ich hier - deshalb kümmere ich mich gerne um Terraconia, obwohl ich so gut wie nie die Zeit dazu finde, um auf Terraconia zu spielen.


Wenn ich mit diesen Einblicken euer Interesse geweckt habe, dann bekundet das gerne in den Kommentaren. Ich stelle gerne noch weitere Teile der Terraconia Infrastruktur vor. Auch für Fragen stehe ich natürlich gerne zur Verfügung. :)

Kommentare 2

  • Hey @WhoAmI0501,

    Ich lese mir die DevBlogs auch sehr gerne durch. Sind sie für mich tatsächlich sogar weit interessanter als Events o.ä., wo ich immer wieder im Chat auffalle, dass ich die Event-Postings hätte lesen sollen bevor ich fragen stelle :D
    Immer wieder gerne kannst du schreiben, aber lass dich nicht stressen. Wenn kein Bock zu schreiben, dann kein Bock, oder so ;)

    Liebe Grüße
    Marc

  • Hey @WhoAmI0501,


    ich finde es gerade wirklich beeindruckend wie gut und nachvollziehbar dieser Blog-Post geschrieben wurde, vor allem für jemanden wie mich der sich i.d.R. nicht mit Serverinfrastrukturen, Backups und der gleichen beschäftigt. Es mag zwar nur ein kleiner Umriss von deiner/eurer Arbeit sein, es ist für mich nun jedoch ein guter Beginn um verschiedene Dinge auf Terraconia besser zu verstehen (i'm looking at you ~15min restart duration). Da ich mich generell immer über die DevBlogs freue, sei hiermit herzlich motiviert uns noch mehr übers "Backstage" von Terraconia zu erzählen, umso mehr, wenn es auf eine so verständliche und einfache Weise geschieht wie hier.


    Am positivsten finde ich jedoch deinen Ausdruck, dass "Terraconia ein großer Spielplatz" ist, auf welchen man viele Dinge ausprobieren und testen vermag ohne direkt persönliche, berufliche oder anderweitige (weitreichende) - auch spielinterne - Konsequenzen zu befürchten.

    Diesen Grundsatz habe ich schon vor Jahren von einer Admina gehört, welche nun auch generell meinen Spielstil und mein Handeln auf Terraconia prägt. Es führt auch dazu, dass ich doch viele Dinge gerne ausprobiere(n), sowie zeitgleich auch mal von Prozessen, Arbeiten oder gar Konflikten auf'm Server Abstand nehmen kann, weil es am Ende doch nur ein Hobby ist welches Spaß, aber auch Erfahrungsgewinne, mitbringen soll.


    Allerdings, muss ich zum Schluss doch meine Verwunderung und Kritik daran äußern, dass Terra ausgerechnet BORGbackup nutzt!11!

    Haha 5