This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Wie sichert ihr einen Opensim Linux Server ?
#1
Hallo zusammen,

wie sichert ihr einen Opensim Linux Server der extern gehostet ist, also nicht bei euch zuhause ?

Ich überleg gerade, wie ich das bauen könnte, und wie ich das sichern soll damit ich einen Restore schnell machen kann wenn nötig.
Auf dem externen Server habe ich kein Backup Speicherplatz, ich überleg mir eine Storagebox zu mieten und das darauf zu machen.

Kopiert ihr auch sporadisch die Opensim Verzeichnisse  weg und macht Datenbank Dumps ?

Viele Grüße
Trawell
Zitieren
#2
Hallo Trawell,

Das ist eine Frage welches Sicherheits Bedürfniss man hat, und wie groß der Umfang des Grids ist.
Denn das kann schnell in richtiger Arbeit ausarten. Besonders der Transfer der Backups auf sichere Orte kostet viel Zeit.

Man muss für sich selber festlegen welche Datenmenge man im Notfall zu opfern bereit ist, denn es ist unmöglich alles Minutenaktuell zu halten.
Denn auch wenn man täglich sichert wären ja die Daten von bis zu 24 Stunden weg.

Hinzu kommt das man Komplett Restores mittels Datenbank selber nicht in diesem Intervall aktuell halten kann.
Denn wenn man FSAsset Cache verwendet muss man auch diesen Zeitpunktgenau zur Datenbank mitspeichern.
Sonst kann es passieren das man nach dem Restore/Umzug auf einem neuen Server massenhaft fehlerhafte Elemente im Inventar hat, wie ich leider schon einmal erfahren musste.

Dann ist auch die Frage ob man bereit ist "flüchtige Informationen" wie Scriptzustände mitzusichern.
Das kann je nach Anwendungsfall durchaus ein Thema sein. Denke nur etwa an Scripte in einem Roleplay die Spielstände etc speichern.
In diesem Fall muss man pro Siminstanz noch das Script Cache Verzeichnis zeitpunktgenau mitsichern.

Praktisch wäre, wie in der Arbeit, zusätzlich einfach den Rechner als Blackbox zu betrachten und tägliche Backups des Komplettsystems zu fahren.
Also in größeren Perioden Gesamtbackups, und dazwischen tägliche Differenz Backups.

OK und dann ist der Aufwand bereits immens, wenn du das remote machen willst bei sehr eingeschränkter Datenrate.

Also must du Prioritäten setzen und dich entscheiden welche Verluste du bereit bist zu akzeptieren.
Womit wir wieder bei der Einleitung wären.

Nun zur Praxis:

Ich habe ca. 40 Sims zu sichern, ca. 20 User, und eine Datenbank.

Ich versuche duch Backups folgende Fälle abzudecken:
- Komplettverlust der Servers
- Ausfall eines Storagemediums
- Verlust der Datenbank
- Verlust einer Sim
- Verlust eines Inventars

Das Ziel ist das Grid (mit akzeptablen Verlusten) auf neuer Hardware aufbauen zu können,
oder auf bestehendem Server Reparaturen aller Art (mit akzeptablen Verlusten) durchführen zu können.


Dazu habe ich ein mehrschichtiges Konzept:


Will heissen:

Backups werden an 3 unterschiedlichen Orten gelagert.
Nur einer davon ist der Server zur schnellen Wiederherstellung wegen Transfer Datenrate.

Medien werden mit RAID 1 gefahren, inclusive Überwachung und Mail Benachrichtigung des Admins im Problemfall.

Ich versuche sowohl Server, wie auch Sims oder Inventare abzusichern.

Die Backup Häufigkeit richtet sich nach der schwere der Fehler.
Sims häufig, Datenbank gelegentlich, Inventare seltener.



SERVER:

Datenbank inclusive Datenbank Schema mittels MySQL Workbench absichern
FSAsset Cache zum gleichen Stand kopieren, in ZIP Archiv packen.
- ca. alle 3 Monate
 Auf sichern der Script Zustände verzichte ich.


