2016-09-28 3 views
0

Wie empfiehlt es sich, eine große (wachsende) Anzahl kleiner Dateien auf einem Server zu speichern, ohne dabei auf Inode-Einschränkungen zu stoßen?Überwindung der Inode-Beschränkung

Für ein Projekt, ich eine große Anzahl von kleinen Dateien auf einem Server mit 2 TB HD Speicherplatz speichern, aber meine Beschränkung ist die 2560000 zulässigen Inodes. Kürzlich hat der Server alle Inodes verbraucht und konnte keine neuen Dateien schreiben. Ich habe später einige Dateien in Datenbanken verschoben, aber andere (Bilder und JSON-Dateien bleiben auf dem Laufwerk). Ich bin derzeit bei 58% Inode-Nutzung, so dass eine Lösung dringend benötigt wird.

Der Grund für die individuelle Speicherung der Dateien besteht darin, die Anzahl der Datenbankaufrufe zu begrenzen. Grundsätzlich werden die Skripte prüfen, ob die Datei existiert und wenn ja, dann werden die Ergebnisse abhängig zurückgegeben. Leistungsmäßig ist dies für meine Anwendung sinnvoll, hat aber wie oben erwähnt Grenzen.

Wie ich verstehe, hilft es nicht, die Dateien in Unterverzeichnisse zu verschieben, weil jeder Inode auf eine Datei (oder eine Verzeichnisdatei) zeigt, also würde ich einfach mehr Inodes verbrauchen.

Alternativ könnte ich in der Lage sein, die Dateien in einem Archivtyp der Datei zusammenzufassen, aber das erfordert eine Art von Indexierung.

Vielleicht gehe ich das alles falsch, so wird jedes Feedback sehr geschätzt.

+0

Sie könnten Ihren Speicherbereich in separate Dateisysteme aufteilen. Sollte mit einem Volume Manager nicht zu schwer sein. – arkascha

+0

Oder Sie verwenden das Loopback-Gerät, um einige Ordner der obersten Ebene als separate Volumes zu mounten. Dadurch wird auch eine "virtuelle Ebene" hinzugefügt und Sie können die Ordner als separate Dateisysteme behandeln. – arkascha

+0

Und es ist möglich, die Anzahl der für einige Dateisystemtypen verfügbaren Inodes zu erhöhen. Ich erwarte, dass ich dafür ein neues Dateisystem erstellen muss. – arkascha

Antwort

0

Auf den Rat von arkascha Ich schaute in Schleifengeräte und fand einige Dokumentation über losetup. Bleibt zu prüfen.

Verwandte Themen