Vilket Linux-filsystem ska du använda?
När du formaterar partitioner på en Linux-dator ser du ett stort antal olika filsystemalternativ. Dessa alternativ behöver inte vara överväldigande. Om du inte är säker på vilket Linux-filsystem du vill använda finns det ett enkelt svar.
Snabbsvaret: Använd Ext4 om du inte är säker
Vi kommer in i ogräset och kolliderar skillnaden mellan de olika filsystemen på ett ögonblick, men om du inte är säker: Använd Ext4.
Ext4 är standardfilsystemet på de flesta Linux-distributioner av en anledning. Det är en förbättrad version av det äldre Ext3-filsystemet. Det är inte det mest banbrytande filsystemet, men det är bra: det betyder att Ext4 är rockfast och stabilt.
I framtiden kommer Linux-distributionerna gradvis att ändras mot BtrFS. BtrFS är fortfarande framkanten och ser mycket utveckling, så du vill undvika det på produktionssystem. Risken för datakorruption eller andra problem är inte värt den potentiella förbättringen av hastigheten.
Observera dock att detta "använd Ext4" -råd endast gäller för Linux-systempartitioner och andra skivpartitioner som endast Linux kommer att komma åt. Om du formaterar en extern enhet som du vill dela med andra operativsystem, ska du inte använda Ext4 eftersom Windows, MacOS och andra enheter inte kan läsa Ext4-filsystem. Du vill använda exFAT eller FAT32 när du formaterar en extern enhet på Linux.
Om du konfigurerar partitioner på din huvudsakliga Linux-startdrivrutin, vill du också skapa en bytpartition av åtminstone några GBs i storlek när du konfigurerar dessa partitioner. Denna partition används för "swap space". Det liknar personsökningsfilen på Windows. Linux byter ut minne till byteutrymmet när dess RAM är fullt. Denna partition måste formateras som "swap" istället för med ett visst filsystem.
Vad är journalen?
En sak du märker när du väljer mellan filsystem är att vissa av dem är markerade som ett "journaling" filsystem och vissa är inte. Det här är viktigt.
Journaling är utformad för att förhindra datakorruption från kraschar och plötslig strömförlust. Låt oss säga att systemet är delvis genom att skriva en fil till disken och det förlorar plötsligt ström. Utan en journal skulle din dator inte ha någon aning om filen var helt skriven till disken. Filen skulle vara kvar på disken, korrupt.
Med en journal skulle din dator notera att det skulle skriva en viss fil till disk i tidskriften, skriva den filen till disken och ta bort det jobbet från tidningen. Om strömmen gick ut halvvägs genom att skriva filen, skulle Linux kontrollera filsystemets journal när det startar upp och återuppta alla delvis färdiga jobb. Detta förhindrar dataförlust och filkorruption.
Journaling skriver långsamt disken på en liten bit, men det är väl värt det på en stationär eller bärbar dator. Det är inte så mycket överhuvudtaget som du kanske tror. Hela filen är inte skrivet till tidningen. Istället registreras endast metadata för filen, inoden eller disken i journalen innan den skrivs till disken.
Varje modernt filsystem stöder journaling, och du vill använda ett filsystem som stöder journaling när du installerar en stationär eller bärbar dator.
Filsystem som inte erbjuder journaling är tillgängliga för högpresterande servrar och andra sådana system där administratören vill pressa ut extra prestanda. De är också perfekta för flyttbara flash-enheter, där du inte vill ha högre kostnader och extra skrivning av journaling.
Vad är skillnaden mellan alla dessa Linux-filsystem?
Medan Microsoft utvecklar Windows och Apple kontrollerar MacOS är Linux ett open source-projekt som utvecklats av samhället. Någon (eller något företag) med färdighet och tid kan skapa ett nytt Linux-filsystem. Det är en anledning till att det finns så många alternativ. Här är skillnaderna:
- Ext står för "Extended File System", och var den första som skapades speciellt för Linux. Det har haft fyra stora revideringar. "Ext" är den första versionen av filsystemet, som introducerades 1992. Det var en stor uppgradering från det Minix-filsystem som användes då, men saknar viktiga funktioner. Många Linux-distributioner stöder inte längre Ext.
- ext2 är inte ett journaling-filsystem. När det introducerades var det första filsystemet för att stödja utökade filattribut och 2 terabyte-enheter. Ext2 saknar en journal betyder att den skriver till disken mindre, vilket gör den användbar för flashminne som USB-enheter. Filsystem som exFAT och FAT32 använder emellertid inte journaling och är mer kompatibla med olika operativsystem, så vi rekommenderar att du undviker Ext2 om du inte vet att du behöver det av någon anledning.
- ext3 är i princip bara Ext2 med journaling. Ext3 utformades för att vara bakåtkompatibel med Ext2, vilket gör att partitioner kan konverteras mellan Ext2 och Ext3 utan någon formatering som krävs. Det har varit runt längre än Ext4, men Ext4 har funnits sedan 2008 och testas allmänt. På det här sättet är du bättre med att använda Ext4.
- ext4 var också utformad för att vara bakåtkompatibel. Du kan montera ett Ext4-filsystem som Ext3, eller montera ett Ext2-fil eller Ext3-filsystem som Ext4. Den innehåller nyare funktioner som minskar filfragmentering, möjliggör större volymer och filer och använder fördröjd fördelning för att förbättra livslängden för minnet. Detta är den mest moderna versionen av Ext-filsystemet och är standard för de flesta Linux-distributioner.
- btrfs, uttalad "Smör" eller "Bättre" FS, ursprungligen designades av Oracle. Den står för "B-Tree File System" och möjliggör körningspooling, i snapshots, transparent komprimering och online-defragmentering. Den delar ett antal av samma idéer som hittades i ReiserFS, ett filsystem användes vissa Linux-distribueringar som standard. BtrFS är utformad för att vara en ren paus från Ext-serien av filsystem. Ted Ts'o, underhållare av Ext4-filsystemet, anser Ext4 vara en kortsiktig lösning och anser att BtrFS är vägen framåt. Förvänta sig att BtrFS blir standard i både företagsserver och Linux-distribution för konsumentkommunikation under de närmaste åren, eftersom det testas ytterligare.
- ReiserFS var ett stort steg framåt för Linux-filsystem när det introducerades 2001 och det inkluderade många nya funktioner Ext skulle aldrig kunna implementera. ReiserFS ersattes av Reiser4, vilket förbättrats på många av de funktioner som var ofullständiga eller saknade i den ursprungliga utgåvan 2004. Men Reiser4-utvecklingen stallades efter att huvudutvecklaren, Hans Reiser, skickades till fängelse 2008. Reiser4 är fortfarande inte i den huvudsakliga Linux-kärnan och det är osannolikt att komma dit. BtrFS är det bättre långsiktiga valet.
- ZFS designades av Sun Microsystems för Solaris och ägs nu av Oracle. ZFS stöder många avancerade funktioner, inklusive drivning av pool, ögonblicksbilder och dynamisk diskstrimmande-BtrFS kommer som standard att medföra många av dessa funktioner till Linux. Varje fil har en kontrollsumma, så ZFS kan berätta om en fil är skadad eller inte. Sol öppen källkod ZFS under Sun CDDL-licensen, vilket innebär att den inte kan ingå i Linux-kärnan. Du kan dock installera ZFS-support på någon Linux-distribution. Ubuntu erbjuder nu officiellt ZFS-stöd som börjar med Ubuntu 16.04. Ubuntu använder ZFS som standard för containrar.
- XFS utvecklades av Silicon Graphics 1994 för SGI IRX-operativsystemet och överfördes till Linux 2001. Det liknar Ext4 på vissa sätt, eftersom det också använder fördröjd tilldelning för att hjälpa till med filfragmentering och tillåter inte monterade ögonblicksbilder. Det kan förstoras, men inte krympt, på flugan. XFS har bra prestanda när man hanterar stora filer, men har sämre prestanda än andra filsystem när man hanterar många små filer. Det kan vara användbart för vissa typer av servrar som främst behöver hantera stora filer.
- JFS, eller "Journaled File System", utvecklades av IBM för IBM AIX-operativsystemet 1990 och senare portat till Linux. Den har en låg CPU-användning och bra prestanda för både stora och små filer. JFS-partitioner kan omvandlas dynamiskt, men inte krympt. Det var extremt väl planerat och har stöd i de flesta större distributioner, men dess produktionstest på Linux-servrar är inte lika omfattande som Ext, som den var avsedd för AIX. Ext4 används vanligare och testas mer allmänt.
- Byta är ett alternativ när du formaterar en enhet, men det är inte ett faktiskt filsystem. Den används som virtuellt minne och har inte en filsystemstruktur. Du kan inte montera den för att se innehållet. Byte används som "skraputrymme" av Linux-kärnan för att tillfälligt lagra data som inte kan passa i RAM. Den används också för dvala. Medan Windows lagrar sin personsökningsfil som en fil på sin huvudsystempartition, reserverar Linux bara en separat tom partition för bytesplats.
- FAT16, FAT32, och exFAT: Microsofts FAT-filsystem är ofta ett alternativ när du formaterar en enhet i Linux. Dessa filsystem innehåller inte en journal, så de är idealiska för externa USB-enheter. De är en de facto-standard som alla operativsystem-Windows, MacOS, Linux och andra enheter-kan läsa. Detta gör dem till det idealiska filsystemet som ska användas när du formaterar en extern enhet som du vill använda med andra operativsystem. FAT32 är äldre. exFAT är det perfekta alternativet, eftersom det stöder filer över 4 GB i storlek och partitioner över 8 TB i storlek, till skillnad från FAT32.
Det finns också andra Linux-filsystem, inklusive filsystem som är utformade speciellt för flashlagring i inbyggda enheter och på SD-kort. Men det här är de alternativ som du oftast ser när du använder Linux.