SIMS:

Sims sicher ich als OARS:
- On Demand, sobald wir an einer Sim mehr gearbeitet haben
- Periodisch alle 2 Monate wenn an der Sim keine größeren Änderungen erfolgten


INVENTARE:

Inventare sicher ich als IARS.
- Periodisch alle 3 Monate
- oder on Demand je nach Nutzung und Bedeutung des AVAs


SPIEGELSERVER einrichten / aktuell halten:
Und natürlich sollte man die Backups auch mal stichprobenweise testen.
Ich mache dies indem ich daheim einen Spiegelserver mit dem gesamten Grid halte, den ich gelegentlich auffrische.

Bei Sims geht das mittels OARS, Einspielen tauscht die Stände aus.
Bei Inventaren geht das sehr schlecht mittels IARs, weil es sich alles aufsummiert. Ausserdem fehlen etliche Daten wie Bekleidungssets.

Aber das ist keine gute Methode um einen Spiegelserver aktuell zu halten.
Dies gelingt am besten mittels Datenbank Tabellen Aktualisierung.
Auch in diesem Falle ist der FSAsset Cache aus der Robust Instanz mit zu aktualisieren.
Zudem braucht es die zugehörigen Scriptzustände aus jeder Sim Instanz (findet sich unter bin\ScriptEngines)
und ebenfalls aus jeder Siminstanz die J2KDecodeCaches (findet sich unter bin\j2kDecodeCache)

Das klingt nun übervorsichtig, aber so gelingt es tatsächlich ALLES auf einen neuen Server zu übertragen.

Selbst die Freunde, Outfits, Scriptzustände, ... etc bleiben erhalten (solange sich nicht die URL ändert).
Das ist übrigens auch die Methode wie ich Versionswechsel im Server durchführe.
Ich mache eine neue Datenbank Instanz, baue das neue Grid parallell auf und fütter es mit Daten.
Natürlich darf nur Eines jeweils on sein.

Dann sieht man ob alles läuft, und kann aber auch wieder verlustfrei zurück

Du hast zwar nach Linux gefragt, aber die Vorgehensweise ist dafür Identisch.
Anstelle vom MySQL Workbench muss man halt ein anderes Tool  verwenden.

Die Arbeit selber mache ich manuell, auch um wichtige Hinweise zu finden (Intruder, Systemfehler, etc)


So Trawel, bist nun erschlagen?


Viele Grüße Tron
Zitieren
#3
Eine bessere Erklärung zum Backup (wie von Tron Mcp beschrieben) kann es nicht geben. Ich selbst sichere nur .iar der User und .oar aller Regionen komplett.

Dabei ist es mir wichtig, dass keine Sicherung von .iar und oar auf dem Server verbleibt! Eine Sicherung auf dem Server selbst ist keine Sicherung.

Mit SFTP verschiebe ich wichtige Backups auf das gewünsche Ziellaufwerk. Ich setze im Totalausfall lieber das komplette System NEU auf.

Es ist ja auch nicht auszuschließen, dass mein Server von Hackern bereits kompromittiert wurde.

Man sollte auf jeden Fall versuchen Schadcode !NICHT! mitzusichern, um ihn dann wieder (Kraft meiner Wassersuppe) unwissend einzuspielen.

Die Ansprüche sind je nach Grid und Anzahl der User unterschiedlich. Am besten aber so machen wie Tron Mcp es erklärt hat.

Ich nutze weder MySQL Workbench, PhpMyAdmin noch OpenSim Manager. Ich benötige dies nicht.
All done!
Zitieren
#4
Hallo zusammen,

nee von dieser Vorgehensweise bin ich nicht erschlagen, ich finde das ein gutes Konzept.
Ich habe zu Hause auf einem Proxmox Virtualisierer am laufen, da hab ich eine Standalone mit mehreren Sims unter Debian 11 am laufen.
Proxmox bietet ja von Haus aus eine Backup Lösung an (ich mein die PVE interne, nicht den PBS).
Da wird automatisch jede Nacht ein Fullbackup auf mein NAS gemacht.
Gestern habe ich einige OARs hochgeladen und plötzlich hatte ich ein Code Stream Fehler.
Sicherung wieder drauf und gut war.
Aber das ist halt der komplette Server.

