Wie bekomme ich die Daten in den Schrank?

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
Hallo,

ich bin neu bei TrueNAS gelandet und mache mir gerade Gedanken um den Backup-Prozess mit TrueNAS. Meine aktuelle Frage: wie bekomme ich die Daten in den Schrank?

Bisher habe ich es so gemacht, dass auf meinem alten NAS zeitgesteuert der Backup-Task ansprang. Backup-Ziel war eine externe Disk in einem Quickport, der per eSATA am NAS angeschlossen war. Diese Disk wird jedes mal kurz vor dem Backup-Zeitpunkt manuell angeschaltet. Das Mounten erfolgt automatisch. Ist der Backup-Job fertig, wird die Disk automatisch unmounted. Ich bekomme eine Mail und schalte die Disk dann manuell wieder aus.
Jeden 2. oder 3. Tag tausche ich die Disk mit einer Disk aus dem Schrank. Ich habe also immer 2 Platten offline im Schrank liegen. (Ja, manchmal vergesse ich, die Disk einzuschalten. Das ist nicht schön aber tragbar, da sich nicht so viele Daten am Tag ändern.)

Geht so ein Weg auch mit TrueNAS? Ich habe schon hier und da rumgeschaut, aber bin nicht fündig geworden. Disks scheinen immer als Pool eingebunden zu werden. Und wenn der fehlt? Dann dürfte doch alles klemmen, oder?

Hat einer eine Idee?

Gruß und Dank
Trebong
 

bic

Contributor
Joined
Dec 7, 2021
Messages
184
... Disks scheinen immer als Pool eingebunden zu werden. Und wenn der fehlt? Dann dürfte doch alles klemmen, oder?
Da nun scheinbar von den "alten Hasen" keiner antworten will, versuche ich es als mal als "Neubekehrter" und nein, wenn man es richtig macht, klemmt da gar nichts.

Und ja, Platten werden immer als Pools (im Grunde genommen als VDEV mit beinhalter/en Platte/en im Pool) eingebunden, ZFS kann es nicht anders und das macht in Deinem Fall auch nichts.

Erzeuge einfach im GUI einen Pool mit einem VDEV mit einer Platte (geht mit "Force") und schon hast du deinen Backup-Pool. Mittels Replikation kannst du dann Deine zu sichernden Datensätze problemlos auf Dein Backup-Pool übertragen, wobei es sehr hilfreich ist, vorher im Backup-Pool leere Datensätze gleichen Namens anzulegen. Das Einrichten der Replikation (am besten je Datensatz, bzw. Zvol) ist dann nicht allzu schwierig, da Du auf der gleichen Maschine bleibst - klick Dich einfach durch (nimm benutzerdefinerte Snapshots) und nach dem Klick auf "Run once" sind alle zu sichernden Daten wie durch ein Wunder auf Deinem Backup-Pool :smile:.

Vorstehendes Vorgehen ist jedoch lediglich für eine einmalige Replikation sinnvoll, soll das Ganze automatisiert werden um jede Änderungen des/der ursprünglichen Datensatzes/sätze zu sichern, muss die Replikationsaufgabe etwas tiefer konfiguriert werden. Zuvor sind jedoch von den zu sichernden Daten automatische Snapshots (in sinnvollen Zeitabständen und mit sinnvoller Aufbewahrungsfrist - "Custom" benutzen) anzulegen und an Hand dieser wird/werden dann die Replikation/en gestartet.

Die Konfiguration erledigt man dann am besten mit der "erweiterten Replikationserstellung" und da ein Bild mehr sagt als tausend Wort, so sollten die Einstellungen. dann in etwa aussehen, wobei die gesetzten Häkchen wichtig sind:

repli.JPG


Damit dürfte Step1 Deines Vorhabens erledigt sein, Du hast dann automatisch immer den aktuellen Datenbestand auf Deinem Backup-Pool. Etwas lustiger wird es dann mit Deinem Vorhaben, die Backupplatten alle paar Tage auszutauschen (warum eigentlich?).

