Zoeken op website

Hoe u Linux-systeempartities en -mappen kunt repareren en defragmenteren


Mensen die Linux gebruiken denken vaak dat er geen defragmentatie nodig is. Dit is een veel voorkomend misverstand onder Linux-gebruikers. Eigenlijk ondersteunt het Linux-besturingssysteem defragmentatie. Het doel van de defragmentatie is het verbeteren van I/O-bewerkingen, zoals het sneller laden van lokale video's of het aanzienlijk sneller uitpakken van archieven.

De Linux ext2-, ext3- en ext4-bestandssystemen hebben niet zoveel aandacht nodig, maar na verloop van tijd, na het uitvoeren van vele, vele lees-/schrijfbewerkingen, kan het bestandssysteem optimalisatie nodig hebben. Anders kan de harde schijf langzamer worden en het hele systeem beïnvloeden.

In deze tutorial laat ik je enkele verschillende technieken zien om defragmentatie van bestanden uit te voeren. Voordat we beginnen, moeten we vermelden wat de gebruikelijke bestandssystemen zoals ext2,3,4 doen om fragmentatie te voorkomen. Deze bestandssystemen bevatten technieken om het effect te voorkomen. Bestandssystemen reserveren bijvoorbeeld vrije blokgroepen op de harde schijf om groeiende bestanden volledig op te slaan.

Helaas wordt het probleem niet altijd opgelost met een dergelijk mechanisme. Hoewel voor andere besturingssystemen mogelijk dure aanvullende software nodig is om dergelijke problemen op te lossen, heeft Linux een aantal eenvoudig te installeren hulpprogramma's die u kunnen helpen dergelijke problemen op te lossen.

Hoe controleer ik of een bestandssysteem defragmentatie vereist?

Voordat we beginnen wil ik erop wijzen dat de onderstaande bewerkingen alleen mogen worden uitgevoerd op HDD's en niet op SSD. Het defragmenteren van uw SSD-schijf zal het lees-/schrijfaantal alleen maar verhogen en daardoor de levensduur ervan verkorten. Als u SSD gebruikt, moet u in plaats daarvan de TRIM-functie gebruiken, die niet in deze zelfstudie wordt behandeld.

laten we testen of het systeem daadwerkelijk defragmentatie vereist. We kunnen dit eenvoudig controleren met een tool zoals e2fsck. Voordat u deze tool op een partitie op uw systeem gebruikt, is het raadzaam die partitie te ontkoppelen. Dit is niet helemaal noodzakelijk, maar het is de veilige manier om te gaan:

sudo umount <device file>

In mijn geval heb ik /dev/sda1 aangekoppeld op /tmp:

Houd er rekening mee dat in uw geval de partitietabel anders kan zijn, dus zorg ervoor dat u de juiste partitie ontkoppelt. Om die partitie te ontkoppelen, kunt u het volgende gebruiken:

sudo umount /dev/sda1

Laten we nu controleren of deze partitie defragmentatie vereist, met e2fsck. U moet de volgende opdracht uitvoeren:

sudo e2fsck -fn /dev/sda1

Met de bovenstaande opdracht wordt een bestandssysteemcontrole uitgevoerd. De optie -f forceert de controle, zelfs als het systeem schoon lijkt. De -n optie wordt gebruikt om het bestandssysteem alleen-lezen te openen en een antwoord van "nee" aan te nemen op alle vragen die kunnen verschijnen.

Deze optie maakt het feitelijk mogelijk om e2fsck niet-interactief te gebruiken. Als alles Oké is, zou je een resultaat moeten zien dat vergelijkbaar is met het resultaat in de onderstaande schermafbeelding:

Hier is nog een voorbeeld dat fouten op een systeem laat zien:

Hoe Linux-bestandssysteem te repareren met e2fsck

Als er fouten optreden, kunt u proberen het bestandssysteem te repareren met e2fsck met de optie “-p”. Merk op dat om de onderstaande opdracht uit te voeren, de partitie moet worden ontkoppeld:

sudo e2fsck -p <device file>

De “-p” opties proberen automatisch het bestandssysteem te repareren voor problemen die veilig kunnen worden opgelost zonder menselijke tussenkomst. Als er een probleem wordt ontdekt waarvoor de systeembeheerder mogelijk aanvullende corrigerende maatregelen moet nemen, drukt e2fsck een beschrijving van het probleem af en wordt afgesloten met code 4, wat betekent 'Bestandssysteemfouten blijven ongecorrigeerd'. Afhankelijk van het gevonden probleem kunnen verschillende acties nodig zijn.

Als het probleem zich voordoet op een partitie die niet kan worden ontkoppeld, kunt u een andere tool gebruiken genaamd e4defrag. Het is vooraf geïnstalleerd op veel Linux-distributies, maar als je het niet op de jouwe hebt, kun je het installeren met:

sudo apt-get install e2fsprogs         [On Debian and Derivatives]
yum install e2fsprogs                  [On CentOS based systems]
dnf install e2fsprogs                  [On Fedora 22+ versions] 

Hoe Linux-partities te defragmenteren

Nu is het tijd om Linux-partities te defragmenteren met behulp van de volgende opdracht.

sudo e4defrag <location>
or
sudo e4defrag <device>

Hoe Linux-map te defragmenteren

Als u bijvoorbeeld één map of apparaat wilt defragmenteren, kunt u het volgende gebruiken:


sudo e4defrag /home/user/directory/
sudo e4defrag /dev/sda5

Hoe alle Linux-partities te defragmenteren

Als u liever uw hele systeem defragmenteert, is de veilige manier om dit te doen:

sudo e4defrag /

Houd er rekening mee dat dit proces enige tijd kan duren voordat het is voltooid.

Conclusie

Defragmentatie is een bewerking die u in Linux zelden zult hoeven uitvoeren. Het is bedoeld voor ervaren gebruikers die weten wat ze precies doen en wordt niet aanbevolen voor Linux-nieuwkomers. Het punt van de hele actie is om uw bestandssysteem te optimaliseren, zodat nieuwe lees-/schrijfbewerkingen efficiënter worden uitgevoerd.