Jump to content

Selfhosted cloud mit individuellen Snapshots für jeden User sowie Subfolder


chrismuc

Recommended Posts

Hallo zusammen,

 

ich möchte mit Unraid meine erste eigene Private Cloud bauen. Jedes Familenmitglied soll als eigener User angelegt werden, jeder User soll eigene Subfolder haben, und jeder einzelne all dieser Subfolder verschiedener User soll durch Snapshots zurückzusetzen zu sein.

Das heißt, wenn ein User in einem Ordner Mist baut, dann soll nur der übergeordnete Subfolder per Snapshot zurückgesetzt werden, nicht alle Daten aller user.

Die verwendete Cloud App soll virtuelle Ordner/Files beherrschen bzw. einen Drive Client haben (heißt: alle Ordner/Dateien in der Cloud sollen lokal angezeigt werden, ohne heruntergeladen worden zu sein, und nur bei Bedarf heruntergeladen werden).

 

Wie würdet ihr das machen?

 

Ich habe eine TrueNAS-VM à la SpaceinvaderOne eingerichtet sowie NFS shares von ZFS datasets.

Seafile ist als Docker container installiert. Habe mich für Seafile entschieden, weil es die besagte Drive Client Funktion hat sowie scheinbar weniger Sync-Fehler macht als andere Cloud Apps.

Nun kann ich aber Seafile nicht sagen, dass es auf einer bestehenden Ordnerstruktur (aus meinen ZFS datasets) aufsetzen soll. Stattdessen scheinen alle Daten scheinbar immer im seafile_data Ordner zu wohnen; egal, ob ich den docker container im appdata folder installiere oder in dem via NFS gesharten ZFS dataset.

 

Sollte ich den Seafile einfach im appdata share installieren, und dann meine ZFS datasets via symlink mit dem seafile_data Ordner verlinken? Die Daten würden dann weiterhin auf dem (gemirrorten) ZFS Pool wohnen, richtig?

 

Danke für Hilfestellungen - bin neu in Unraid, baue hier meine erste Private Cloud und möchte gerne eine Variante bauen, von der ein erfahrenerer User nicht hinterher sagen würde "wie konntest du nur - selber schuld, wenn deine Daten jetzt weg sind!"

Link to comment

Installiere das User Scripts Plugin und lasse das Kommando so oft ausführen wie du magst:

 

timestamp=$(date +'%Y%m%dT%H%M%S')
mkdir -p "/mnt/disk1/Backups/sharename/$timestamp"
cp --reflink=always "/mnt/disk1/sharename" "/mnt/disk1/Backups/sharename/$timestamp"

 

Reflinks sind dateibasierte Snapshots.

 

Funktioniert nur, wenn der Share dauerhaft auf einer bestimmten Disk oder einem Pool liegt (Cache No oder Only), da der Mover keine Reflinks versteht und die Dateien vollständig kopieren würde.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...