Um hier nun einmal zu probieren was geht oder auch nicht, habe ich ein bißschen mit einer VM herumgespielt (obiger Screenshot ist bereits von dieser) und um es gleich vorwegzunehmen, ein plötzliches Abstöpseln, Ausknipsen oder was auch immer Deiner Backupplatte nimmt Dir Truenas nicht übel. Es meldet zwar den "Verlust" des Pools und der Platte (und die Replikation läuft mit einem Error ins Leere), läuft aber an sonst stoisch weiter - soweit also nicht weiter schlimm :wink:.

Leider sieht es im umgekehrtem Fall, daher dem Wiederanstöpseln, völlig anders aus. Dieses ignoriert Truenas nämlich vollständig, selbst ein Import des Backup-Pools über das GUI scheitert - klar, Truenas weiß ja auch gar nicht, wohin denn vorher der Pool entschwunden ist und so wird dieser auch nicht wiedergefunden. Erst ein Neustart von Truenas lässt sodann den Backup-Pool wieder auftauchen und dieser wird eingebunden, als wäre nichts gewesen, sogar die Replikation nimmt ihre Arbeit wieder auf (lediglich etwaige Freigaben sind weg).

Lösen lässt sich dieses Problem jedoch mittels des dafür vorgesehenen Wegs, nämlich erst den Backup-Pools über die GUI, dann abstöpseln und nach dem späteren Wiederanstöpslen dann den Pool auch über die GUI importieren. Dies funktioniert einwandrei im laufendem Betrieb, wenn man von den auch dann verschwundenen Freigaben absieht (aber wer brauch die schon bei einem Backup-Pool?).

Nun wirst Du aber ja kaum immer erst im GUI herumfummel wollen, wenn Du Backupplatte abstöpseln willst. Hier hilft dann die Shell mit dem ZFS-Befehlen:

Code:
# zpool export <poolname>
und
Code:
# zpool import <poolname>


Siehe hierzu auch klick! und noch einmal klick! Das Ganze lässt sich dann im Truenas-GUI per Cron Jobs schnell nach Deinen (Zeit)Bedürfnissen einrichten und für zumindest ein und die selbe Backupplatte funktioniert es erst einmal einwandrei.

Um zu probieren, ob das Ganze auch im Wechsel mit verschiedenen Platten funktioniert, habe ich den Backup-Pool in Truenas exportiert, das Laufwerk in der VM ausgehängt und dafür eine andere Platte gleicher Größe mit der alten Schnittstelle eingehängt. Da nun Truenas damit erst einmal nichts anfangen konnte, war der bereits exportierten Backup-Pool in Truenas zu entfernen (und zu zerstören). Anschließend ist dann der Backup-Pool völlig identisch zum alten, zerstörten Poll mit der neuen Backupplatte neu einzurichten, so dass nun zwei Platten mit der gleichen Pool-Struktur existieren.

Diese beiden Platten lassen sich dann tatsächlich jeweils mittels "Export" und "Import" hin- und hertauschen, Truenas nimmt diese problemlos an und auch die Replikation läuft weiter, als wäre nichts geschehen.

Damit könnte nun auch Step 2 Deines Vorhabens als erledigt angesehen werden, wenn nicht leider, leider Problem mit den Freigaben auftauchen würden - die hin- und hergetauschten Platten (bzw. deren Datensätze) lassen sich nämlich nicht ohne weiteres freigeben. Allerdings bin ich sicher, dass es auch hierfür eine Lösung geben wird, da sind nun aber wirklich die alten Hasen gefragt, ich mag für heute nämlich nicht mehr.

Ich hoffe, Dir trotzdem eine wenig weiter geholfen zu haben, Gruß

bic
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Ich habe ein zweites TrueNAS und benutze einen Replication-Task, um die Daten dorthin zu synchronisieren. Auf meinem lokalen TrueNAS habe ich von allem stündliche Snapshots, die ich eine Woche aufhebe. Auf dem Ziel-System hebe ich einen Snapshot alle 24h für mehrere Wochen auf.

So ist das mit TrueNAS eigentlich gedacht. Wenn möglich, benutzt man die in ZFS zur Verfügung stehenden Mechanismen. Warum will man Platten rotieren, wenn man ZFS und Snapshots hat. Zusammen mit einer Off-Site-Kopie ist das doch prima.

