ext4 partition seg efter nästan full. Hur fixa?

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Jun 2009

ext4 partition seg efter nästan full. Hur fixa?

Har en dator med Linux Debian som kör Samba och agerar NAS. Sitter 4 hårddiskar för lagring och 1 för OS alla med ext4.

Fyllde en av lagringsdiskarna så att status för ledigt utrymme visade rött. Har därefter blivit väldigt segt att läsa filer från NASens samtliga lagringsdiskar. När jag kopierade filer fram och tillbaka så kunde jag ha hastigheter upp till 100MB/s innan, medan det nu går i max 1 MB/s. Har flyttat de senaste filerna för mer utrymme på disken men problemet kvarstår.

Hur fixar jag problemet?

Citera för svar

Asus Prime X370-Pro | AMD Ryzen 7 1800X | G.Skill Flare X AMD Series
16GB 3200MHz DDR4 | Asus GeForce GTX 1060 Dual OC | Samsung 840 Pro 256GB | Samsung 850 EVO 500GB | Corsair RM750X 750W | Fractal Design Define R5

Trädvy Permalänk
Medlem
Registrerad
Maj 2003

Jag gissar att filsystemet eller filsystemen är fragmenterade, vilket orsakar den låga hastigheten. Ext4 klarar sig ganska bra mot defragmentering, så det är normalt sett inte nödvändigt. Men när du har den fylld till nästan 100% och sedan tar bort och lägger till filer så är fragmentering svårt att undvika.

Testa med:

sudo e4defrag -c /dev/sd*

