Disk Shares aktivieren und erstellen


akazu
Go to solution Solved by hawihoney,

Recommended Posts

Hallo Community

 

Ich möchte auf einer Disk im Array ein Disk Share erstellen und auf diesem Share soll eine Sub Share liegen z. B.

Disk Share = Public

Disk Share = Public\Scans -> Hier sollen eingescannte Dokumente landen

 

Ich finde jedoch keine Möglichkei Disk Shares zu aktivieren. Wo stelle ich das ein?

 

Und wie würde ich nun User Shares damit in Verbindung bringen, also z. B. erst die Scans auf eine Pool Disk schreiben und dann per Mover in den Ordner Scans auf der Array Disk?

 

Das mit den Scans ist nur ein Beispiel, könnten auch Musik, Videos etc. sein.

 

Ist das überhaupt das korrekte vorgehen?

 

Link to comment

Du musst unter "Einstellungen > Globale Freigabeeinstellungen" den ersten Eintrag "Freigaben aktivieren:" von "Auto" auf "Ja" umstellen.

ABER: Hast du das gelesen In deinem Link Disk Share?

IMPORTANT
If you have both Disk Shares and User Shares enabled then there is an important restriction 
that you must observe if you want to avoid potential data loss. What you must NEVER do is 
copy between a User Share and a Disk Share in the same copy operation where the folder name 
on the Disk Share corresponds to the User Share name. This is because at the base system level 
Linux does not understand User Shares and therefore that a file on a Disk Share and a User 
Share can be different views of the same file. If you mix the share types in the same copy 
command you can end up trying to copy the file to itself which results in the file being 
truncated to zero length and its content thus being lost.

There is no problem if the copy is between shares of the same type, or copying to/from a disk 
mounted as an Unassigned Device..

 

Und warum willst du das überhaupt machen?

Ich würde das nur mit einer Platte im Array machen, die von allen User shares ausgenommen ist, da kann es aus Sinn ergeben die ganze Platte freizugeben.

  • Thanks 1
Link to comment
8 hours ago, vakilando said:

Und warum willst du das überhaupt machen?

Vielen Dank für deine Antwort, das war mir so nicht bewusst.

 

Schau, ich habe auf meiner defekten Synology die Shares  "Home (eigenes Benutzerverzeichnis), Public, Musik und Video" gehabt und unter Windows per SMB eingebunden. Dies möchte ich nun auf UnRaid weiterleben. Deshalb dachte ich die Disk freizugeben und dann alle Daten drauf zu kopieren und dann auf die genannten Ordner im Array wieder Freigaben zu erstellen sei ein praktikabler weg. Bin mir jetzt unsicher.

 

Verstehe ich es dann richtig, das der korrekte Weg ist unter User Shares die Shares Home, Public, Musik und Video zu erstellen und sie bei Export so zu definieren, das sie nur auf die Disk im Array schreiben. Dann meine Daten in die entsprechenden Shares kopieren. Dann könnte ich aber den Pool Cache und den Geschwindigkeitsvorteil nicht nutzen, oder?

 

Was wäre der beste Weg mein Vorhaben ohne Datenverlust umzusetzen?

 

 

Edited by akazu
Link to comment
1 hour ago, akazu said:

Schau, ich habe auf meiner defekten Synology die Shares  "Home (eigenes Benutzerverzeichnis), Public, Musik und Video" gehabt und unter Windows per SMB eingebunden.

Also beispielsweise sowas:

  \Home-Aliana
  \Home-Alfred
  \Home-Zaratustra
  \Public
  \Musik
  \Video

1 hour ago, akazu said:

Dies möchte ich nun auf UnRaid weiterleben.

Ich erkenne Dein Problem noch nicht so ganz.

Lege einfach jeweils ein Share (unraid/shares/add share) an.
Stelle die jeweilig neu angelegten Shares so ein, daß sie auf den gewünschten Disks des Array liegen und gibt sie frei (Export: Yes).
Wenn Du den Zugriff beschränken willst, kannst Du "Security: private" einstellen und darunter angeben, welcher Benutzer (User) auf das jeweilige Share lesen/schreiben kann.

 

Dann wartest Du 1 oder 2 Minuten. weil Windows ab und zu nicht so schnell ist neue Netzwerkgegebenheiten zu erkennen

