Defragmenteringsfunktionen för ext4 släppt!

Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Kategoriregler
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Bowmore
Inlägg: 6212
Blev medlem: 28 mar 2007, 23:01
OS: Ubuntu
Ort: Stockholm

Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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

Kod: Markera allt

sudo e4defrag -c /dev/sda6
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.
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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...
Användarvisningsbild
vulfgar
ung forumnörd
Inlägg: 12893
Blev medlem: 01 okt 2006, 22:31
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Bohuslän

Re: Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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. :D
På internet vet ingen att du är en hund. ..... ~~~ ..... I'm a bitch! 8)
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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. :D
Jag ska göra likadant måste bara byta dator, tji fick jag för att vara lat med att att fråga ;)
Bowmore
Inlägg: 6212
Blev medlem: 28 mar 2007, 23:01
OS: Ubuntu
Ort: Stockholm

Re: Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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. :D
Jo, det beror ju ett antal faktorer som stora filer lite ledigt utrymme, etc
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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
Bowmore
Inlägg: 6212
Blev medlem: 28 mar 2007, 23:01
OS: Ubuntu
Ort: Stockholm

Re: Defragmenteringsfunktionen för ext4 släppt!

Inlägg 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 :o

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.
Skriv svar

Återgå till "Experimentverkstad"