4 Festplatten "virtuell zusammen ziehen" resp. Medienbibliothek aufbauen

FireFoxx2oo3

Neuling
Thread Starter
Mitglied seit
20.03.2007
Beiträge
68
Hallo zusammen,

ich steh grade etwas auf dem Schlauch.

Ich habe bei mir im Server 4 HDDs zum Daten ablegen. Auf Raid wurde zu gunsten von Speicher und externer Auslesbarkeit verzichtet.
Die Platten haben alle den gleichen Ordneraufbau und halten primär Musik und Filmbackups.
Zugegriffen wird u.a. über ein XBMC und diverse andere Dienste.

Ich hätte nun gerne einen Ordner, in dem sich "virtuell" alle Dateien der 4 Platten befinden und ich LESEND drauf zugreifen kann.
Konkret: Film 1 liegt auf HDD1, Film 2 auf HDD2 und Film 3 auf HDD3, aber auf der Systemplatte soll sich ein Ordner "Filme" befinden, in dem alle 3 verlinkt sind, den ich aber bspw. im XBMC als Quelle anlegen kann. Gleiches soll dann natürlich auch für Musik gelten.

Alternativ wäre auch ein "Bibliothekssystem" möglich, wie das von W7, im Grunde wäre das die Lösung des Problems.

Das Konzept mag im ersten Moment seltsam sein, da ich auch alle 4 Platten als Quellen anlegen könnte. Da aber (wie schon erwähnt) mehrere Dienste drauf zu greifen, müsste ich beim Erweitern immer alle dienste nachziehen. So wäre das ganze mit dem einbinden der (dann 5.) Platte getan.

Distr. ist Ubuntu 12.04 x64 LTS ohne Desktop, dh. die Lösung (sofern sich eine findet) muss terminalfähig sein :)

Vielen Dank schonmal für die Ideen und viele Grüße
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hiho,


mounte doch zunächst erstmal alle Platten unter /media/, damit du folgende Struktur erhälst:

/media/sdb
/media/sdc
/media/sdd

damit hast du ja dann z.B. folgende Ordner Struktur:
/media/sdb/Filme
/media/sdc/Serien
/media/sdc/Musik
/media/sdd/Filme
/media/sdd/Serien
/media/sdd/Musik


Du kannst dann z.B: alle Film Ordner unter /media/Filme linken

ln -s /media/sdb/Filme /media/Filme/sdb/
ln -s /media/sdc/Filme /media/Filme/sdc/
ln -s /media/sdd/Filme /media/Filme/sdd/


Eine Möglichkeit wirklich alle Filme etc in einem Ordner zu haben, gibt es meines Wissens nach nicht. Das einzige was du machen könntest, wäre die ein Script zu schreiben, welches alle Film Ordner durchgeht und für jeden Film einen Symlink erstellt.
z.B was ala:
Code:
for i in `find /media/sd*/ -mindepth 1 -maxdepth 1`; do
ln -s $i /media/Filme/$i;
done:

kA ob das so tut :) habs jetzt nicht getestet. Problem hier hier allerdings, dass du keine Namen doppelt verwendet haben darfst! Ggf. müsste man das Script um solch Fälle noch erweitern
 
Code:
BASEDIR=/snapraid
POOLDIR=${BASEDIR}/pool

for disk in ${BASEDIR}/disk*; do
    mtree -cdn -p ${disk} \ 
    | mtree -U -p ${POOLDIR} >/dev/null 2>&1
    ( cd ${disk} && find -X . -type f -or -type l ) \
    | sed 's#^\./##' \
    | while read file; do
        ln -s "${disk}/${file}" "${POOLDIR}/${file}"
    done
done

Das ist mein Gefrickel, um aus allen SnapRAID-Disks ein Verzeichnis zu erstellen, in das alle Dateien verlinkt sind. Die mtree | mtree Pipe dupliziert die Ordnerstruktur, ohne vorhandene Ordner anzupacken. mtree ist glaub ich auf Linux-Systemen nicht so geläufig. Doppelte Dateien führen einfach zu einem Fehler bei ln -s. Die erste Datei hat quasi Vorrang, lässt sich durch ln -sf aber auch auf die letzte Datei umstellen.

Für einen quasi-readonly Pool für mich völlig ausreichend.
 
Die Lösung mit symbolischen Links sollte ausreichen, muss aber aktuell gehalten werden, falls Daten hinzukommen sollten (aktualisierung der Links beim mounten?)

Ansonsten gibt es so etwas wie UnionFS ( UnionFS ) bzw. aufs
 
Hallo zusammen,

vielen Dank für die Hinweise, vorallem das mit den symLinks ist ziemlich genau so, wie ich mir das vorstelle (auch wenn ichs momentan noch nicht ausprobiert habe).
Werde die nächsten Tage mal die Scripts von Seratio und TCM ausprobieren und ggf. einen Cron dazu anlegen, um die HDD Strukturen alle X-Stunden mit den Ordnern abzugleichen.

Die Variante mit dem UnionFS klingt auch ganz vielversprechend, allerdings muss ich mich auch da erstmal einlesen, evtl. ist das sogar noch die einfachere Variante, wenn das System sauber läuft (über genaueres schweigt sich der Wiki Artikel ja aus ;) )

Danke euch auf jeden Fall, denke das bringt mich weiter.
 
Nicht der Top-Maximaldurchsatz, aber überall verfügbar: MHDDFS.

Code:
mhddfs -o allow_other  /media/sdb /media/sdc /media/sdd /media/Filme

