MTE förklarar: Linux-diskstruktur och varför det inte behöver defragmentering
Är Linux så bra att det inte finns någon fragmentering av data? FALSK. Linux är bra (det är sant) men även i dina vildaste drömmar finns det inget sätt att helt utrota en fragmentering av skivor. Jag ser dig komma dit: " Jag har aldrig defragmenterat mitt Linux-system, jag har faktiskt aldrig sett ett verktyg för det, och min dator har aldrig visat något problem. Är du säker på att du vet vad du pratar om? "Jo, du har rätt. I princip behöver du inte defragmentera din disk på Linux. Data kan splittras, men i teorin behöver du inte oroa dig för det, och här är varför.
Fragmentation Vs. Defragmentering
Vi har alla hört talas om defragmentering. Men först, vad är fragmentering av data? För att förklara detta begrepp är ett av de bästa exemplen du kan hitta den som användes av Roberto Di Cosmo vid en konferens 1998:
Din hårddisk (eller någon annan lagringsenhet) är som en hylla uppdelad i lådor. Alla lådor är av samma storlek och du använder hyllan för att lagra mappar och filer. När hyllan är tom är det enkelt att lägga en mapp i en låda. Om mappen är för stor för att passa i en låda delar du den och lagrar överskottet i rutan bredvid den. Du kan göra så länge du har tillräckligt med utrymme kvar. Men när du hanterar data på en dator, särskilt den som används av program, varierar storleken mycket. Vissa filer blir större, raderas eller flyttas. Så snabbt blir din hyllan en röra. Vissa lådor är halvt tomma, andra kan inte innehålla en växande mapp. Det finns inga fria lådor längst ner på hyllan (du startade högst upp) men du behöver fortfarande lagra en ny mapp. Därför söker du efter några fria mellanslag i de tidigare rutorna. I slutet är din mapp uppdelad och lagrad med några andra delar av mappar. Du kan tänka dig hur svårt det kommer att vara för att hämta hela filen i hyllan. Även om du skrev ner var du lagrade de olika delarna måste du fortfarande söka i olika lådor för att samla alla filer.
Du kan nu föreställa sig smärtan på din dator som söker efter en fil när skivan är verkligen fragmenterad. Jämfört med processorns hastighet är den tid som krävs av din hårddisk för att hitta en fragmenterad mapp en liten evighet. Så för att stoppa lidandet och förseningarna använder vi defragmenteringsprocessen. Det gör i grunden vad det låter som: tar allt ut och försöker sätta tillbaka alla mappar i ordning, bli av med bortkastade utrymmen och lagra de uppdelade delarna bakom varandra.
Varför det inte gäller Linux
Linux står inte inför hyllans problem. Åtminstone inte i den utsträckningen. Detta beror på typ av filsystem som skapats speciellt för Linux: ext4. Ext4, som andra filsystem, hanterar data och utrymme på en hårddisk, men gör också sitt bästa för att förhindra fragmentering. När du går tillbaka till hyllkonceptet, när du lagrar en mapp i en låda, kommer ext4 automatiskt att boka de närliggande lådorna. Det försöker att förutse mappexpansionen, och det gör det faktiskt ganska bra. På så sätt kommer inga mappar att delas upp och hyllan kommer att förbli beställd.
Nackdelen är att metoden kräver mycket ledigt utrymme. Om det inte finns några lådor kvar i hyllan har ext4 inget annat val än att gå tillbaka till den gamla metoden för att fylla hålen. Detta kan hända om du har mindre än 20% ledigt utrymme kvar på hårddisken. Så allmänt är din hårddisk inte fragmenterad, eller om den är, är den ofta mindre än 3% av dess storlek.
Slutsats
JA där kan fragmentering på Linux, men NEJ du behöver inte göra något åt det. Det enda råd som jag ska ge er att hantera din hårddisk, använd LVM om du kan och lämna mer än 20% ledigt utrymme hela tiden. Om du misstänker en stor fragmentering, är den enklaste lösningen att flytta allt på en separat enhet och överföra den tillbaka. Ext4 ska göra resten.
Har du ett annat tips mot fragmentering? Eller en annan fråga om ämnet? Vänligen meddela oss i kommentarerna.
Bildkrediter: Lagring av BigStockPhoto