und in Folge suchst Du von Windows aus (beispielsweise mit dem DateiExplorer >Netzwerke) den unraidserver und darauf die jeweiligen Shares und bindest sie per SMB als Netzlaufwerk ein.

Das ist doch die übliche Vorgehensweise bei einem NAS.

 

1 hour ago, akazu said:

Deshalb dachte ich die Disk freizugeben und dann alle Daten drauf zu kopieren

Disk Shares haben zwar Performancevorteile, aber wenn man Disk Shares und User Shares mischt kann man schnell Daten zerlegen. Warum keine User Shares, so wie es vorgesehen ist? Wenn Du das jeweilige Share auf nur eine disk beschränken willst, kannst Du das in den User Shares doch so einstellen (included disk(s):  disk3).

 

1 hour ago, akazu said:

Verstehe ich es dann richtig, das der korrekte Weg ist unter User Shares die Shares Home, Public, Musik und Video zu erstellen und sie bei Export so zu definieren, das sie nur auf die Disk im Array schreiben.

Das kann man machen, wenn man sicher ist, daß die dort zu lagernden Daten nie die Größe der Disk überschreiten (und einen kleinen Sicherhieitsrest frei lassen).

Wenn Du die Sache etwas beschleunigen willst, wäre vielleicht noch zu bedenken für das jeweilige Share auch eine SSD in einem Pool davon zu schalten (Cache).

 

1 hour ago, akazu said:

Dann meine Daten in die entsprechenden Shares kopieren. Dann könnte ich aber den Pool Cache und den Geschwindigkeitsvorteil nicht nutzen, oder?

Die Nutzung von POols als Cache ist in den User Shares doch einstellbar (siehe Screenshot unten, da ahbe ich meinen Pool "Cachesam" vorgeschaltet).

Cachesam ist ein Pool (Raid0) aus 3 Stück 2TB NVMe Samsung SSD.

 

1 hour ago, akazu said:

Was wäre der beste Weg mein Vorhaben ohne Datenverlust umzusetzen?

Ohne Datenverlust bedeutet eigentlich (fast) immer: Backup anfertigen und seperat lagern, denn es kann immer etwas schief gehen!

Alles andere kann im schlimmsten Falle immer Dateien verlieren (Programmfehler, Speicherfehler, Datenträgerfehler, Firmwarefehler, Stromausfall, Wasserschaden. Blitzeinschlag, ..... Lokation in der Ukraine sind aktuell auch recht Bomben- und Raketen gefährdet).

 

Um zu prüfen ob etwas korrekt transferiert wurde, gibt es mehrere Wege:

a) Quelldaten nie verschieben, sondern zum Ziel kopieren. Wenn alles angekommen ist (einige Zeit warten/Mover anwerfen, ander Sachen kopieren, so daß die Daten nicht mehr im RAM/SSD-Cache liegen), dann Quelldaten binär mit Zieldaten vergleichen. Wenn beide identisch sind, kannst Du davon ausgehen, daß die Daten korrekt auf dem Ziel angekommen sind und kannst dann (falls gewünscht) die Quelldaten löschen.

 

b) eine Art Checksumme der Quelldaten auf der Quelle anzufertigen (schnell aber eher unsicher CRC32 *.sfv, besser MD5 *.md5, noch sicherer eine der höheren sha Varianten). Nutzdaten und Checksummen von Quelle auf Ziel zu kopieren (nicht verschieben), dann den Cache leeren und daraufhin am Ziel die Zieldaten mit der Checksumem zu vergleichen. Erst, wenn das alles korrekt abgelaufen ist, kann man (bei Bedarf) die Quelldaten löschen.

 

Beides ist (zeit)aufwändig, aber nur so kannst Du fehlerhafte Dateien finden und ggf. von Quelle dann noch einmal kopieren, bevor Du die Quelle frei machst/loeschst.

Ich persönlich nutze beide Verfhren. ich lege für Daten, die mir wichtig sind und sich nicht oft ändern Checksummen an und wenn ich wichtieg Daten verschieben will, kopiere ich sie erst und vergleiche sie binär (Quelle und Ziel).

 

UserShare-Data2022-12-31 09_30_47-102 Tessa Main (TESSA-MAIN1064) – VNC Viewer.png

Edited by DataCollector
Hatte vergessen Screenshot beizulegen
  • Thanks 1
Link to comment
  • Solution
