Jump to content

NFS auf NTFS


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

ich habe einen Windows Server 2008 R2 aufgesetzt und einen Ordner über NFS freigegeben. Dieser wird von einer Software verwendet, um Containerdateien zu speichern, deren angestrebte Größe beim Anlegen feststeht, der tatsächliche Verbrauch aber erst im Laufe der Nutzung steigen soll (Thin Provisioning über Sparse Files).

Leider belegen die Dateien bereits kurz nach ihrem Anlegen den vollen Speicher auf der NTFS-Partition, das Dateisystem reserviert den Speicher also exklusiv im Voraus. Tests der Software mit einem NFS-Share auf einem Linux-Ext3-Dateisystem zeigen das gewünschte Verhalten der Software; es müsste also etwas mit dem Windows NFS-Share zu tun haben.

Nach einiger Recherche scheint mir der Effekt unter Windows darin begründet zu sein, dass man das Sparse-File Feature für NTFS explizit für einzelne Dateien über Windows-Tools aktivieren muss. Das kann ich aber nicht, da die Container im laufenden Betrieb von der Software angelegt werden.

Ich suche also nach einer Möglichkeit, das Sparse-Files Feature für den NFS-Ordner zu aktivieren. Wäre das möglich?

 

Vielen Dank schonmal.

Geschrieben

Hallo damluk,

 

puuhh. Ist ja ganz schön komplex, das Thema. Ich versuche mal, Dir dabei zu helfen, bin aber auch kein Experte in Sachen NFS-Shares. Allerdings glaube ich nicht, dass Du dies so umsetzen kannst.

 

Sparse-Dateien in NTFS unterscheiden sich von Sparse-Dateien in NFS. NTFS vergibt dazu ein zusätzliches Attribut.

 

Auszug aus Wikipedia:

 

  Zitat
Das Windows-Dateisystem NTFS verfügt im Gegensatz zu unixbasierten Dateisystemen seit Version 3 über ein spezielles Dateiattribut, welches das Eingabe-/Ausgabesubsystem des Windowsdateisystems veranlasst, für zusammenhängende Bereiche einer Datei, die lediglich aus Nullwerten besteht, keinen Speicher auf dem Datenträger zu belegen.

 

Sowohl normale als auch komprimierte Daten können von NTFS als Sparse-Datei behandelt werden. Eine einmal als Sparse-Datei deklarierte Datei kann von NTFS nicht mehr in eine normale Datei umgewandelt werden.

 

NFS-Freigaben auf Windows geben einem UNIX-System ja nur die Möglichkeit, auf NTFS-Freigaben zuzugreifen. Das eigentliche Dateisystem bleibt ja weiterhin NTFS und nicht NFS.

 

Ich vermute, dass Deine UNIX-Software nun die SPARSE-Datei ohne dieses Attribut auf "NFS-Art" anlegt (kann mit NTFS ja schließlich nichts anfangen). Für Windows ist das aber noch lange keine Sparse-Datei, da man diese nur mit diesem speziellen Befehl erstellen kann:

 

fsutil sparse setflag <Dateiname>

 

Also muss meiner Meinung nach die Software umgeschrieben werden, damit sie den NTFS-Befehl statt (vermutlich)...

 

dd if=/dev/zero of=sparsefile bs=1 count=1 seek=10000000

 

...ausführt.

 

Ich hoffe, ich blamiere mich hier nicht mit dieser Interpretation :wink2:

Geschrieben

Hallo iDiddi,

 

danke für Deine Antwort. Deine Interpretation deckt sich in den grundlegenden Punkten mit meiner. Leider wird es der Software nicht möglich sein, "NTFS-Befehle" auszuführen, da sie, wie Du bereits sagtest, nur einen NFS-Share sieht, und mit NTFS gar nichts am Hut hat.

Außerdem ist das fsutil Kommando nicht das Windows-Pendant zum dd Kommando. Letzteres legt eine Datei an, seekt 10MB nach vorne und schreibt dann ein Byte. Dieses Kommando hat zunächst nichts mit Sparse Files zu tun, lediglich die An- oder Abwesenheit des Sparse-File-Features führt zu einer unterschiedlichen Speicherbelegung auf dem Dateisystem.

Nur scheint das Feature auf einem EXT3-System standardmäßig aktiviert zu sein, während es bei NTFS über fsutil dateiweise aktiviert werden muss. Auf NTFS müsste man also eine Datei anlegen ohne sie zu beschreiben und das Sparse-Feature per fsutil aktivieren. Anschließend würde ein seek von 10MB nach vorne und das Schreiben eines Bytes zu einer ähnlich effizienten Belegung führen wie auf EXT3. So stelle ich mir das jedenfalls vor. Allerdings kann ich weder die Software umschreiben (ist nicht von mir), noch könnte die Software fsutil ausführen, da sie lediglich NFS spricht.

Ich hatte gehofft, dass es eine Möglichkeit gibt, das Feature NTFS-global oder zumindest für einzelne Order und deren Dateien zu aktivieren, aber das scheint wohl nicht der Fall zu sein.

 

Viele Grüße

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...