Ich habe einen Server, auf dem viele Daten gespeichert sind. Ich behalte viele verschachtelte Verzeichnisse mit Millionen von Dateien.
Beim Versuch, ein großes Verzeichnis (~ 700 GB) von einer Festplatte auf eine andere zu verschieben, wird folgende Fehlermeldung angezeigt:
mv /media/storage3/dir /media/storage4/
"No space left on device"
Der Versuch, eine kleine txt-Datei auf der Festplatte zu erstellen, funktioniert ebenfalls nicht:
Error opening file '/media/storage4/Untitled Document': No space left on device
Ich habe viele Optionen online überprüft, keine hat funktioniert.
df -h Ausgabe:
Filesystem Size Used Avail Use% Mounted on
/dev/sdg7 77G 9.2G 64G 13% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 32G 4.0K 32G 1% /dev
tmpfs 6.3G 1.4M 6.3G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 32G 76K 32G 1% /run/shm
none 100M 48K 100M 1% /run/user
/dev/sdg6 19G 6.7G 11G 39% /home
/dev/sdb1 440G 278G 140G 67% /var
/dev/sda1 2.8T 2.0T 764G 73% /media/storage1
/dev/sdh1 2.8T 1.6T 1.3T 56% /media/storage2
/dev/sdi1 2.8T 1.7T 1.2T 60% /media/storage3
/dev/sdf1 2.8T 876G 1.9T 32% /media/storage4
df -i Ausgabe:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdg7 5079040 514215 4564825 11% /
none 8242449 2 8242447 1% /sys/fs/cgroup
udev 8239750 611 8239139 1% /dev
tmpfs 8242449 696 8241753 1% /run
none 8242449 5 8242444 1% /run/lock
none 8242449 4 8242445 1% /run/shm
none 8242449 28 8242421 1% /run/user
/dev/sdg6 1220608 218613 1001995 18% /home
/dev/sdb1 29310976 12863877 16447099 44% /var
/dev/sda1 858436804 41630853 816805951 5% /media/storage1
/dev/sdh1 1356948436 38728057 1318220379 3% /media/storage2
/dev/sdi1 1217505624 34748869 1182756755 3% /media/storage3
/dev/sdf1 2048962648 36308921 2012653727 2% /media/storage4
Beim Online-Lesen sagten die Leute, dass ähnliche Probleme aufgrund des Zugriffs auf eine große Anzahl von Dateien auftreten und dass die Einstellung von fs.inotify.max_user_watches auf eine hohe Menge das Problem lösen könnte. Ich habe es von 8192 auf 1000000 erhöht, aber es hat nicht geholfen.
quelle
lsof +L1
? man lsof: Eine Spezifikation des Formulars + L1 wählt geöffnete Dateien aus, die nicht verknüpft wurden.mv
, deninotify
Mechanismus zu verwenden. Schauen Sie hier : Einige Prozesse verwenden möglicherweise noch nicht verknüpfte Dateien aus dem Zieldateisystem.df
...ntfsinfo -m /dev/DEV
nach Hinweisen. Es ist Teil von ntfs-3g. Beachten Sie auch, dass auf einem einzelnen NTFS-Volume nur bis zu 2 ^ 32 Dateien vorhanden sein können. Ich würde keinem nativen Linux / Unix-Tool vertrauen, das die Anzahl der NTFS-Inodes genau meldet.Antworten:
Führen Sie Folgendes aus:
lsof -s | sort -nrk 7 | head
Sie sehen die Ausgabe wie folgt:
Hinweis; Das Obige ist nur ein Beispiel, das Sie verwenden müssen, um die Raumnutzung zu ermitteln.
Informationen zur Ausgabe:
Sie können den Inhalt im Dateideskriptor entfernen, um diesen Speicherplatz zurückzugewinnen:
cat /dev/null > /proc/2997/fd/50
Offensichtlich werden dadurch alle Daten in diesem Dateideskriptor zerstört.
quelle
Sie können versuchen, mit einem Teer alle Daten zu kopieren und anschließend zu entfernen:
Dadurch bleiben alle Eigentumsrechte, Berechtigungen und Links erhalten
quelle
Ich hätte
rsync -avrz storage3 storage4
die Dateien danach verwendet und dann gelöscht, aber ich habe eine andere Frage, warum Sie diese Freigaben mit dem NTFS-Dateisystem haben, wenn Sie Linux (Ubuntu) verwenden, dann hätte ich mich für ext4 oder ReiserFS, ButterFS entschieden. Wenn sich diese Freigaben auf einer Windows-Box befinden, versuchen Sie bitte, diese Dateien mithilfe von Robocopy von Windows nach Windows zu verschieben, was in dieser Hinsicht hervorragend ist. Robocopy funktioniert meistens wie rsync.Manpage für rsync: http://linux.die.net/man/1/rsync
Hilfeseite für Robocopy: https://technet.microsoft.com/en-us/library/cc733145.aspx
Support-Seite für 3g-ntfs-Treiber für Linux: www.tuxera.com/community/open-source-ntfs-3g/
FAQ für 3g-ntfs: www.tuxera.com/community/ntfs-3g-faq/
Ich vermute, dass etwas in den NTFS-Dateisystemtreibern behoben werden sollte, die Sie in Ihrer Ubuntu-Installation verwenden, welche Distribution von NTFS Sie verwenden, wie Sie die Festplatten gemountet haben, ob sie lokal an die Ubuntu-Box angeschlossen sind, auf der Sie sitzen, oder ob sie gemountet sind Verwenden von iSCSI aus einem SAN?
Diese Fehlerbehebung beinhaltet mehr als nur "Ich kann meine Dateien nicht verschieben, sie befinden sich in NTFS und ich führe Ubuntu aus, um sie zu verschieben."
quelle