Ext4: Skillnad mellan sidversioner
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 105: | Rad 105: | ||
<code>dumpe2fs /dev/sdX</code> | <code>dumpe2fs /dev/sdX</code> | ||
[[Kategori:Filssystem]] |
Nuvarande version från 8 januari 2024 kl. 17.29
Ext4 (Fourth Extended File System)
Inledning
ext4 (Fourth Extended File System) är en förbättring och vidareutveckling av dess föregångare, ext3, och är ett av de mest använda filsystemen inom Linux-ekosystemet. Ext4 är känt för sin höga prestanda, tillförlitlighet och avancerade funktioner, vilket gör det till ett populärt val för datalagring på Linux-baserade system. Denna artikel kommer att utforska ext4-filsystemet i tekniskt detalj, inklusive dess historia, arkitektur och funktioner.
Historia
Ext4 utvecklades som en följd av ext2 och ext3-filsystemen. Ext2 var den första versionen och introducerade många av de grundläggande koncepten i filsystemet. Ext3 lade till journaling, vilket förbättrade datans integritet och pålitlighet. Ext4, som första gången släpptes 2006, utökade kapaciteten, ökade prestandan och förbättrade datalagringen i jämförelse med sina föregångare.
Arkitektur
Ext4 har flera viktiga tekniska komponenter:
Blockstorlek
Ext4 stöder olika blockstorlekar, inklusive 1 KB, 2 KB, 4 KB och 8 KB. Den flexibla blockstorleken möjliggör optimering för olika användningsfall, med mindre blockstorlekar som är bra för små filer och större blockstorlekar som är effektiva för stora filer.
Extent Tree
Ext4 använder ett extent tree-förvaltningssystem för att hantera stora filer mer effektivt. Istället för att spåra varje enskild datablock för en fil, används extents för att representera en sekvens av sammanhängande datablock. Detta minskar metadatabelasten och förbättrar prestanda.
Journaling
Ext4 har en förbättrad journaling-mekanism som ökar dataintegriteten genom att hålla koll på filsystemets ändringar. Det finns flera journaling-lägen tillgängliga, inklusive ordered, writeback och data=journal, som var och en erbjuder olika nivåer av integritet och prestanda.
Online Resizing
Ext4 stöder online filsystemförändringar, vilket innebär att du kan ändra storleken på ett aktivt ext4-filsystem utan att behöva demontera det. Detta är användbart för att hantera växande lagringsbehov utan att störa tjänsten.
Hårddisk och SSD-Optimering
Ext4 är optimerat för att fungera bra på både traditionella hårddiskar och SSD-enheter. Det använder funktioner som begärandekö och TRIM för att förbättra prestanda på SSD-enheter.
Funktioner
Ext4 erbjuder flera avancerade funktioner som gör det till ett kraftfullt filsystem:
Stora Filer och Volymer
Ext4 kan hantera mycket stora filer och volymer med stöd för filer upp till 16 TB och volymer upp till 1 EB (exabyte). Detta gör det lämpligt för användningsfall med stor datalagring.
Snabb Skrivning
Ext4 är känt för sin snabba skrivningsprestanda, särskilt när det gäller små filer. Detta är särskilt viktigt för uppgifter som loggning och systemjournaler.
Checksummar
Ext4 använder checksummar för att kontrollera dataintegriteten och upptäcka skadade filer eller block.
Stöd för Kryptering
Ext4 stöder datakryptering på filnivå, vilket ger en extra nivå av säkerhet för användardata.
Radera filer i ext4
När en fil raderas i ett ext4-filsystem, vilket är standardfilsystemet i många Linux-distributioner, genomgår processen flera steg som påverkar både filen och filsystemets metadata. Här är en steg-för-steg översikt av raderingsprocessen i ext4:
1. Raderingsbegäran
- Användaråtgärd:
Processen börjar när en användare begär radering av en fil, vanligtvis genom ett kommando i terminalen som `rm` eller genom en åtgärd i en grafisk filhanterare.
2. Uppdatering av Katalogstrukturen
- Ta bort Katalogposten: Ext4 uppdaterar den katalog (eller mapp) där filen finns. Katalogposten som pekar på filen tas bort. Detta gör att filen inte längre är åtkomlig via filsystemets katalogstruktur.
3. Uppdatering av Inode
- Varje fil i ext4-filsystemet har en inode, som är en datastruktur som lagrar metadata om filen (till exempel filstorlek, ägare, rättigheter, och pekare till de datablock där filens innehåll lagras).
- När en fil raderas, minskar filsystemet referensräknaren för den associerade inoden. Om referensräknaren når noll (vilket innebär att inga länkar kvarstår till filen), markeras inoden och de tillhörande datablocken som lediga.
4. Frigörande av Datablock
- Frigör Block:
Ext4 markerar de datablock som användes för att lagra filens innehåll som lediga. Detta gör att dessa block kan återanvändas av filsystemet för att lagra data från andra filer.
5. Filen Är Inte Omedelbart Överskriven
- Precis som i NTFS, när en fil raderas i ext4, är dess faktiska innehåll inte omedelbart fysiskt raderat eller överskrivet på disken. Innehållet finns kvar på de datablock som tidigare allokerades för filen tills dessa block återanvänds för att lagra nya data.
6. Återställning av Raderade Filer
- På grund av att de faktiska datablocken inte omedelbart överskrivs, kan raderade filer ibland återställas med hjälp av specialiserad återställningsprogramvara, särskilt om återställningen sker snart efter raderingen.
Sammanfattning
Raderingsprocessen i ext4 involverar uppdatering av katalogstrukturen och inoder för att reflektera borttagningen av filen och frigöra de datablock som användes för att lagra filens innehåll. Även om referenserna till filen tas bort och dess innehåll inte längre är direkt åtkomligt, finns filens data faktiskt kvar på disken tills dess att det överskrivs av nya data. Detta gör det möjligt för återställningsverktyg att potentiellt återställa raderade filer, särskilt om inga nya data har skrivits till de berörda blocken.
Kommando för ext4 filesystem
mkfs.ext4
:
Detta kommando används för att skapa ett nytt ext4-filsystem på en partition eller enhet. Det används vid formatering av enheter för att använda ext4.
Till exempel:
sudo mkfs.ext4 /dev/sdX
e2fsck
:
Kommandot e2fsck
används för att kontrollera och reparera ett ext4-filsystem. Du kan köra det för att kontrollera filsystemets integritet och korrigera eventuella fel. Till exempel:
sudo e2fsck -f /dev/sdX
tune2fs
:
Med tune2fs
-kommandot kan du ändra konfigurationen och parametrarna för ett befintligt ext4-filsystem. Du kan använda det för att ändra etiketten på filsystemet, justera journalinställningar och mer. Till exempel:
sudo tune2fs -L "NyttNamnPåFilsystemet" /dev/sdX
dumpe2fs
:
Med dumpe2fs
kan du visa detaljerad information om ett ext4-filsystem, inklusive dess superblock, blockstorlek, journalinställningar och mycket mer. Till exempel:
dumpe2fs /dev/sdX