OAR/IAR Datenbackup und Restore mit OpenSim

Im Gegensatz zur SQL-Sicherung eignet sich das OAR-Backup, um Regionen so zu sichern, dass sie in ganz anderen Grids oder mit anderen (z.B. älteren) OpenSim-Versionen wieder reproduziert werden können. Entsprechendes gilt für die IAR-Sicherung, bei der Inventar und Assets eines Accounts (Avatars) gespeichert werden, um den Inhalt des Accounts in ein anderes Grid zu replizieren. Zum Schutz vor unerwarteten Datenbank-Inkompatibilitäten ist es vor dem Wechsel einer OpenSim-Version sinnvoll, zur Sicherheit zusätzlich OAR-Backups der Regionen zu machen. Notwendig ist es bei Umzügen einer Region in ein anderes Grid.

IAR-Sicherungen sind sehr umfangreich und sollten nicht täglich durchgeführt werden. Normalerweise erstellt der Gridbetreiber regelmäßige Datenbanksicherungen. Eine zusätzliche IAR-Sicherung von Zeit zu Zeit erzeugt jedoch eine bessere Immunität.

Nachteile des OAR/IAR-Backups
Es belastet die OpenSim Serversoftware stark, eventuelle Besucher werden während des Backups arg behindert. Bei jedem Restore werden Objekte zum Server des Gridbetreibers übertragen, obwohl sie eh schon dort gespeichert sind, was Netzlast im Grid erzeugt. (Siehe aber den Kommandoparameter --noassets.)

Hinweis: Willst du eine Region oder ein Inventar an andere Personen weitergeben, oder eine Kopie im selben Grid betreiben, dann darfst du kein SQL-Backup kopieren! Du würdest sonst UUIDs vervielfältigen, die aber nur einmal existieren dürfen!
Eselsbrücke: Sicherung => SQL, Kopie => OAR oder IAR

OAR Backup

Hole OpenSim mit tmux in den Vordergrund der Kommandozeileneingabe, um in der OpenSim-Konsole die folgenden Befehle abzusetzen. Wichtig: Vor dem Schließen des Konsolenfensters muss OpenSim mit tmux wieder in den Hintergrund gebracht werden, sonst wird das Programm abgebrochen!

In der OpenSim-Konsole wechsele erst in die Region, die du sichern willst, dann erzeuge ein Backup. Statt nur des Dateinamens darf auch ein Verzeichnispfad eingegeben werden. Ohne Pfadangabe landen die Backups im „bin“ Verzeichnis von OpenSim.

change region Gebastel
save oar MyBackupGebastel.oar

Wichtige optionale Parameter:
--noassets => Wenn die Region im selben Grid wieder hergestellt werden soll, dann liegen die Asset-Daten in der Datenbank des Gridbetreibers. Mit dieser Option wird auf das dann unnötige Kopieren dieser Daten verzichtet.
--home=http://meingrid.de => Zu den Erstellernamen wird der so angegebene Gridname ergänzt. Wird das OAR in andere Grids weitergegeben, bleiben dadurch die Namen eindeutig.
--publish => Soll das OAR an andere Avatare weitergegeben werden, entfernt diese Option die Owner- und Gruppeneinstellungen von Land und Objekten. (Die Erstellernamen bleiben erhalten.)

OAR Restore

Wiederum in der OpenSim-Konsole wechsele erst in die Region, wo du die OAR-Kopie einspielen willst, dann folgt das Restore. Wenn die Besitzer im Grid existieren, bleiben sie Eigentümer, sonst wird der Master-Avatar der Region neuer Eigentümer.

change region Bastelkopie
load oar MyBackupGebastel.oar

Wichtiger optionaler Parameter:
--merge => Es werden additiv zur bestehenden Region nur die Objekte des Backups hinzugefügt. Terrain, Landeinstellungen und vorhandene Objekte bleiben erhalten.

Weitere Parameter ermöglichen zum Beispiel, die Objekte verschoben oder rotiert auf der neuen Region zu platzieren. Dies kann verwendet werden, um eine neue VAR-Region aus den Backups kleinerer Regionen zusammenzusetzen. Details sind im OpenSim-Wiki beschrieben.

IAR Backup

Hole OpenSim mit tmux in den Vordergrund der Kommandozeileneingabe, um in der OpenSim-Konsole die folgenden Befehle abzusetzen. Wichtig: Vor dem Schließen des Konsolenfensters muss OpenSim mit tmux wieder in den Hintergrund gebracht werden, sonst wird das Programm abgebrochen!

Statt nur des Dateinamens darf auch ein Verzeichnispfad eingegeben werden. Ohne Pfadangabe landen die Backups im „bin“ Verzeichnis von OpenSim. Name und Passwort müssen einem Account im selben Grid gehören.

save iar Maria Muster / Passwort MariasItems.iar

Das Importieren sehr großer IAR-Dateien schlägt häufig fehl. In diesen Fällen ist es empfehlenswert, einzelne Verzeichnisse zu exportieren. Das Backup kann so in mehrere kleinere Teile aufgeteilt werden. Diese Methode ist auch hilfreich, wenn man nur einen Teil des Inventars exportieren möchte. Verzeichnis bedeutet hier, was inworld im Inventar-Browser angezeigt wird, zum Beispiel „Objekte“ oder „Calling Cards / Friends“. Wenn der Pfad Leerzeichen enthält, sind Anführungszeichen erforderlich.

save iar Maria Muster "Pfad im Inventar" Passwort MariasItemParts.iar

Wichtige optionale Parameter:
--noassets => Wenn das Inventar im selben Grid wieder hergestellt werden soll, dann liegen die Asset-Daten in der Datenbank des Gridbetreibers. Mit dieser Option wird auf das dann unnötige Kopieren dieser Daten verzichtet.
--home=http://meingrid.de => Zu den Erstellernamen wird der so angegebene Gridname ergänzt. Wird das IAR in andere Grids weitergegeben, bleiben dadurch die Namen eindeutig.
--perm => Soll das IAR an andere reale Personen weitergegeben werden, wird durch diese Option sichergestellt, dass die Berechtigungen eingehalten werden. Assets, bei denen Kopieren oder Weitergeben nicht erlaubt ist, werden nicht in die Sicherung aufgenommen.

IAR Restore

Wiederum in der OpenSim-Konsole importiere das IAR in den selben Inventarpfad oder – falls gewünscht – in einen anderen Pfad. Letzteres kann hilfreich sein, wenn du die neuen Items manuell ins Inventar einsortieren möchtest. Achtung: Der gewünschte Inventarpfad muss bereits vorhanden sein! Erstelle bei Bedarf die fehlenden Verzeichnisse inworld, bevor du den Import startest.

load iar --merge Drago Schmied / Passwort MariasItems.iar

… oder in ein bestimmtes Verzeichnis …

load iar --merge Drago Schmied "Pfad im Inventar" Passwort MariasItemParts.iar

Wichtiger optionaler Parameter:
--merge => Anstatt neue Verzeichnisse mit demselben Namen zu erstellen, werden die Elemente in die vorhandene Pfadstruktur importiert. In den meisten Fällen führt dieser Parameter zum gewünschten Verhalten.

Weitere Details zu Inventory-Archiven sind im OpenSim-Wiki beschrieben.

Nach oben