Defragmentera ext4 partitioner vid behov

Trädvy Permalänk
Medlem
Registrerad
Feb 2019

Defragmentera ext4 partitioner vid behov

Testa först och se om det behövs defragmentering, gäller enbart partitioner med
filsystemet ext4 (e4defrag).

Det har ju pågått en hel del diskussioner kring om man ska behöva defragmentera ext-filsystem eller inte. Att det aldrig skulle behövas är en ren myt men det krävs dock mer sällan för filsystem som ext4 än för ntfs, fat32, etc.
Kommando följer med i paketet e2fsprogs.

Man kan köra kommandot med flaggan -c eller -cv för att se om man behöver defragmentera. Testade det på min hempartition (sda5) för Bionic som jag har använt under ca ett halvår.

Kommando: sudo e4defrag -c /dev/sda5
Gav följade svar:
Total/best extents 61224/55708
Average size per extent 2430 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda5) does not need defragmentation.
Done.

Som ni kan se så finns ingen fragmentering på min sda5 partision.

Jag testade öven root (/) partisonen

kommando sudo e4defrag -c /dev/sda1
Gav följande svar:
Total/best extents 129311/123263
Average size per extent 72 KB
Fragmentation score 2
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda1) does not need defragmentation.
Done.

Här finns mycket liten fragmentering, har haft samma score [2] på / partitionen sen jag installerade Bionic.
Ger mig dock inte på att defragmentera (behövs inte).

Trädvy Permalänk
Medlem
Registrerad
Jan 2019

Man skall vara försiktig. Jag tror det är helt onödigt. Jag hade gjort "uppdaterat" ett ext3 till ext4. Inga problem. Därefter testade jag ett defrag-program (glömt vilket). Därefter var hela filsystemet korrupt. I dag ligger långt över 90% av all data jag har på ext4, som jag skapat direkt. Aldrig några problem, trots att filsystemen varit överfyllda ibland. Alltså defrag behövs inte. På windows ntfs behöver man köra defrag regelbundet om man skapar filer från Linux, med gratisprogrammet ntfs-3g.

Trädvy Permalänk
Medlem
Plats
$HOME
Registrerad
Jun 2006
Skrivet av Tramp:

[…] Att det aldrig skulle behövas är en ren myt […]

Tekniskt sett kanske det är sant, men sett till realistiskt användande är det inget som behövs. Speciellt inte om man har en SSD.

Gentoo Linux ~ Journal | Socialt | Kreativt

Trädvy Permalänk
Medlem
Registrerad
Aug 2015
Skrivet av Hund:

Tekniskt sett kanske det är sant, men sett till realistiskt användande är det inget som behövs. Speciellt inte om man har en SSD.

Så här ser set ut på ett filsystem det skrivits och lästs på rätt random 5-8 MByte/s kontinuerligt sen maj-2018 (raid 0 array för att få lite bättre prestanda)

# e4defrag -c /dev/md0
<list of fragmented files removed>

Total/best extents 195745/194227
Average size per extent 1892 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/md0) does not need defragmentation.
Done.

Dock endast ca 300GB använt av 1800GB.

Trädvy Permalänk
Medlem
Registrerad
Aug 2016

ext3 och ext4 är designad med mycket noga koll på de misstag som man gjorde i NTFS och vinnlade sig att inte upprepa dessa igen även när man har 'tuff' körning med torrent med många parallella filnedladdningar som laddas ned i slumpmässig ordning (alltså ej förallokerade filer) och att filerna växte ut åt båda hållen under processen gentemot den första skrivningen.

Av TS inlägg med något så när mogna filsystem måste man nog säga att de har lyckats ganska bra...

Andra filsystem som BTRFS så försöker man förvisso minska fragmenteringen även där med olika strategier och lyckas nog ganska bra när helt nya filer skrivs - men iom. att det är en COW-filsystem så kommer det att fragmentereras vid modifieringar (som olika databasfiler när nya poster skrivs och andra ändras) då alla ändringar inom en fil alltid skrivs på nya sektorer och de redan skrivna ändras aldrig förrän sektorerna är helt avrefererade och inte kopplad till någon fil alls i filsystemet. Därför finns det i BTRFS att man kör defragmentering emellanåt som en del av filsystemunderhållet.