Jeg har følgende enheter med Linux Mint 18.1 på bærbare datamaskiner og GNU / Linux Debian 9 på serveren.
(Alle er 64-biters og med Cinnamon-skrivebord.)
Alle drivenheter er formatert med ext4 filsystem ; RAID 1 er gjort ved å bruke mdadm
.
-
Bærbar PC med 1 SSHD (ikke å forveksle med HDD).
-
Bærbar PC med 3 stasjoner: 2 x harddisker for forbrukere i RAID 1 og 1 x SSD.
-
Server med 5 stasjoner: 4 x Enterprise HDD-er på to ganger RAID 1 og 1 x SSD.
Jeg har systemet på disse SSD-ene, og jeg vil aldri defragmentere en SSD.
Spørsmålet handler om HHD-er og en SSHD.
Jeg fant en gammel PDF som skisserer noen flere funksjoner til e4defrag
.
-
Hvorfor må filsystemet monteres i henhold til denne feilmeldingen når du prøver å defragmentere et umontert filsystem? Jeg vil forstå hvorfor det er:
Filesystem is not mounted
-
Jeg vil gjerne ha implementert ledig defragmentering av plass. AFAIK det er nå under vurdering. Er det mulig for meg å f.eks. kompilere
e4defrag
fra kilden med disse alternativene tilgjengelige eller likevel?e4defrag -f /deviceOrDirectory
-
Jeg vil liker også å bruke relevant datafunksjon:
e4defrag -r /deviceOrDirectory
Jeg har mange relevante grunner til å tro at fragmenteringen på disse maskinene bremser lesehastigheten, eksempel:
-
Tatt fra serveren med RAID 1 HDD-er:
[2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100% extents: 16 -> 1 [ OK ]
-
Tatt fra den bærbare datamaskinen med RAID 1 HDD-er:
[29405/50810]/raid1/movies/SGA-HEVC/S04E01 - Adrift.mp4: 100% extents: 31 -> 6 [ OK ]
Som du ser, var defragmenteringen ikke en gang i stand til å sette 31 blokker-filen i ett stykke. Selvfølgelig kan du hevde at det er en filmfil, så det spiller ingen rolle. Det er sant, men bare i dette tilfellet.
Kommandoen jeg bruker for å starte defragmenteringen:
-
På serveren:
sudo e4defrag -v /dev/md1
-
På den bærbare datamaskinen:
sudo e4defrag -v /raid1/
Det gjør virker ikke som om jeg påkaller kommandoen ved hjelp av enhetsnavnet eller en katalog.
Kan du peke meg i riktig retning?
Kommentarer
- Du har måleresultater som peker på defragmentering som kilden til langsom tilgang? Hvis ja, hvilke? I de fleste tilfeller trenger du ikke ' å gjøre manuell defragmentering på ext4-filsystemer, så lenge det ' er nok ledig plass for at tildelingsalgoritmen automatisk skal defragmentere den under normal drift.
- @dirkt Ingen målinger har blitt tatt så langt. Jeg argumenterer ikke ' om det er eller ikke er effektivt å defragmentere
ext4
filsystem. Spørsmålene er klare: Hvordan gjør due4defrag -r
oge4defrag -f
.
Svar
e4defrag
trenger at filsystemet monteres fordi det ber kjernens filsystemdriver om å utføre defragmentering, det gjør det ikke t gjør det selv.
Når det gjelder ledig plassdefragmentering og relevant fildefragmentering, ble lappene aldri fullført. siste omtale på den aktuelle adresselisten dateres tilbake til 2014 :
e4defrag
er ie2fsprogs
, og koden blir fortsatt vedlikeholdt og forbedret. Spesielt har Dmitry Monakhov lagt til mange «torturtester», og funnet en rekke raseforhold i den underliggende kjernekoden. Han sendte nylig også en kodefaktor av kjernekoden som forbedret den betydelig (og krympet størrelsen på ext4 med 550 kodelinjer).Når det er sagt, har det ikke vært noen reell funksjonsutvikling for
e4defrag
på ganske lang tid. Det har vært noen diskusjoner om hva kjernen APIer kan være for å støtte denne funksjonen, men det har aldri vært et ferdig API-forslag, enn si en implementering.
Så jeg tviler på at det er noe som er verdt å teste for øyeblikket.
e4defrag --version
siere4defrag 1.45.5 (07-Jan-2020)
.e4defrag
kl. tiden. Det er fremdeles en fullt støttet del av Ext4, men det er ikke brukbart i alle tilfeller (filsystemer med bigalloc kan ikke defragreres, datajournalering er uforenlig med defragging, og DAX-inoder og krypterte filer kan ikke flyttes). li>