56 minutes ago, akazu said:

Was wäre der beste Weg mein Vorhaben ohne Datenverlust umzusetzen?

 

Ehrlich gesagt verstehe ich Dein Problem nicht.

 

Richte einfach die liebgewonnenen User-Shares ein (zuvor in den Einstellungen aktivieren), definiere auf welchen Disks sie liegen sollen (oder auch nicht), definiere ob ein Cache Pool vorgeschaltet werden soll (oder auch nicht), installiere das Plugin "Unassigned Devices" und richte dort den Zugriff auf Deine externe Quelle (Synology) ein, installiere das Plugin "Dynamix File Manager". Beginne mit dem Kopieren (nicht Verschieben) von der externen Quelle in die User-Shares. Fertig.

 

Alles, wirklich alles, lässt sich auch nachträglich wieder ändern. Nachträgliche Änderungen sind dann meist manuell, aber auch keine Raketenwissenschaft. Man muss nur ein wenig lesen können ... Und für die Freunde der bewegten Bilder wird es dann auch Interpretationen durch ein Heer von Youtubern, etc. geben. Die müssen nicht immer stimmen, aber dann landest Du ohnehin hier und dann kann hier immer jemand helfen.

 

Edited by hawihoney
  • Like 1
Link to comment
11 hours ago, DataCollector said:

Also beispielsweise sowas:

Erst ein mal vielen Dank für deine ausführliche Antwort. 

 

Ja, genau so meine ich es.

 

11 hours ago, DataCollector said:

Ich erkenne Dein Problem noch nicht so ganz.

Zugegeben geht mir UnRAID noch nicht so leicht von der Hand. Aber das kommt noch, ich sehe das Potenzial.

 

Ich habe es jetzt so gemacht 

 

UnRAID/Shares/Add Share -> Ein Share "Public" angelegt mit Cache Pool "Yes"; Included Disk "Disk 1"; Export "Yes" und Security "Private".

 

Das Share kann ich in Windows einbinden und Daten lesen und schreiben, ich muss mich nur jedes mal anmelden. Wie kann ich das Laufwerk einbinden ohne jedes mal meine Anmeldedaten eingeben zu müssen? Regelst du das über die Anmeldeinformationsverwaltung oder per z. B. einem net use Skript?

 

Zum testen habe ich mal eine 3.5 GB grosses Iso File auf dem Netzlaufwerk abgelegt. Mit meinen Einstellungen sehe ich die Daten in UnRAID unter den User Shares (/mnt/user/public). Wenn ich nun den Mover manuell ausführe, werden die Daten auf die Disk 1 im Array geschrieben (/mnt/disk1/public). Das bedeutet Windows ist es eigentlich egal wo UnRaid die Daten gerade hat, es zeigt sie mir so oder so an. ist das so korrekt?

 

 

Gibt es den einen Fortschrittsprozess des Kopiervorgangs oder eine Logdatei wo man sehen kann ob der Kopiervorgang abgeschlossen ist?

 

Wenn ich jetzt alles richtig zusammen habe, ist das "UnRAID/Shares/Add Share -> Ein Share "Public" angelegt mit Cache Pool "Yes"; Included Disk "Disk 1"; Export "Yes" und Security "Private"." der gängige Weg, ich kann hierbei entscheiden ob die Daten erst in den Cache Pool gehen und dann vom Mover auf die Disk 1 im Array verschoben werden oder ob ich den Cache Pool einfach weg lasse und die Daten direkt auf die Disk 1 im Array geschrieben werden. Ist das so korrekt?

 

Nochmals vielen Dank für deine Hilfe

 

 

Link to comment
12 minutes ago, akazu said:

Das bedeutet Windows ist es eigentlich egal wo UnRaid die Daten gerade hat, es zeigt sie mir so oder so an. ist das so korrekt?

 

Ja. Das macht den Charme u.a. der cache-gestützten User Shares aus. Du greifst immer auf den User-Share zu und unter der Haube legst Du deren Umfang, Location, etc. fest.

 

  • Thanks 1
Link to comment
12 minutes ago, akazu said:

UnRAID/Shares/Add Share -> Ein Share "Public" angelegt mit Cache Pool "Yes"; Included Disk "Disk 1"; Export "Yes" und Security "Private".