Wie ich aus Trons ausführlichen Schilderungen entnehme, brauche ich für Teil Backups also noch folgendes:
- Datenbank ( da sind ja die Sim Definitionen, Berechtigungen, User und vieles mehr drin)
- Assets (Das ist ein Folder, mit vielen Dateien den ich wegsichern kann, richtig ?
- Opensimulator Verzeichnis. da sind ja die Konfigs, Region Inis, und solches drin.
OAR und IAR sehe ich nicht als Backup an, sondern halt als Weitergabemöglichkeit, da bei OAR die Besitzer nicht mitgenommen werden, glaube ich zumindest, könnte ich aber sicher automatisiert bauen.
Scripte für RPs wo Spielstände speichern, habe ich nicht.
Das sind so die Dinge die ich sichern würde, falls ich einen Server neu aufsetzen müsste.
Fehlt sonst noch was ?

Mein öffentliches Grid werde ich demnächst auf einen performanteren Server umziehen, und da werde ich wohl Windows beibehalten und schauen das ich den mit Veeam wegsichere.
Windows halt einfach, weil ich noch nichts vergleichbares wie den Kubwa Manager gefunden habe, was man auf Linux einsetzen könnte, da lass ich mich aber gern eines Besseren belehren.

Übrigens, die mySQL Workbench gibt es auch für Linux, wobei ich da den DBeaver nehmen würde, auch sehr empfehlenswert Smile

Hey, ich finde es macht Spass hier zu fachsimpeln Smile

Viele Grüße
Trawell
Zitieren
#5
Hallo Trawell,

habe mir schon eine bootfähige DVD mit Debian 11 gemacht:-) Ich werde mal in diese Welt von Debian versuchen einzutauchen.

Einiges wird anders als wie bei Ubuntu sein. Obwohl ich Ubuntu eigentlich sehr mag, gefallen mir einige Dinge heute nicht mehr.

Ubuntu hält wichtige Updates ohne Registrierung zurück. Vieles deutet auf eine kommende Pro-Version. Wer sich registriert bekommt alle Updates.

Nun, ich publiziere meine Gedanken zur Zukunft von Ubuntu jetzt mal nicht. Debian scheint einen anderen Weg zu gehen.

Es freut mich, wenn es Dir bei uns gefällt.
All done!
Zitieren
#6
Hallo Trawell, mit Debian kennt sich kaum jemand aus. Könntest du eine Anleitung zur Installation von OpenSim unter Debian 11 für die User schreiben? Bestimmt freuen sich viele User darüber.

Vielen Dank

LG

Maria
Zitieren
#7
Hallo Maria,

ich hab mich grösstenteils an die Anleitung auf hyperweb.eu gehalten, und lediglich eine Standalone gebaut, also nichts mit Robust oder gar was HG fähiges.
Aber ich kann gern eine Anleitung schreiben dazu, ich speichere es eben mal in meine ToDos.

Viele Grüße
Trawell
Zitieren
#8
Hallo zusammen,
ich bin schon dran am Tutorial Smile

Habt einen guten Wochenstart.

Viele Grüße
Trawell
Zitieren
#9
Hallo Trawell,


du hast natürlich absolut Recht das man die Grideinstellungen auch mit absichern soll.
Ich mache das auch, aber habe das vergessen zu beschreiben, da dies bei mit zur Gridplanung gehört.

In der Gridplanung mache ich eine Map wo alle Regionen drauf sind, deren Ports, der Zugehörigkeit zu Instanzen, Firewallregeln, etc.
Sonst kann es schnell passieren das man Ressouercen doppelt vergibt. Ausserdem hilft es bei der Fehlersuche und Trafficanalyse.

