MTE forklarer: Linux Disk Structure og hvorfor det ikke trenger defragmentering
Er Linux så bra at det ikke er fragmentering av dataene? FALSK. Linux er flott (det er sant), men selv i dine villeste drømmer, er det ingen måte å fullstendig utrydde en diskfragmentering. Jeg ser deg komme dit: " Jeg har aldri defragmentert Linux-systemet, faktisk så jeg aldri et verktøy for det, og datamaskinen min har aldri vist noe problem. Er du sikker på at du vet hva du snakker om? "Vel, du har rett. I prinsippet trenger du ikke å defragmentere disken din på Linux. Data kan være fragmentert, men i teorien trenger du ikke å bekymre deg for det, og her er hvorfor.
Fragmentering Vs. Defragmentering
Vi har alle hørt om defragmentering. Men først, hva er fragmentering av data? For å forklare dette konseptet, er et av de beste eksemplene du kan finne den som ble brukt av Roberto Di Cosmo i en konferanse fra 1998:
Harddisken din (eller annen lagringsenhet) er som en hylle delt i esker. Alle boksene er av samme størrelse og du bruker hyllen til å lagre mapper og filer. Når hyllen er tom, er det enkelt å sette en mappe i en boks. Hvis mappen er for stor til å passe i en boks, deler du den og lagrer overskudd i boksen ved siden av den. Du kan gjøre det så lenge du har nok plass igjen. Men når du arbeider med data på en datamaskin, spesielt den som brukes av programmer, varierer størrelsen mye. Noen filer blir større, slettet eller flyttet. Så veldig raskt blir sokkelen ditt rotete. Noen bokser er halvt tomme, andre kan ikke inneholde en voksende mappe. Det finnes ingen frie bokser nederst på hyllen (du startet øverst), men du må fortsatt lagre en ny mappe. Derfor søker du etter noen ledige mellomrom i de forrige boksene. Til slutt er mappen din delt og lagret med noen andre deler av mapper. Du kan forestille deg hvor vanskelig det skal være for å hente hele filen i hyllen. Selv om du skrev ned hvor du lagret de forskjellige delene, må du fortsatt søke i forskjellige bokser for å samle alle filene.
Du kan nå forestille deg smerten i datamaskinen din som søker etter en fil når disken er veldig fragmentert. Sammenlignet med prosessorens hastighet, er tiden som trengs av harddisken for å finne en fragmentert mappe en liten evighet. For å stoppe lidelsene og forsinkelsene bruker vi defragmenteringsprosessen. Det gjør i utgangspunktet hva det høres ut: tar alt ut og prøver å sette alle mappene tilbake i orden, bli kvitt bortkastede mellomrom og lagre delte deler tilbake ved siden av hverandre.
Hvorfor gjelder det ikke Linux
Linux står ikke overfor hylleproblemet. I det minste ikke i den grad. Dette skyldes type filsystem opprettet spesielt for Linux: ext4. Ext4, som andre filsystemer, administrerer dataene og plassen på en harddisk, men gjør også sitt beste for å forhindre fragmentering. Når du lagrer en mappe i en boks tilbake til hyllekonceptet, vil ext4 automatisk bestille nabokassene. Det forsøker å forutse mappen ekspansjon, og faktisk gjør det ganske bra. På den måten vil ingen mapper bli delt og hyllen forblir bestilt.
Ulempen er at metoden krever mye ledig plass. Hvis det ikke er noen bokser igjen i hyllen, vil ext4 ikke ha annet valg enn å gå tilbake til den gamle metoden for å fylle hullene. Dette kan skje hvis du har mindre enn 20% ledig plass på harddisken din. Så generelt er harddisken ikke fragmentert, eller hvis den er, er den ofte mindre enn 3% av sin størrelse.
Konklusjon
Ja det kan fragmentering på Linux, men NEI du trenger ikke å gjøre noe med det. Det eneste rådet jeg skal gi deg, er å styre harddisken din, bruk LVM hvis du kan og la mer enn 20% ledig plass til enhver tid. Hvis du av en eller annen grunn mistenker en tung fragmentering, er den enkleste løsningen å flytte alt på en separat enhet og overføre den tilbake. Ext4 skal gjøre resten.
Har du et annet tips mot fragmentering? Eller et annet spørsmål om emnet? Gi oss beskjed i kommentarene.
Bilde kreditt: Lagring av BigStockPhoto