MTE forklarer: Linux Diskstruktur og hvorfor det ikke behøver defragmentering
Er Linux så stor, at der ikke er nogen fragmentering af dataene? FALSK. Linux er fantastisk (det er sandt), men selv i dine vildeste drømme er der ingen måde at fuldstændigt udrydde en diskfragmentation. Jeg ser dig komme der: " Jeg har aldrig defragmenteret mit Linux-system, faktisk har jeg aldrig set et værktøj til det, og min computer har aldrig vist noget problem. Er du sikker på, at du ved hvad du taler om? "Nå har du ret. I princippet behøver du ikke defragmentere din disk på Linux. Data kan være fragmenteret, men i teorien behøver du ikke bekymre dig om det, og her er hvorfor.
Fragmentation Vs. defragmentering
Vi har alle hørt om defragmentering. Men først, hvad er fragmentering af data? For at forklare dette koncept er et af de bedste eksempler, du kan finde, den, der blev brugt af Roberto Di Cosmo i en konference fra 1998:
Din harddisk (eller en hvilken som helst anden lagringsenhed) er som en hylde opdelt i kasser. Alle kasser er af samme størrelse, og du bruger hylden til at gemme mapper og filer. Når hylden er tom, er det nemt at lægge en mappe i en kasse. Hvis mappen er for stor til at passe i en boks, deler du den og gemmer overskydende i boksen ud for den. Det kan du gøre, så længe du har plads nok. Men når du beskæftiger dig med data på en computer, især den, der bruges af programmer, varierer størrelsen meget. Nogle filer bliver større, slettet eller flyttet. Så meget hurtigt bliver din hylde et rod. Nogle kasser er halvt tomme, andre kan ikke indeholde en voksende mappe. Der er ingen gratis kasser i bunden af hylden (du startede øverst), men du skal stadig gemme en ny mappe. Derfor søger du efter nogle ledige mellemrum i de foregående felter. I sidste ende er din mappe delt og gemt med nogle andre dele af mapper. Du kan forestille dig, hvor svært det kommer til at være for at hente hele filen i hylden. Selvom du skrev ned, hvor du lagrede de forskellige dele, skal du stadig søge i forskellige felter for at indsamle alle filerne.
Du kan nu forestille dig, at din computers smerte søger efter en fil, når disken er virkelig fragmenteret. Sammenlignet med din processorens hastighed er den tid, der kræves af harddisken, at finde en fragmenteret mappe en lille evighed. Så for at stoppe lidelserne og forsinkelserne bruger vi defragmenteringsprocessen. Det gør i grunden hvad det lyder som: tager alt ud og forsøger at sætte alle mapperne tilbage i rækkefølge, slippe af med de spildte mellemrum og lagre de opdelte dele tilbage ved siden af hinanden.
Hvorfor vedrører det ikke Linux
Linux står ikke over for hyldeproblemet. I det mindste ikke i det omfang. Dette skyldes typen af filsystem, der er oprettet specielt til Linux: ext4. Ext4, som andre filsystemer, styrer data og plads på en harddisk, men gør også sit bedste for at forhindre fragmentering. Gå tilbage til hyldekonceptet, når du gemmer en mappe i en boks, vil ext4 automatisk bestille nabokasser. Det forsøger at foregribe mappeudvidelsen, og det gør det faktisk godt. På den måde vil ingen mapper blive opdelt, og hylderne forbliver bestilt.
Ulempen er, at metoden kræver meget ledig plads. Hvis der ikke er nogen kasser tilbage i hylden, har ext4 ikke andet valg end at gå tilbage til den gamle metode til at fylde hullerne. Dette kan ske, hvis du har mindre end 20% ledig plads på din harddisk. Så generelt er din harddisk ikke fragmenteret, eller hvis den er, er den ofte mindre end 3% af dens størrelse.
Konklusion
JA der kan fragmentering på Linux, men NEJ du behøver ikke at gøre noget ved det. Det eneste råd, jeg giver dig, er at klare din harddisk godt, bruge LVM, hvis du kan og forlade mere end 20% ledig plads til enhver tid. Hvis du af en eller anden grund har mistanke om en tung fragmentering, er den enkleste løsning at flytte alt på en separat enhed og overføre den tilbage. Ext4 skal gøre resten.
Har du et andet tip mod fragmentering? Eller et andet spørgsmål om emnet? Lad os vide det i kommentarerne.
Billedkredit: Opbevaring af BigStockPhoto