Auch kann man so bestimmte Sims zusätzlich sichern, indem die hinter einer Firewall sitzen.
Eigene feste IPs vorausgesetzt ist das sehr praktisch um Rohmaterial noch ohne eingestellte Rechte zu lagern,
oder zum Beispiel einen Kinderschutz Bereich für meine Tochter einzurichten.

Aber wo wir schon beim Grid Konfigdaten sichern sind, mal ne kleine Auflistung was mir wichtig zu sichern erscheint:

1. aus der Robust Instanz: die RobustHG.ini ( bei HyperGridmode), dann das gesamte confgig-include Verzeichnis.
Wer keine externe SQL Datenbank hat, nimmt auch das Storage Verzeichnis mit, sowie alle *.db Dateien aus dem BIN Verzeichnis!!

2. aus jeder Sim Instanz: die opensim.ini, die regions.ini sowie das config-include Verzeichnis.
Namentlich wichtig sind die Dateien FloatsamCache.ini, GridCommon.ini, osslenable.ini. Da aber je nach Gridmode und Distribution das abweichen kann, nehmt das gesamte Verzeichnis config-include.

3. Man sollte unbedingt alle Installations Dateien des Server im offline Installer Format mit absichern.
Wenn man sie mal wieder brauchen sollte, kann es sein das es die nicht mehr- oder nur in anderen Versionen gibt.
So kann man unter Umständen in Fehler laufen, bei denen man nicht weiss wo die herkommen.

Im Besondern können folgende Fehler auftreten:

Opensim Dateien:
    - Die gespeicherten Konfig Dateien passen nicht mehr zur neuen Distribution. Beispiel OsslEnable.ini oder umbenannte Dienste.

Datenbank Installer: Beispiel: MySQL Datenbank Main Release Version
    - Die aktuelle Datenbank läuft nicht - oder nicht onne Anpasung mit Opensim.
    - Die vorhandenen Datenbank Daten Backups lassen sich nicht in die neue Version direkt einspielen. Die Backups werden unbrauchbar.

Datenbank Verwaltungs & Backup Tool: die neue Version passt nicht zu alten Datenbank. Backups werden korrupt.
    - Beispiel: MySQL Workbench Version.

.NET Version: wir hatten schon mal die Diskussion um die Abhängigkeit von Opensim Verisionen zu .NET Versionen.
Interessant daran waren vor allem unterschiedliche Rückmeldungen, was die Abhängigkeit von Veriosnen anging.
So scheint es keine Eindeutigkeit zu geban was gut zusammen läuft.
Ich empfehle daher die Offline Installer mit abzusichern, die bei euch gut laufen.

Betriebssystem: Ein dummes Thema für diejenigen die heute Desktop Windows einsetzten.
Ich kenne das leidgeprüft aus der Arbeit. Kaum hast du einen Spezialrechner für die Sendung erfolgreich am laufen, kam halbjährlich das Zwangsupdate für Win10, und die Kiste lag evt. am Bauch. Raid und Nick Teaming waren zuverlässig jedes Mal zerschossen....

Abhilfe schuf nur der Umstieg auf WIN10 LTSC Version. Wer also wirklich Desktop WIndows für seinen Opensim Server einsetzten mag, der sollte zur LTSC Version greifen. Die läuft deutlich zuverlässiger, und länger.

Besser und teurer sind die Server Versionen. Auch haben die nicht soviel unsinnigen Ballast mit an Bord der eh nur Sicherheits Löcher mitbringt.

Ansonsten bleibt Linux als sehr gute Alternative. Da gibt es auch die Longterm Varianten, die ich für Server empfehle.
Achtet aber bei jeder Neuinstallation (wo ihr noch freie Versionswahl habt) darauf wie lange diese Version noch unterstützt wird.

In allen Fällen sollte jedes Installations Medium möglichst offline vorliegen.


So- nun denke ich haben wir dies Thema umfassend pauschal beschrieben.

Linux Anleitungen wären noch super.

Viele Grüße

Tron
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste