Inodes nicht ausreichend?

  • Hallo,

    vor ein paar Tagen habe ich Motion auf meinem Raspi installiert. Der Raspi soll bei Bewegung die Kamerabilder einer Webcam auf eine Festplatte aufzeichnen. Soweit funktioniert das ganze auch tadellos. Ich bin wirklich begeistert, welches Potential der Raspberry für solche Aufgaben mitbringt. :)

    Nun habe ich jedoch folgendes Problem:
    Die Bilder werden aktuell auf eine 1,5 TB große USB Festplatte gespeichert. Jene ist in zwei Partitionen, eine etwa 1000 GB große NTFS Partition, auf der Daten liegen, die jedoch mit dem Raspi nicht verarbeitet werden sollen. Außerdem habe ich eine zweit Partition im FAT32 Dateisystem erstellt. Hier sollen die Bilder der Kamera gespeichert werden. FAT32 schien mir günstig, da ich darauf sowohl mit dem Raspi, als auch mit meinem Windows (7) PC darauf zugreifen kann.
    Beide Partitionen wurden mit Windows erstellt.

    Eigentlich klappt das auch sehr gut so. Obwohl ich mir nicht sicher bin, ob diese Aufteilung so sinnvoll ist?

    Jedenfalls bekomme ich, nachdem etwa 4 GB Bilder auf der Festplatte gespeichert wurden, von Motion die Meldung, dass kein freier Speicherplatz mehr auf der Festplatte verfügbar sei. Natürlich müsste auf der 500 GB großen Partition noch freier Speicherplatz verfügbar sein.
    Ich habe im Internet bereits herausgefunden, dass ich möglicherweise zu wenige Inodes auf der Festplatte zur Verfügung habe. Aber wie man dieses Problem lösen kann, blieb mir bislang verborgen.

    Ich muss ehrlich sagen, dass ich mit Linux kaum Erfahrung habe. Und auch eine ausgedehnte Internetrechereche führt mich eher selten zum Ziel.

    Hat eventuell jemand einen Tip, wie ich mehr (kleine) Daten auf die Festplatte speichern kann? Ist diese Aufteilung des Dateisystems/Partitionen überhaupt sinnvoll/möglich? Sollte ich lieber auf ein EXT Dateisystem umsteigen und wie kann ich da die Inodesanzahl festlegen?

    Vielen Dank! :)

  • Bei Fat32 und NTFS spielen Inodes keine Rolle (afaik) denn Inodes sind ein reine Unix/linux Erfindung. Wie dem auch sei mit dem Befehl 'df' kannst du heraus finden ob noch genügend Inodes frei sind, sofern du die Platte am PI direkt hängen hast. Wenn die Inodes nicht direkt mit angezeigt werden lies mal in der manpage "man df" wie du dir die Inodes anzeigen lassen kannst.
    Desweiteren nur die Frage, die Dateinen werden nicht größer als 2GB? Fat32 kann nicht mehr.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Hallo,

    FAT32 kennt keine Inodes, daran kann es nicht liegen. Die Linux ext-Dateisysteme haben Inodes.

    Wie viele Dateien liegen denn auf der Partition? FAT32 kann "nur" 2^28 Dateien - was in der Regel ausreicht ;)

    Und geh' doch mal in den Terminal und tippe dort den Befehl [font="Courier"]df[/font] ein und poste die Ausgabe hier (df gibt die Festplattenbelegung aus).

    Gruß, noisefloor

  • Hi,


    ...
    Ich muss ehrlich sagen, dass ich mit Linux kaum Erfahrung habe. Und auch eine ausgedehnte Internetrechereche führt mich eher selten zum Ziel.
    ...


    Das hat mit Linux auch nix zu tun ... FAT32 ist Microsoft :fies:


    ...
    Desweiteren nur die Frage, die Dateinen werden nicht größer als 2GB? Fat32 kann nicht mehr.


    fast ;) ...
    Dateigrösse: 4 GB - 1 Byte ( das ist mal wieder typisch Gates und sein peinlicher Irrglaube, allwissend zu sein :fies: )
    Ausserdem eine beschränkte Anzahl Dateien ... aber das waren wohl etliche Mios ...
    Irgendwie gabs da auch noch eine Beschränkung von wegen Dateien pro Verzeichnis ... aber da bin ich mir nicht sicher, ob das bei FAT32 auch zutraf.

    //edit:
    oops .. da war wieder einer schneller ...


    cheers,
    -ds-

  • Vielen Dank für die schnellen Antworten. :)

    Ich habe mal "df" und "df -i" um die Inodes anzuzeigen, eingeben. In diesem Zustand kann Motion allerdings noch auf die Festplatte schreiben. Heute Morgen habe ich alle Daten gelöscht.

    KAMERA ist die Partition, wo die Bilder gespeichert werden, FAT32
    Sonstiges ist die andere Partition, NTFS

    Die Daten, die ich speichern möchte, haben eine Größe von maximal 200 kb. Allerdings dürften es schon etliche tausend sein, bevor ich sie löschen muss. 2^28 Dateien sind es aber sicher nicht. ;)

    Wenn es tatsächlich nicht an den Inodes liegen kann, bin ich absolut ratlos. (War ich vorher aber auch)

    Hat vielleicht jemand eine Idee?

  • Wie bereits von meinen Vorrednern geschrieben wurde:
    - Dateigröße (trifft wohl nicht zu)
    - Dateien pro Partition? FAT32 kann "nur" 2^28 Dateien (trifft wohl nicht zu)
    - Dateien pro Verzeichnis (und siehe da Freund Google meint:
    65535 Dateieinträge bei kurzen 8.3 Namen
    für "lange Dateinamen" deutlich "weniger ")

  • Hi,

    guck mal mit fdisk /dev/sdb


    welchen Typ (Nummer) die Partition hat.
    Obiges Beispiel ist mal ein fdisk auf meine SD-Karte im RPi.
    Aber nur p und dann q für quit eingeben und ja nichts ändern.
    Es gab/gibt zwei Versionen FAT32 ... die c ist die neuere (LBA).
    Dann gabs/gibts noch eine b-Version ... da ist bei 32 GB Schluss. Die ist für z.B. alte Win95 Systeme.

    cheers,
    -ds-

  • Vielen Dank für eure Hilfe! :)

    Ich schätze, WernerPI wird da richtig liegen. Die Dateien haben tatsächlich einen relativ langen Namen. Diese Beschränkung war mir aber zuvor unbekannt.

    Das bekomme ich über den fdisk Befehl.

    Sieht ganz schön voll aus. Ich muss gestehen, dass ich die SD Karte mit vorinstalliertem NOOBS gekauft habe. Vermutlich wird daher auch FAT16 auf der SD Karte sein. Aber das sollte doch eigentlich kein Nachteil sein? Ich verwende übrigens das B+ Modell.

    Ich glaube eine Möglichkeit gefunden zu haben, wie Motion für jeden Tag ein neues Verzeichnis auf der Festplatte erstellt. Wenn ich es richtig verstanden habe, dass es lediglich um die Anzahl der Dateien in einem einzelnen Verzeichnis geht, dürfte das doch funktionieren? Damit sollte ich jedenfalls unter der maximalen Dateienanzahl/Ordner bleiben.

    Alternativ wäre dann wohl nur ein Umstieg auf ein anderes Dateisystem möglich. Wobei auch da wieder die Beschränkungen zu beachten sind.

    Vielen Dank soweit. Das hat mir schon sehr geholfen! Für weitere Ratschläge bin ich immer offen.

  • Hi,
    da hast Du vermutlich was überlesen: den fdisk auf /dev/sdb, also auf die Platte, nicht auf mmcblk0 ;) ...
    Das mit der SD-Karte war nur als Beispiel zur Veranschaulichung gedacht ...

    Ach ja: wie bindest Du die Platte ein - also welchen mount Befehl nutzt Du?

    cu,
    -ds-

  • Hallo dreamshader,

    danke für deine Antwort! Wegen eines Kurzurlaubs kann ich leider erst jetzt zurück schreiben.

    Stimmt, das mit dem fdisk habe ich wohl falsch verstanden. :) Ich habe mich gewundert, dass es bei mir keine /dev/sdb vorhanden ist. Mit /dev/sda müsste ich aber an die USB Festplatte kommen. Jedenfalls stimmt die Größe.

    Aktuell benutze ich größtenteils noch die grafische Oberfläche. Obwohl ich versuche, mich soweit wie (mir) möglich über das Terminal "fortzubewegen", ist das für mich im Moment noch einfacher. Jedenfalls bilde mich mir das ein.
    Die Festplatte wird jedenfalls automatisch erkannt.

    Motion läuft nun seit ein paar Tagen ohne Probleme. Dadurch, dass jeden Tag ein neuer Ordner angelegt wird, wird auch die maximale Dateianzahl/Verzeichnis in der Regel nicht erreicht. Dennoch bin ich weiterhin für jeden Tip offen. Sollte es doch mal Tage geben, an denen zu viele Bilder gespeichert werden, ist das natürlich nicht so toll.

    Sollte es sonst noch jemanden interessieren, diese Einstellungen am Beispiel eines Bildes habe ich in der Config geändert:

    Code
    target_dir /Pfad zur USB Festplatte/
    jpeg_filename %Y_%m_%d/%v-%Y%m%d%H%M%S-%q

    Einmal editiert, zuletzt von Attereb (2. Januar 2015 um 22:35)

  • Hi,
    also ...


    ...
    Mit /dev/sda müsste ich aber an die USB Festplatte kommen. Jedenfalls stimmt die Größe.
    ...


    ok, wenn's sda ist, ist auch ok, aber ...


    ...


    ...


    die ist eindeutig vom Typ b - will heissen: das ist eine Partition, die abwärtskompatibel zu Windows 95 der ersten Generation ist und unterstützt den damals eingeführten LBA-Zugriff nicht.
    Dadurch wird die Größe auf max. 32 GB beschränkt (wenn man z.B. Wikipedia glauben darf).
    Ob das Probleme unter Linux verursacht, kann ich nicht sagen. Ein Windows-PC wird vermutlich Schwierigkeiten bekommen, weil der sich die Festplatten-Geometrie aus dem BIOS holt.
    Da Linux das BIOS wurscht ist, ... hm ... :s ...

    Mit anderen Worten: wenn Du 32 GB oder mehr auf die Partition geschrieben hast, und wieder Fehler auftreten, würde ich an Deiner Stelle mal die Daten sichern und mit fdisk den Typ der Partition auf Typ c ändern und neu formatieren (mit mkfs unter Linux).

    cheers,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!