PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Platz auf Dateisystem nicht ausreichend - wie erweitern?


Gast
2011-10-02, 00:01:21
Hallo. :)

Ich habe da ein kleines Problem, bei dem ich gerne mal den Rat der Windows-Spezis hier im Forum gehört hätte.

Auf einer Installation von Windows 7 in der x86-64-Variante soll eine Anwendung genutzt werden, die recht viel Platz auf der Festplatte benötigt. Es steht eine Solid-State-Disk mit einer Größe von 32 GB zur Verfügung, die allerdings schon zum Teil gefüllt ist. Der Speicherplatz ist jedenfalls nicht ausreichend. Aus Performancegründen soll die SSD aber dennoch für die Anwendung genutzt werden. Der nicht mehr passende Teil der Daten soll dann einfach auf einen anderen Datenträger verlagert werden, wobei die Verzeichnisstruktur beibehalten werden soll. Das ganze sollte dabei für Programme transparent sein.

Ich komme eigentlich eher aus der Unix-Ecke und bin in Sachen Windows leider nicht so fit. Unter Unix würde ich mir einfach ein anderes Dateisystem am passenden Ort in der Verzeichnishierarchie einhängen bzw. unter Linux einfach Bindmounts nutzen. Alternativ halt Symlinks oder irgendwelche Tricksereien mit dem LVM.

Unter Windows war ich da erstmal eher ratlos, hab aber nach ein wenig Recherche auch unterschiedliche Möglichkeiten gefunden. Einmal wären da die NTFS Junction Points bzw. seit Vista wohl auch symbolische Links. Erstellen kann ich die anscheinend mit mklink. Habe ich das soweit richtig verstanden, dass sich die Windows-Symlinks von den Junction Points hauptsächlich darin unterscheiden, dass sie auch auf Remote Dateisysteme zeigen können und einige andere Beschränkungen weggefallen sind? Nachteil ist dann nur die fehlende Kompatibilität mit Legacy-Windows?

Zusätzlich gibt es wohl auch noch Volume Mount Points. Hierbei wird ein Dateisystem einfach unter einem bestehenden Verzeichnis verfügbar gemacht. Ist es dabei auch möglich, dass nicht die Wurzel eines Dateisystems in dieses Verzeichnis eingehängt wird, sondern ein beliebiges Unterzeichnis (vgl. Linux-Bindmounts)?

Welche dieser Varianten haltet ihr für den genannten Anwendungszweck am geeignetsten? Was sind die Vor- und Nachteile? Gibt es irgendwelche Stolperfallen zu beachten? Ist bei der Rechtevergabe mit irgendwas eher unintuitivem zu rechnen?

Wenn ihr vielleicht auch noch ganz andere Ideen habt, nur her damit.

PatkIllA
2011-10-02, 00:18:03
Wenn du nicht die Wurzel einhängen willst nimmst du halt Volumemountpoints.
Bei mir gingen symbolic links nicht in Freigaben, aber ich glaube das ist Absicht und habe es auch nicht weiter untersucht.

Gast
2011-10-02, 00:43:38
Wenn du nicht die Wurzel einhängen willst nimmst du halt Volumemountpoints.Das geht also? Hab da nämlich bis jetzt nicht konkretes zu gefunden. Angenommen ich habe das Verzeichnis C:\tmp. Zusätzlich habe ich einen Datenträger mit dem Verzeichnis \daten und der Datei \foo.txt. Im Verzeichnis daten existiert die Datei \daten\bar.txt.

Kann ich diesen Datenträger dann so unter C:\tmp einhängen, dass ich dort nicht die Datei foo.txt, sondern bar.txt (also den Inhalt des Verzeichnises daten) zu sehen bekomme? Die Formulierung bei Wikipedia ("which gives a reference to the root directory") lässt eher darauf schließen, dass es nicht geht. Die Formulierung im dort verlinkten kb-Artikel ist äußerst schwammig. Wenn möglich sollte der komplette Datenträger weiterhin unter bspw. D:\ verfügbar sein.

PatkIllA
2011-10-02, 01:09:52
Der Ordner in dem du einhängen willst muss leer sein, aber ansonsten geht das.
Volume Mount Point ist für das ganze Volume, Directory Junction für Ordner.

Gast
2011-10-03, 14:03:06
Gut, werde das dann wohl mit Junctions machen. Danke für deine Antworten.

Ich sehe gerade, dass die Symlinks in NT6 endlich auch Dateien unterstützen. Wenn es statt einer Verzeichnisstruktur nur zahlreiche Dateien zu 4 GiB gäbe, käme man also auch dann noch weiter. Cool.

PatkIllA
2011-10-03, 16:58:24
Symlinks ging bei NT 5.x gar nicht.

Gast
2011-10-06, 21:38:50
Eek, warum realisieren die mklink denn als Builtin der cmd.exe? Hat ein bisschen gedauert, bis ich das realisiert hab, nachdem ich es erfolglos aus der Powershell aufrufen wollte. Hätten sie ja ruhig mal (von mir aus zusätzlich) als Standalone-Programm ausliefern können, damit man es auch aus der Powershell oder der Cygwin-Bash aufrufen kann.