Wenn Du nur ein System hast, dann baust Du eben einen Pool, den Du per SMB o.ä. freigibst, und machst Snapshots und Replikation auf einen zweiten Pool, der nicht per Share im Zugriff ist. Snapshots sind sowieso immer read-only. Auch dann: weshalb willst Du da Platten ausschalten? Platten gehen vom Aus- und Einschalten kaputt, nicht vom idle vor sich hin rotieren.

Gruß
Patrick
 

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
Da nun scheinbar von den "alten Hasen" keiner antworten will, versuche ich es als mal als "Neubekehrter" und nein, wenn man es richtig macht, klemmt da gar nichts.
...
Ich hoffe, Dir trotzdem eine wenig weiter geholfen zu haben, Gruß

bic
Wouw wouw wouw! :grin:
Das ist ja super! So viele Infos und Tipps! Ich muss das nochmal in Ruhe durchgehen. Aber ich sag jetzt schon mal einen ganz dollen, herzlichen Dank! :smile:
 

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
(...) Auch dann: weshalb willst Du da Platten ausschalten? Platten gehen vom Aus- und Einschalten kaputt, nicht vom idle vor sich hin rotieren.

Gruß
Patrick
Auch Dir einen herzlichen Dank für Deine Anregungen :smile:
Warum ich Platten ausschalten möchte? Bin gebranntes Kind :wink: Technik am Strom kann auch durch äußere Einflüsse zerstört werden.
Mir ist daher wohler, wenn ich eine Platte im Schrank liegen habe. Die Off-Site Version wäre natürlich komfortabler. Da gebe ich Dir recht. Hab ich aber leider nicht die Möglichkeit dazu.
 

bic

Contributor
Joined
Dec 7, 2021
Messages
184
Die Off-Site Version wäre natürlich komfortabler .... Hab ich aber leider nicht die Möglichkeit dazu.
Naja, das kommt darauf an, was man unter "Off-Site" versteht, eine Deiner Platten an einer anderen Örtlichkeit, z.B. bei Freunden, Verwandten oder auch im Post-/Bankschließfach zu deponieren, ist auch ja "Off-Site" :smile:

Bei mir ist "Off-Site" der Haustechnikraum bei mir zu Hause, da wandern die Daten immer von allein hin, allerdings nicht ab dem/den NAS(en), sondern als automatische Backupkopie. Das ist dann wirklich komfortabel, bedarf allerdings auch einiges an Voraussetzungen, würde dann aber auch bei Freunden und Verwandten gehen - im Post-/Bankschließfach aber eher schlecht :grin:
 

ChrisRJ

Wizard
Joined
Oct 23, 2020
Messages
1,919
Die Off-Site Version wäre natürlich komfortabler. Da gebe ich Dir recht. Hab ich aber leider nicht die Möglichkeit dazu.
Das kann auch ein Cloud-Provider sein. Ich nutze (mit Verschluesselung, auch der Namen) hierfuer OneDrive. Im Angebot bei Amazon kostet mich das ueber Office 365 Family fuer 6*1 TB unter 60 Euro pro Jahr. Der initiale Upload hat zwar Wochen gedauert, aber jetzt laeuft es einfach im Hintergrund.
 

bic

Contributor
Joined
Dec 7, 2021
Messages
184
..... Der initiale Upload hat zwar Wochen gedauert .....
Wochen? Ich wusste schon, warum ich eine Cloudlösung von vornherein ausgeschlossen hatte, da würden sich bei mir die Vollbackups ja überschneiden und die Sache nie ein Ende finden :smile: Und was macht man, wenn man den ganzen Kram mal vollständige zurück haben will, auch Wochen warten?

Noch schlimmer - was ist falls Amazon auf die idee kommt, das Produkt "Office 365 Family" nicht mehr anzubieten? So ganz abwegig ist das ja nicht, mit einem Provider ist mir so etwas schon einmal passiert - lustig war das jedenfalls nicht.
 

ChrisRJ

Wizard
Joined
Oct 23, 2020
Messages
1,919
Der Upstream ist halt deutlich langsamer als der Downstream. Insofern waere der Download schon erheblich schneller.

Fuer mich faellt das in die Kategorie, "besser der Spatz in der Hand als die Taube auf dem Dach". Was ist denn die Alternative, wenn ein Einbruchdiebstahl bzw. Abbrennen des Hauses das Szenario sind? Da muessen die Daten zwingend ausser Haus sein. Und eine Festplatte im Bankschliessfach wird eher selten woechentlich ausgetauscht.

Was das Cloud-Angebot angeht, wird Microsoft das nicht von heute auf morgen einstellen, dafuer ist es strategisch momentan viel zu wichtig fuer die.
 

bic

Contributor
Joined
Dec 7, 2021
Messages
184
Der Upstream ist halt deutlich langsamer als der Downstream. Insofern waere der Download schon erheblich schneller.

Fuer mich faellt das in die Kategorie, "besser der Spatz in der Hand als die Taube auf dem Dach". Was ist denn die Alternative, wenn ein Einbruchdiebstahl bzw. Abbrennen des Hauses das Szenario sind? Da muessen die Daten zwingend ausser Haus sein. Und eine Festplatte im Bankschliessfach wird eher selten woechentlich ausgetauscht.

Was das Cloud-Angebot angeht, wird Microsoft das nicht von heute auf morgen einstellen, dafuer ist es strategisch momentan viel zu wichtig fuer die.
Nun, Einbrecher nehmen heutzutage keine EDV-Kram mehr mit, die stehen auf barem und rarem (diese Weisheit ist getützt auf eigenen Erfahrungen :smile:) und wenn einem das Haus abbrennt, hat man ganz andere Probleme, als eine verlustig gegangene Datensammlung - zumindest im privaten Bereich.