Das Share kann ich in Windows einbinden und Daten lesen und schreiben, ich muss mich nur jedes mal anmelden. Wie kann ich das Laufwerk einbinden ohne jedes mal meine Anmeldedaten eingeben zu müssen?

Ich gehe mal von WIndows 10 oder 11 aus: wenn Du die Anmeldedaten in Windows eintippst hast Du unterhalb er beiden Zeilen in der Regel ein kleines Feld zum ankreuzen, damit er sich für diesen Server die Anmeldedaten merkt.

 

12 minutes ago, akazu said:

Regelst du das über die Anmeldeinformationsverwaltung oder per z. B. einem net use Skript?

Wenn ich will, dass der User permanenten Zugriff bekommt nehme ich eben das Kreuzchen im Dialog.

Wenn ich will, daß es nur temporärer eines Batch oder so Zugriff ist, nutze ich net use in dem Batch.

 

12 minutes ago, akazu said:

Zum testen habe ich mal eine 3.5 GB grosses Iso File auf dem Netzlaufwerk abgelegt. Mit meinen Einstellungen sehe ich die Daten in UnRAID unter den User Shares (/mnt/user/public). Wenn ich nun den Mover manuell ausführe, werden die Daten auf die Disk 1 im Array geschrieben (/mnt/disk1/public). Das bedeutet Windows ist es eigentlich egal wo UnRaid die Daten gerade hat, es zeigt sie mir so oder so an. ist das so korrekt?

ja. Unraid nimmt alle Datenträger, die im Share erlaubt sind (und noch mehr) und schaut da überall nach.

Du kannst also auf disk1/bananensorten/     Datei01.txt bis Datei10.txt drin haben und in disk5/bananensorten/   Datei 11.txt bis Datein22.txt,

Wenn Windows bei urnaid anklopft, schaut unraid auf (fast) allen Datenträgern nach ob ein ordner /Bananensorten/ vorhanden ist und listet windows dann alle Dateien darin auf Datei01.tst bis Datei22.txt  als wären die wirklich alle zusammen in einem Ordner. Egal übe wieviele Disks der Ordner wirklich verstreiut ist.

Vorteil: somit kann ein ordner weitaus mehr Dateien enthalten, als auf einen Datenträger passt.

Nachteil: urnaid muß eigentlich bei Anfragen (fast immer) alle Datenträger aufwecken und durchsuchen. Ich habe in meinem groessten System 24 Festplattzen drin, die je 10-20 Sekunden brauchen zum Aufwachen. Wenn ich also nicht weiß wo eien datei ist und die Suche, kann schonmal eien Warte zeit von 24+20Sekunden = 8 Minuten entstehen. Aber dafür gibt es auch (Umgehungs)Lösungen.

 

12 minutes ago, akazu said:

Gibt es den einen Fortschrittsprozess des Kopiervorgangs oder eine Logdatei wo man sehen kann ob der Kopiervorgang abgeschlossen ist?

Wen der Mover fertig ist wird der Button im Main Tab wieder orange udn nicht grau. Fortschrittsbalken. nein, wüßte ich nicht.

12 minutes ago, akazu said:

Wenn ich jetzt alles richtig zusammen habe, ist das "UnRAID/Shares/Add Share -> Ein Share "Public" angelegt mit Cache Pool "Yes"; Included Disk "Disk 1"; Export "Yes" und Security "Private"." der gängige Weg, ich kann hierbei entscheiden ob die Daten erst in den Cache Pool gehen und dann vom Mover auf die Disk 1 im Array verschoben werden oder ob ich den Cache Pool einfach weg lasse und die Daten direkt auf die Disk 1 im Array geschrieben werden. Ist das so korrekt?

Ja. Wenn Du einen Cache dort zuordnest und auf "Yes" stellst, wird erst in den Cache geschrieben und wenn der Vollist oder es Zeit für den Mover wird, geht es auf das Array. Wenn Du auf "Prefer" stellst, wird bevorzugt auf dem Cache geschrieben und auch dort belassen, bis der Cache zu voll wird. Erst dann wird auf das Array verschoben. Wen DU auf "only" stellst, wird nur der Cache benutzt und nie auf das Array verschoben (nicht zu empfehlen!).

Und wenn Du auf "no" stellst wird der Cache übersprungen und immer direkt ins Array geschrieben (wennd as Array aus Festplatten besteht ist das mit Parität recht langsam).

  • Thanks 1
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.