Så söks alla dina filsystem från /dev/sd* igenom och den visar hur pass defragmenterade de är.
Ersätt med /dev/md0 eller /dev/mapper/* om du kör raid eller krypterat. Kör "df" om du inte minns hur du satte upp filsystemen, för en lista över monterad filsystem.

Defragmentera sedan om det behövs med:

sudo e4defrag /dev/sda1 (om sda1 är fragmenterad)

Om det är stora diskar som du vill lagra mycket på så kan det även vara värt att släppa på området reserverat för root, vilket normalt sett är på 5% av utrymmet. För stora diskar är 5% för mycket, speciellt på lagringsdiskar som OS inte körs från.

sudo tune2fs -m 0.5 /dev/sda1 (för sda1)

ändrar så att bara 0,5% av lagringsutrymmet reserveras för root. Du kan även sätta 0, om du vet att bara du använder filsystemet och att root aldrig behöver skriva dit.

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Jun 2009
Skrivet av Genesis:

Jag gissar att filsystemet eller filsystemen är fragmenterade, vilket orsakar den låga hastigheten. Ext4 klarar sig ganska bra mot defragmentering, så det är normalt sett inte nödvändigt. Men när du har den fylld till nästan 100% och sedan tar bort och lägger till filer så är fragmentering svårt att undvika.

Testa med:

sudo e4defrag -c /dev/sd*

Så söks alla dina filsystem från /dev/sd* igenom och den visar hur pass defragmenterade de är.
Ersätt med /dev/md0 eller /dev/mapper/* om du kör raid eller krypterat. Kör "df" om du inte minns hur du satte upp filsystemen, för en lista över monterad filsystem.

Defragmentera sedan om det behövs med:

sudo e4defrag /dev/sda1 (om sda1 är fragmenterad)

Om det är stora diskar som du vill lagra mycket på så kan det även vara värt att släppa på området reserverat för root, vilket normalt sett är på 5% av utrymmet. För stora diskar är 5% för mycket, speciellt på lagringsdiskar som OS inte körs från.

sudo tune2fs -m 0.5 /dev/sda1 (för sda1)

ändrar så att bara 0,5% av lagringsutrymmet reserveras för root. Du kan även sätta 0, om du vet att bara du använder filsystemet och att root aldrig behöver skriva dit.

Ska testa. Tackar för svar och återkommer om jag fixar det.

Citera för svar

Asus Prime X370-Pro | AMD Ryzen 7 1800X | G.Skill Flare X AMD Series
16GB 3200MHz DDR4 | Asus GeForce GTX 1060 Dual OC | Samsung 840 Pro 256GB | Samsung 850 EVO 500GB | Corsair RM750X 750W | Fractal Design Define R5

Trädvy Permalänk
Medlem
Registrerad
Aug 2016

Kolla också med kommadot 'dmesg' (som root) att det inte börja dyka upp meddelande om i/o-fel och retry-läsning då du också kan ha en disk som börja fundera på att lämna in handduken - då kan det gå väldigt långsamt men ändå inte så pass att RAID-systemet kastat ut disken ännu (har själv haft ett sådan fall helt nyligen).

Du har förhoppningsvis minst RAID5 - då om det är en JBOD--lösning så är det bråttom att göra backup/flytta på alla filerna innan disken rasar helt och hela volymen ej accessbar för någon av filerna.

Och en sak till - du har väl backup på din NAS - NAS är inte backuplösning och har du inte detta så köp nödigt antal externa USB-diskar och se till att det blir gjort, så slipper vi se ännu en som desperat försöker få tillbaka sina data på en krachad NAS på forumet...

om du har trasig disk på RAID5 så gör du din backup _före_ innan du sätter in den nya disken istället för den trasiga disken (den trasiga kan ev behövas tas ut för att backuppen skall få någon fart då den trasiga disken annars slöar ned överföringen helt otroligt mycket) - i RAID5-lösning är det allt för stor risk att disk 2 går sönder under resync och du förlorar hela RAID5-volymen med alla dessa filer.

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Jun 2009

Slutade med att jag gjorde en ominstallation då jag ändå satt på gammal version av Debian (6.0.5). Fungerar felfritt nu och min gissning är att det var något strul med nätverket. Var dålig hastighet oberoende av vilken av de 4 diskarna jag skrev till eller läste från.

Skrivet av xxargs:

Kolla också med kommadot 'dmesg' (som root) att det inte börja dyka upp meddelande om i/o-fel och retry-läsning då du också kan ha en disk som börja fundera på att lämna in handduken - då kan det gå väldigt långsamt men ändå inte så pass att RAID-systemet kastat ut disken ännu (har själv haft ett sådan fall helt nyligen).

Du har förhoppningsvis minst RAID5 - då om det är en JBOD--lösning så är det bråttom att göra backup/flytta på alla filerna innan disken rasar helt och hela volymen ej accessbar för någon av filerna.

Och en sak till - du har väl backup på din NAS - NAS är inte backuplösning och har du inte detta så köp nödigt antal externa USB-diskar och se till att det blir gjort, så slipper vi se ännu en som desperat försöker få tillbaka sina data på en krachad NAS på forumet...

om du har trasig disk på RAID5 så gör du din backup _före_ innan du sätter in den nya disken istället för den trasiga disken (den trasiga kan ev behövas tas ut för att backuppen skall få någon fart då den trasiga disken annars slöar ned överföringen helt otroligt mycket) - i RAID5-lösning är det allt för stor risk att disk 2 går sönder under resync och du förlorar hela RAID5-volymen med alla dessa filer.

Kör inte RAID men har funderingar på att göra det. Vad gäller backup så kör jag 1TB onedrive på de filer jag anser viktiga på min dator. När det kommer till min NAS så är det mer masslagring av media som jag skulle kunna klara mig utan, även om det vore trist om det gick förlorat.

Citera för svar

Asus Prime X370-Pro | AMD Ryzen 7 1800X | G.Skill Flare X AMD Series
16GB 3200MHz DDR4 | Asus GeForce GTX 1060 Dual OC | Samsung 840 Pro 256GB | Samsung 850 EVO 500GB | Corsair RM750X 750W | Fractal Design Define R5