Puncte:1

Ce cauzează lipsa spațiului misterios pe hard disk? (Diferența dintre df și du)

drapel sd

Prefață: există o mulțime de alte întrebări utile (de ex. acest și acest) despre cauzele posibile pentru diferite dimensiuni raportate de df și du. Niciuna dintre explicații nu se aplică în cazul meu extrem de simplu, totuși, de aici această nouă întrebare.

Am un scenariu foarte simplu: am două hard disk-uri Seagate identice de 5 TB achiziționate în același timp (acum câteva luni), cu formatarea lor originală NTFS. Hard disk-ul A este plin cu câteva mii de fișiere, în mare parte mari (de dimensiunea unui gigabyte), iar FreeFileSync este folosit pentru a oglindi unitatea A în unitatea B în fiecare noapte.

Deja de la prima oglindă, am descoperit că fișierele de pe unitatea B au ocupat cu aproape 3% mai mult spațiu decât pe unitatea A, iar acest lucru a continuat până acum (câteva luni mai târziu). Cu fișiere identice pe ambele, df rapoarte (în 512 blocuri B):

Sistem de fișiere 512-blocuri Utilizat Capacitate disponibilă utilizată ifree %iused Montat pe
/dev/disk4s2 9767276536 8946736496 820540040 92% 6149 4294961146 0% /Volumes/A
/dev/disk5s2 9767276536 9199664896 567611640 95% 5719 4294961576 0% /Volumes/B

In timp ce du -d 0 în rădăcina fiecărei unități raportează (din nou în 512 blocuri B) doar o diferență de 0,002%:

A: 8939999664
B: 8940229723

Așa că încerc să îmi dau seama ce ar putea duce la un spațiu disponibil cu 3% mai puțin pe unitatea B -- o diferență de 121 GB între aceste două unități de 5 TB.

Am exclus orice sugestie pe care am găsit-o în altă parte - nu este o problemă de fragmentare a fișierelor, deoarece du arată o utilizare similară a blocurilor, nu există legături simbolice sau legături rigide de orice fel, nici volume montate pe nici ele, nici jurnale ascunse, nu rămân fără inoduri, am rulat du ca root, niciun fișier marcat pentru ștergere încă cu mânere deschise, rădăcina .Gunoi folderul este gol pe ambele. am citit du nu numără blocurile utilizate de directoarele în sine și de alte date ale sistemului de fișiere, dar nu văd cum ar adăuga până la 121 GB de spațiu lipsă -- plus directoarele sunt în mod evident identice între unități și sunt doar aproximativ o mie de directoare în total . Când verific sistemele de fișiere, ambele discuri nu prezintă erori. Mă întreb dacă problema ar putea fi blocuri proaste, dar nu găsesc referințe despre cum să detectez dacă un sistem de fișiere compensează deja acest lucru. Aceste discuri sunt, de asemenea, destul de noi, iar discrepanța a existat din prima zi.

Problema este de o importanță imediată, deoarece atunci când discul A devine aproape plin pe măsură ce sunt adăugate fișiere, oglindirea eșuează deoarece discul B rămâne mai întâi fără spațiu. L-am „rezolvat” deocamdată folosind discul B pentru scriere și discul A pentru oglindire pentru a evita această problemă, dar aș dori totuși să înțeleg ce ar putea fi folosirea misterului de 121 GB de spațiu.

mr.zog avatar
drapel at
Acesta este un sistem Linux sau Windows?
drapel jm
Numărul de inoduri utilizate este diferit pe cele două volume, astfel încât numărul de fișiere/directoare este diferit pe volume. Ați verificat `$Recycle.Bin`, `System Volume Information` și `thumbs.db` pentru diferențe?
drapel sd
Da -- discrepanța este cauzată de o mulțime de fișiere .DS_Store de pe unitatea A, create pentru că sunt accesate de Mac-uri. FreeFileSync le exclude pe cele din oglindă, motiv pentru care unitatea B are un număr de fișiere/inode puțin mai mic.
drapel sd
Adăugarea la comentariul anterior: Și aceasta nu poate fi explicația, deoarece unitatea B este cea care utilizează o cantitate mai mare de spațiu - unitatea care are *mai puține* inode, care *nu* are fișierele suplimentare .DS_Store. Și da, am verificat toate fișierele ascunse din rădăcină și un eșantion de alte directoare -- lucruri precum `.Trashes`, `.ReadyDLNA`, etc. sunt în esență goale și sunt numărate de `du` oricum.
drapel sd
Sunt pe un Mac. Unitățile sunt în mod normal conectate la un router și accesate prin SMB, dar am încercat și să le conectez direct la Mac și rezultatele sunt identice.Deoarece Mac-urile au doar suport încorporat pentru citirea (nu scrierea) unităților NTFS, folosesc software-ul Paragon „NTFS pentru Mac” care vine cu unitățile Seagate care funcționează ca un driver NTFS complet.
drapel in
Comparați dimensiunea cluster-ului ambelor sisteme de fișiere.
Brandon Xavier avatar
drapel us
S-ar putea să vă gândiți să verificați dacă există fișiere rare pe discul A. Sincer, nu sunt sigur cum sunt implementate pe NTFS, dar pe sistemele de fișiere native Linux, acestea se pot extinde cu ușurință atunci când sunt copiate (de către un utilitar rare-neware). Acest link ar putea fi util: https://www.thegeekdiary.com/how-to-find-all-the-sparse-file-in-linux/ (nu am testat comanda find sugerată)
drapel sd
Răspunsuri la mai sus: nu există fișiere rare, totuși o altă idee bună. Și în ceea ce privește dimensiunea clusterului, `diskutil` raportează valori identice pentru ambele volume -- `Device Block Size: 512 Bytes` și `Allocation Block Size: 4096 Bytes` -- din înțelegerea mea, Allocation Block Size este dimensiunea clusterului. Și într-adevăr, crearea unui fișier de un singur octet pe ambele volume are ca rezultat utilizarea a 8 blocuri (512 de dimensiune B), conform „du”, care este 4K. Deci se potrivesc cu siguranță dimensiunile clusterului 4K pe ambele discuri. (Și 4K este implicit MSFS, oricum se pare.)
drapel sd
Ah, și excluzând încă două lucruri: deoarece acestea sunt accesate cu Mac-uri, nici Spotlight nu este de vină -- este dezactivat și nu există nici un director ascuns `.Spotlight-V100`. Nici nu există date Time Machine cu excepția unui fișier rădăcină de dimensiune 0 care dezactivează Time Machine.
drapel in
Care este [setarea de gestionare a linkurilor simbolice în FFS](https://freefilesync.org/manual.php?topic=comparison-settings)? `Urmărește` sau `Direct`?
drapel in
Care sunt setările dvs. de sincronizare? Este într-adevăr setat la „Oglindă” sau poate în schimb „Actualizare”? La ce este setată opțiunea „Ștergere fișiere”?
drapel sd
Mulțumesc, nu există legături simbolice pe unități (și „inclusiv linkurile simbolice” este oricum debifată, ca implicit), este cu siguranță setat la „Oglindă”, iar „Ștergeți fișierele” este „Permanent”. Nu cred că oricare dintre acestea ar putea fi problema, deoarece `du` returnează număr de blocuri practic identic și include fișiere ascunse.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.