Trotzdem hast Du Recht, außer Haus sollte so etwas schon als Kopie, aber ob es da nun die Consumer-Ausführung einer ausländichen Wolke sein muss? Da hat man dann doch null Rechte an seinem eigenen Kram (was nützt Dir da eine Verschlüsselung?) und diesem Umstand auch noch durch das Abhaken der seitenlangen (und hierzulande unszulässigen) AGB`s zugestimmt :frown:.

Ok, ok, es liegt mir fern, jemanden etwas vorzuschreiben und nicht jeder hat das Glück, dank Glasfaseranschlüssen zwischen zwei Standorten per VPN quasi eine "Standleitung" aufzubauen, aber ich halte es dann für besser, bei einem seriösem, dem deutschen Recht unterworfenen I.net-Provider einen Account zu mieten, da versteht man die AGB´s, hat zumindest einen Mindesteinfluß auf seine eigenen Daten und teurer kommt das dann auch nicht (und wer es braucht - Office 365 ist da auch zu haben)

Und achso - auch Rechenzentren von Claudanbietern können lustig brennen: klick!
 

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
Ja, gegen Feuer und Co kann man sich mit einer Platte im Schrank nicht schützen. Eine Kopie in der Cloud wäre dann die nächste Ausbaustufe. Aber das mache ich dann vielleicht lieber in Eigen-Regie. Macht mehr Spaß :wink:

Ansonsten habe ich mich etwas in zpool und zfs eingelesen. Dann ein Shell-Script gebaut und mit Cron gekoppelt. Jetzt kann ich auf einer externen Platte einen Pool erzeugen und wenn ich die anschließe, kann das Script diese automatisch als Backup-Pool erkennen und importieren. Dann werden in den einzelnen Datasets, die zu sichern sind, neue Snapshots angelegt und das ganze dann per Replik auf den Backup-Pool kopiert. Wenn fertig, wird der Pool wieder exportiert. Dann kann ich die Platte abziehen. Jetzt fehlt nur noch die Mail-Funktion, die mir ein FERTIG schickt. Mal sehen, ob das noch eine Frickelei wird oder recht einfach geht. Die Shell scheint schon mal mailx zu kennen. Das sieht auf den ersten Blick ganz gut aus :)

Was mir jetzt noch nicht so ganz klar ist, wie das mit den automatishen Snapshots funktioniert, wenn die eine "Haltbarkeit" haben und dann über die Replik auf den Backup-Pool landen. Lösen die sich dann auch dort nach X Wochen auf? Oder bleiben die trotzdem erhalten? Letztendlich stecken die ja glaub ich auch in meinen von meinem Script manuell erstellten Snapshots ... Na mal sehen. Es bleibt spannend :)
 

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
Jetzt fehlt nur noch die Mail-Funktion, die mir ein FERTIG schickt. Mal sehen, ob das noch eine Frickelei wird oder recht einfach geht. Die Shell scheint schon mal mailx zu kennen. Das sieht auf den ersten Blick ganz gut aus :)
Jep, ist nicht schwer :smile:
Wichtig ist wohl, dass man auf der Oberfläche von TrueNAS die E-Maileinstellungen mit SMTP, AUTH & Co vorgenommen hat. (Versteckt oben rechts hinter der Alarm-Glocke und dem Zahnrad :wink: ) Dann kann man auch ohne SMTP_AUTH von der Console aus eine Mail per
Code:
echo "BODY" | mail -s "SUBJECT" someone@internet.dings

senden.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Wenn Du manuell einen Crontab-Eintrag angelegt hast, dann geht der bei einen Reboot wieder verloren. Mach das also auf jeden Fall über das UI unter "Tasks". Außerdem: weshalb benutzt Du nicht die Replication Tasks sondern schreibst ein eigenes Script?
 

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
Wenn Du manuell einen Crontab-Eintrag angelegt hast, dann geht der bei einen Reboot wieder verloren. Mach das also auf jeden Fall über das UI unter "Tasks".
Ah, guut zu wissen! Danke Dir :smile:

weshalb benutzt Du nicht die Replication Tasks sondern schreibst ein eigenes Script?
Ja, ich hatte auch kurz daran gedacht. Aber ich möchte die Backup-Disk "einlegen" und dann soll die Replikation in etwa den nächsten z.B. 5 Minuten automatisch anspringen. Bei einem Replication-Task müsste die Disk zu einer vorgegebenen Uhrzeit im Slot stecken. Und wenn ich mal Verspätung habe, gibt es kein Backup.
Und dann soll mir die Disk (der Pool) auch automatisch exportiert werden, wenn die Replik fertig ist. Ich hab die Mail und dann kann ich einfach die Disk rausholen - und muss mich nicht noch extra im TrueNAS anmelden.
Daher der Gedanke an das Script. Aber vielleicht gibt es ja noch ein paar versteckte Features im TrueNAS, die ich noch nicht entdeckt habe, so dass sich das Script dann doch erübrigt?
 

bic

Contributor
Joined
Dec 7, 2021
Messages
184
Was mir jetzt noch nicht so ganz klar ist, wie das mit den automatishen Snapshots funktioniert, wenn die eine "Haltbarkeit" haben und dann über die Replik auf den Backup-Pool landen. Lösen die sich dann auch dort nach X Wochen auf? Oder bleiben die trotzdem erhalten?
Das lässt sich beim Erstellen (und ändern) des Replikationstasks einstellen --> entweder auf "das Gleiche wie Quelle", "benutzerdefiniert" oder "keiner".
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Es gilt. Für alles. Die Konfiguration des gesamten Systems wird beim Boot dynamisch aus einer Datenbank erzeugt.

Gilt natürlich nicht für Dateien, die Du anlegst, etc. Oder ZFS Datasets. Du legst also Dein Script nach /mnt/POOL/scripts (z.B.) und legst dann den Cronjob im UI an.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Aber bei einem Update ...

Alles, was Du anlegen willst, leg in Deinen Daten-Pool. Der boot-pool ist tabu.
 

trebong

Dabbler
Joined
Jan 9, 2022
Messages
25
Das lässt sich beim Erstellen (und ändern) des Replikationstasks einstellen --> entweder auf "das Gleiche wie Quelle", "benutzerdefiniert" oder "keiner".
Ja, das hatte ich auch schon entdeckt. Nur: lebt diese "Zeitbombe" auch in meinem eigene Snapshot weiter? Denn, wenn ich das recht verstehe, dann sind doch die automatischen Snapshots auch in meinen von dem Script manuell erstellten Snapshots enthalten, oder?
 
Top