Sida 1 av 1
Defragmenteringsfunktionen för ext4 släppt!
Postat: 30 dec 2011, 19:09
av Bowmore
Fick ett mejl om att defragmenteringsfunktionen för ext4 (e4defrag) har släppts. Den finns i Precise men har inte koll på om den även finns med i Oneiric. Kommando följer med i paketet e2fsprogs.
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.
Man kan köra kommandot med flaggan -c eller -cv för att se om man behöver defragmentera. Testade det på min hempartition (sda6) för Natty som jag bara använt under utvecklingsfasen av Natty, dvs ca ett halvår.
Kommandot
gav följande svar
Kod: Markera allt
Total/best extents 16745/13771
Average size per extent 792 KB
Fragmentation score 1
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda6) does not need defragmentation.
Done.
alltså inte så mycket att orda om
Ger mig dock inte på att defragmentera (behövs ju inte) då det varit en hel del diskussioner kring säkerheten med att defragmentera. Därav har det dröjt länge, ca 3 år, innan man till slut släppte funktionen då man ville vara 110% säker på att den inte skapade problem. Så det kan tyckas vara säkert nu.
Vidare så kan man defragmentera enbart en fil, filer under mappar (rekursivt) så ett ganska trevligt kommando när man väl känner behovet.
Re: Defragmenteringsfunktionen för ext4 släppt!
Postat: 30 dec 2011, 19:16
av Antec
Gäller det bara i Precise? Edit Jag menar en dum frågar kan behöva ett svar.. egentligen tror jag du svarat på det redan...
Re: Defragmenteringsfunktionen för ext4 släppt!
Postat: 30 dec 2011, 19:42
av vulfgar
Testade också. "Fragmentation score" var 0 på alla mina partitioner. Inte så illa, den ena partitionen är kvar och har använts för data av samtliga mina installationer sen datorn var ny för snart 4 år sen.

Re: Defragmenteringsfunktionen för ext4 släppt!
Postat: 30 dec 2011, 19:45
av Antec
vulfgar skrev:Testade också. "Fragmentation score" var 0 på alla mina partitioner. Inte så illa, den ena partitionen är kvar och har använts för data av samtliga mina installationer sen datorn var ny för snart 4 år sen.

Jag ska göra likadant måste bara byta dator, tji fick jag för att vara lat med att att fråga

Re: Defragmenteringsfunktionen för ext4 släppt!
Postat: 30 dec 2011, 19:51
av Bowmore
Antec skrev:Gäller det bara i Precise?
Preciselly

Kollade just och
e4defrag finns inte med i Onerics paket
e2fsprogs ver 1.41.14-1ubuntu3.
vulfgar skrev:Inte så illa, den ena partitionen är kvar och har använts för data av samtliga mina installationer sen datorn var ny för snart 4 år sen.

Jo, det beror ju ett antal faktorer som stora filer lite ledigt utrymme, etc
Re: Defragmenteringsfunktionen för ext4 släppt!
Postat: 03 jan 2012, 11:54
av m!rage
Jag tror inte att e4defrag fungerar, åtminstone inte kontrollalternativet -c. Resultatet är helt enkelt för bra för att vara sant. Igår la jag en 12 GB stor backup av hemmappen från en dator i ett välanvänt filsystem på 2 TB som var fyllt till 99 %. Intuitivt säger jag att den rimligtvis borde bli ordentligt fragmenterad:
Kod: Markera allt
# mount
...
/dev/sdb1 on /media/Everdunes type ext4 (rw,commit=0)
...
# e4defrag -c /dev/sdb1
<Fragmented files> now/best size/ext
1. /media/Everdunes/Temp/apt-cacher-ng/uburep/dists/lucid/restricted/source/Sources.bz2
2/1 4 KB
2. /media/Everdunes/Temp/apt-cacher-ng/uburep/dists/lucid/restricted/binary-amd64/Packages.bz2
3/1 5 KB
3. /media/Everdunes/Temp/apt-cacher-ng/uburep/dists/natty/multiverse/i18n/Translation-sv.bz2
2/1 4 KB
4. /media/Everdunes/Temp/apt-cacher-ng/uburep/dists/natty/restricted/i18n/Translation-sv.bz2
2/1 4 KB
5. /media/Everdunes/Temp/apt-cacher-ng/uburep/dists/maverick/restricted/i18n/Translation-sv.bz2
2/1 4 KB
Total/best extents 1310608/1170834
Average size per extent 1763 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sdb1) does not need defragmentation.
Done.
Knappt fragmenterat alls? Låter ju bra, men:
Kod: Markera allt
# hdparm --fibmap /media/Everdunes/Temp/HEM2.tar.gz
HEM2.tar.gz:
filesystem blocksize 4096, begins at LBA 63; assuming 512 byte sectors.
byte_offset begin_LBA end_LBA sectors
0 3872555071 3872571454 16384
8388608 3548610623 3548627006 16384
16777216 3548447039 3548561726 114688
75497472 3548577855 3548594238 16384
83886080 3552673471 3552706238 32768
100663296 3552657087 3552673470 16384
...
11329265664 1334043495 1334050806 7312
11333009408 1601860439 1601862438 2000
11334033408 1602119743 1602121814 2072
11335094272 1615504903 1615507862 2960
11336609792 1624547343 1624550990 3648
11338477568 2332119375 2332125078 5704
11341398016 2437338039 2437349438 11400
11347234816 2437884807 2437889790 4984
11349786624 2602338711 2602352702 13992
11356950528 2604732383 2604734774 2392
11358175232 2650983415 2650996798 13384
11365027840 2655269903 2655272902 3000
11366563840 2722466855 2722480190 13336
11373391872 2722818903 2722820614 1712
# hdparm --fibmap /media/Everdunes/Temp/HEM2.tar.gz | wc -l
1299
# filefrag /media/Everdunes/Temp/HEM2.tar.gz
/media/Everdunes/Temp/HEM2.tar.gz: 1264 extents found
Så det är alltså något som inte stämmer här. Jag kör Debian Testing med senaste versionen av e2fsprogs:
Kod: Markera allt
$ apt-cache show e2fsprogs
Package: e2fsprogs
Version: 1.42-1
...
$ uname -r
3.1.0-1-amd64
Referens för att avlasta mitt minne:
http://smackerelofopinion.blogspot.com/ ... 3ext4.html
Re: Defragmenteringsfunktionen för ext4 släppt!
Postat: 03 jan 2012, 20:11
av Bowmore
Jo, jag håller med om att det är något skumt!
Har kollat samtliga mina partitioner på en dator för att försöka få en bild på vad som kan vara fel och fick följande utdata:
Kod: Markera allt
/dev/sda5
Total/best extents 259533/259166
Average size per extent 25 KB
Fragmentation score 0
/dev/sda6
Total/best extents 16745/13771
Average size per extent 792 KB
Fragmentation score 1
/dev/sda8
Total/best extents 281326/279584
Average size per extent 43 KB
Fragmentation score 0
/dev/sda9
Total/best extents 33857/32271
Average size per extent 339 KB
Fragmentation score 0
/dev/sda10
Total/best extents 258006/257158
Average size per extent 27 KB
Fragmentation score 0
/dev/sda11
Total/best extents 19305/17720
Average size per extent 396 KB
Fragmentation score 1
/dev/sda12
Total/best extents 1604/648
Average size per extent 53557 KB
Fragmentation score 0
Ser man till hur mycket som är fragmenterat för data som lagrats, dvs gör en jämförelse mellan
total/best extents
så får jag enligt formeln
100 * (total - best) / total följande procenttal:
Kod: Markera allt
sda5 0,14% score 0
sda6 17,76% score 1
sda8 0,62% score 0
sda9 4,68% score 0
sda10 0,33% score 0
sda11 8,21% score 1
sda12 59,6% score 0 (skumt fall)
och det känns som att score borde vara ett avrundat procenttal men isf kan det vara en bugg som ger score 0 för 0-9%, 1 för 10-19%, etc. Det stämmer då hyfsat för mig bortsett från fallet sda12 som isf borde ha gett score=5.
Som sagt något är lurt här
Jag såg även ett fall på UF där någon testat och fick köra kommandot fler gånger för att få full defragmentering! Inte heller det bra efter 3 års testande för utvecklarna.