Und schwups hast du alles in /media/Filme.

Grüße
 
Benutze einen Media-Server wie Twonky und benutze DLNA um per XMBC Filmchen abzuspielen.
Alle Ordner die gleich benannt sind, erscheinen als einer.

Also //Filme1/HDTV
Und //Filme2/HDTV

Erscheinen als Ordner HDTV für jeden Client der auf den Server zugreift.
Ganz ohne Gefrickel.
 
Ja, eine fette Extra-Schicht anstatt simplen Filesystem-Zugriffs ist kein Gefrickel.
 
Es gibt Leute die hacken gerne in der Shell, es gibt Leute die klicken gerne in der Gui. Ich finde Gui-Klicken (Bzw. im Browser bei Twonky) einfacher. Oder nicht?
Besonders wenn man dann noch versteht was man klickt, anstatt einfach ein Shellscript zu übernehmen von dem man gerade 3 Brocken versteht.
Und wieso eine Extra-Schicht?
Das ist Entweder/Oder.
Also ob der Client jetzt über eine Freigabe per Samba oder ähnlichem Zugreift oder DNLA ... da ist doch nix "zusätzlich". Es ist nur ein anderer Weg.
 
Zuletzt bearbeitet:
Ich finde Gui-Klicken (Bzw. im Browser bei Twonky) einfacher. Oder nicht?

Was du findest, findest du, da können wir dir kaum wiedersprechen. Ich finde wie TCM, dass eine so umfangreiche Abstraktion mit Java alles instabiler werden lässt.

Der TE sollte sich mal TCMs Skript oder MHDDFS und dazu Samba oder NFS ansehen. Das ist einfacher im Betrieb als Twonky.

Es gibt Leute die hacken gerne in der Shell, es gibt Leute die klicken gerne in der Gui.
Und dann gibt es die Leute, die weder gern in einer Shell hacken, noch ihre Maus schubsen wollen, sondern versuchen die beste Lösung für ein Problem zu finden.

Grüße
 
Zuletzt bearbeitet:
Oha, da hab ich ja was losgetreten ... bitte nich gegenseitig hauen ;)

Danke an HisN für den Hinweis auf den DLNA Server. Ich muss allerdings sagen, dass ich in jedem Fall eine Filesystemlösung bevorzuge, allein schon weil die JavaEngine vermutlich nen guten Brocken zur Systemlast beitragen würde, die ich (mangels überschaubarer CPU Leistung des N40L) so niedrig wie möglich halten möchte.

Samba läuft auf dem Server schon allein wegen der Netzlaufwerke für die Windosen.

Danke auch an Josen für den Tipp mit MHDDFS. Auf den ersten Blick ist das natürlich nen gutes Stück weniger Scripttext als bei TCM und Seratio. Obgleich mir die angesprochenen Befehle (momentan) alle recht wenig sagen. Ich werde mal versuchen mich über die Vor- und Nachteile der Vorgehensweisen belesen.

zur "Shell vs. Gui" Thematik: Es gibt auch die Leute, die eine Problemlösung zum Anlass nehmen mehr über Sachen zu lernen, von denen sie momentan wenig Ahnung haben ;)

vielen Dank und viele Grüße
 
MHDDFS wäre halt wieder ein Layer - extrem schlanker als Java, aber immerhin ein Userspace-Filesystem, wenn ich das richtig sehe. Mit symlinks bist du quasi "roh" auf dem Filesystem, ohne auch nur irgendeine weitere Schicht. Richtig ist natürlich, dass die Links aktuell gehalten werden müssen, also das Script bei jeder Veränderung einmal durchlaufen muss.
 
Hallo,

MHDDFS wäre halt wieder ein Layer - extrem schlanker als Java, aber immerhin ein Userspace-Filesystem, wenn ich das richtig sehe. Mit symlinks bist du quasi "roh" auf dem Filesystem, ohne auch nur irgendeine weitere Schicht. Richtig ist natürlich, dass die Links aktuell gehalten werden müssen, also das Script bei jeder Veränderung einmal durchlaufen muss.

erstmal kurz Entschuldigung, falls ich nach dem vierten Sekt jemandem auf die Füße getreten sein sollte.

Ich würde deine Entscheidung davon abhängig machen, wie oft sich der Inhalt deiner Festplatten ändert. TCMs Lösung ist meiner Ansicht nach die Beste, wenn du wenig Änderungen hast und hauptsächlich lesend zugreifst. Du sparst dir damit eine Abstraktionsebene.

Wenn du auch schreibst und zwar regelmäßig, empfehle ich dir mhddfs. Das aktualisiert die Verzeichnisstruktur kontinuierlich UND du kannst auch direkt in das gemeinsam eingehängte Dateisystem schreiben. MHDDFS bietet dir dafür eine Option, die die Daten bis zu einem einstellbaren Füllstand der Festplatten gleichmäßig verteilt. Die Einschränkunge was den Maximaldurchsatz schreibend bei MHDDFS angeht (den ich erwähnt hatte) ist auch nicht so dramatisch, dass es bei normalem Betrieb stört. Ich lieg auf einem alten Xeon 1230 bei um die 90MB/sec sequentiell schreiben.

Auf jedenfall solltest du dir sehr genau überlegen, ob du Twonky einsetzt.

Grüße
 
Versuchs mal mit AUFS. Funktioniert wie MHDDFS, ist jedoch direkt im Kernel implementiert (keine Geschwindikeitseinbußen oder sonstiges)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh