Bij het formatteren van partities op een Linux PC ziet u een grote verscheidenheid aan bestandssysteem opties. Deze opties hoeven niet overweldigend te zijn. Als u niet zeker weet welk Linux-bestandssysteem u moet gebruiken, is er een eenvoudig antwoord.
Het snelle antwoord: Gebruik Ext4 als u het niet zeker weet
We gaan zo meteen dieper in op de verschillen tussen de verschillende bestandssystemen, maar als u het niet zeker weet: Gebruik Ext4.
Ext4 is niet voor niets het standaard bestandssysteem op de meeste Linux-distributies. Het is een verbeterde versie van het oudere Ext3 bestandssysteem. Het is niet het meest geavanceerde bestandssysteem, maar dat is goed: het betekent dat Ext4 rotsvast en stabiel is.
In de toekomst zullen Linux-distributies geleidelijk verschuiven naar BtrFS. BtrFS is nog steeds in ontwikkeling, dus je kunt het beter vermijden op productiesystemen. Het risico van data corruptie of andere problemen is niet de potentiële verbetering in snelheid waard.
GERELATEERD: Wat is het verschil tussen FAT32, exFAT en NTFS?
Merk echter op dat dit “gebruik Ext4” advies alleen van toepassing is op Linux systeem partities en andere on-disk partities die alleen voor Linux toegankelijk zijn. Als je een externe schijf formatteert die je wilt delen met andere besturingssystemen, moet je Ext4 niet gebruiken, omdat Windows, macOS en andere apparaten geen Ext4-bestandssystemen kunnen lezen. U zult exFAT of FAT32 willen gebruiken bij het formatteren van een externe schijf onder Linux.
Als u partities opzet op uw belangrijkste Linux boot drive, zult u ook een swap-partitie van tenminste een paar GB groot willen maken bij het opzetten van die partities. Deze partitie wordt gebruikt voor “swap space”. Het is vergelijkbaar met de paging file in Windows. Linux wisselt geheugen uit naar de swap space als zijn RAM vol is. Deze partitie moet worden geformatteerd als “swap” in plaats van met een bepaald bestandssysteem.
Wat is journaling?
Een ding dat u zult opvallen bij het kiezen tussen bestandssystemen is dat sommige zijn gemarkeerd als een “journaling” bestandssysteem en sommige niet. Dit is belangrijk.
Journaling is ontworpen om data corruptie te voorkomen bij crashes en plotselinge stroomuitval. Stel dat uw systeem halverwege het schrijven van een bestand naar de schijf is en plotseling de stroom uitvalt. Zonder een journaal zou uw computer geen idee hebben of het bestand volledig naar de schijf is geschreven. Het bestand zou daar op de schijf blijven staan, corrupt.
Met een journaal, zou uw computer noteren dat hij een bepaald bestand naar de schijf zou schrijven in het journaal, dat bestand naar de schijf schrijven, en dan die opdracht uit het journaal verwijderen. Als de stroom halverwege het schrijven van het bestand uitvalt, controleert Linux bij het opstarten het journaal van het bestandssysteem en hervat alle gedeeltelijk voltooide taken. Dit voorkomt gegevensverlies en bestandsbeschadiging.
Journaling vertraagt de schrijfprestaties een klein beetje, maar dat is het op een desktop of laptop meer dan waard. Het is niet zo veel overhead als je zou denken. Het volledige bestand wordt niet naar het journaal geschreven. In plaats daarvan worden alleen de metadata van het bestand, de inode of de schijflocatie in het journaal vastgelegd voordat het naar de schijf wordt geschreven.
Elk modern bestandssysteem ondersteunt journaling, en je zult een bestandssysteem willen gebruiken dat journaling ondersteunt als je een desktop of laptop instelt.
Bestandssystemen die geen journaling bieden, zijn beschikbaar voor gebruik op servers met hoge prestaties en andere dergelijke systemen waar de beheerder extra prestaties wil uitpersen. Ze zijn ook ideaal voor verwijderbare flash drives, waar je niet de hogere overhead en extra writes van journaling wilt.
Wat is het verschil tussen al die Linux File Systems?
Terwijl Microsoft Windows ontwikkelt en Apple macOS beheert, is Linux een open-source project ontwikkeld door de gemeenschap. Iedereen (of elk bedrijf) met de vaardigheid en tijd kan een nieuw Linux-bestandssysteem maken. Dat is een van de redenen waarom er zoveel opties zijn. Hier zijn de verschillen:
- Ext staat voor “Extended file system”, en was het eerste dat speciaal voor Linux werd gemaakt. Het heeft vier grote revisies gehad. “Ext” is de eerste versie van het bestandssysteem, geïntroduceerd in 1992. Het was een grote upgrade van het toen gebruikte Minix-bestandssysteem, maar mist belangrijke functies. Veel Linux-distributies ondersteunen Ext niet meer.
- Ext2 is geen journaling-bestandssysteem. Toen het werd geïntroduceerd, was het het eerste bestandssysteem dat uitgebreide bestandsattributen en 2 terabyte-schijven ondersteunde. Het ontbreken van een journ betekent dat Ext2 minder naar schijf schrijft, waardoor het nuttig is voor flashgeheugen zoals USB-stations. Bestandssystemen als exFAT en FAT32 maken echter ook geen gebruik van journaling en zijn compatibeler met verschillende besturingssystemen, dus we raden u aan Ext2 te vermijden, tenzij u weet dat u het om de een of andere reden nodig hebt.
- Ext3 is in feite gewoon Ext2 met journaling. Ext3 is ontworpen om achterwaarts compatibel te zijn met Ext2, zodat partities tussen Ext2 en Ext3 kunnen worden geconverteerd zonder dat formattering nodig is. Het bestaat al langer dan Ext4, maar Ext4 bestaat al sinds 2008 en is uitgebreid getest. Op dit moment bent u beter af met Ext4.
- Ext4 is ook ontworpen om achterwaarts compatibel te zijn. U kunt een Ext4-bestandssysteem als Ext3 mounten, of een Ext2- of Ext3-bestandssysteem als Ext4 mounten. Het bevat nieuwere functies die bestandsfragmentatie verminderen, grotere volumes en bestanden mogelijk maken en vertraagde toewijzing gebruiken om de levensduur van het flashgeheugen te verbeteren. Dit is de modernste versie van het Ext-bestandssysteem en is de standaard op de meeste Linux-distributies.
- BtrFS, uitgesproken als “Butter” of “Better” FS, is oorspronkelijk ontworpen door Oracle. Het staat voor “B-Tree File System” en maakt schijfpooling, on-the-fly snapshots, transparante compressie en online defragmentatie mogelijk. Het deelt een aantal van dezelfde ideeën als ReiserFS, een bestandssysteem dat sommige Linux distributies standaard gebruikten. BtrFS is ontworpen als een duidelijke breuk met de Ext serie van bestandssystemen. Ted Ts’o, de onderhouder van het Ext4-bestandssysteem, beschouwt Ext4 als een kortetermijnoplossing en gelooft dat BtrFS de weg vooruit is. Verwacht dat BtrFS de komende jaren de standaard wordt in zowel Linux-distributies voor bedrijfsservers als voor desktopcomputers, naarmate het verder wordt getest.
- ReiserFS was een grote sprong voorwaarts voor Linux-bestandssystemen toen het in 2001 werd geïntroduceerd en het bevatte veel nieuwe functies die Ext nooit zou kunnen implementeren. ReiserFS werd in 2004 vervangen door Reiser4, dat veel van de functies verbeterde die onvolledig waren of ontbraken in de eerste versie. Maar de ontwikkeling van Reiser4 kwam tot stilstand nadat de hoofdontwikkelaar, Hans Reiser, in 2008 naar de gevangenis werd gestuurd. Reiser4 zit nog steeds niet in de Linux kernel en zal dat waarschijnlijk ook niet worden. BtrFS is op lange termijn de betere keuze.
GERELATEERD: Hoe ZFS te installeren en te gebruiken op Ubuntu (en waarom u dat zou willen)
- ZFS is ontworpen door Sun Microsystems voor Solaris en is nu eigendom van Oracle. ZFS ondersteunt een groot aantal geavanceerde functies, zoals drive pooling, snapshots en dynamic disk striping. Veel van deze functies worden standaard in Linux gebruikt. Elk bestand heeft een controlesom, zodat ZFS kan zien of een bestand al dan niet corrupt is. Sun heeft ZFS open-sourced onder de Sun CDDL licentie, wat betekent dat het niet in de Linux kernel kan worden opgenomen. U kunt echter ZFS-ondersteuning installeren op elke Linux-distributie. Ubuntu biedt nu ook officiële ZFS ondersteuning vanaf Ubuntu 16.04. Ubuntu gebruikt ZFS standaard voor containers.
- XFS is ontwikkeld door Silicon Graphics in 1994 voor het SGI IRX besturingssysteem, en is in 2001 geport naar Linux. Het lijkt in sommige opzichten op Ext4, omdat het ook vertraagde toewijzing gebruikt om te helpen met bestandsfragmentatie en geen snapshots toestaat. Het kan tijdens het draaien worden vergroot, maar niet verkleind. XFS presteert goed als het om grote bestanden gaat, maar slechter dan andere bestandssystemen als het om veel kleine bestanden gaat. Het kan nuttig zijn voor bepaalde typen servers die vooral met grote bestanden moeten omgaan.
- JFS, of “Journaled File System”, is door IBM ontwikkeld voor het IBM AIX besturingssysteem in 1990 en later overgezet naar Linux. Het heeft een laag CPU-gebruik en goede prestaties voor zowel grote als kleine bestanden. JFS-partities kunnen dynamisch worden verkleind, maar niet gekrompen. Het is zeer goed gepland en wordt door bijna alle grote distributies ondersteund, maar het is niet zo uitgebreid getest op Linux-servers als Ext, omdat het voor AIX is ontworpen. Ext4 wordt meer gebruikt en is meer getest.
- Swap is een optie bij het formatteren van een schijf, maar is geen echt bestandssysteem. Het wordt gebruikt als virtueel geheugen en heeft geen bestandssysteem structuur. U kunt het niet mounten om de inhoud te bekijken. Swap wordt door de Linux kernel gebruikt als “scratch space” om tijdelijk gegevens op te slaan die niet in RAM passen. Het wordt ook gebruikt voor de slaapstand. Terwijl Windows zijn paging-bestand als een bestand op zijn belangrijkste systeempartitie opslaat, reserveert Linux gewoon een aparte lege partitie voor swap-ruimte.
GERELATEERD: Wat is het verschil tussen FAT32, exFAT en NTFS?
- FAT16, FAT32 en exFAT: Microsofts FAT-bestandssystemen zijn vaak een optie bij het formatteren van een schijf in Linux. Deze bestandssystemen bevatten geen logboek, dus zijn ze ideaal voor externe USB-schijven. Ze zijn een de facto standaard die elk besturingssysteem – Windows, macOS, Linux en andere apparaten – kan lezen. Dit maakt ze tot het ideale bestandssysteem om te gebruiken bij het formatteren van een externe schijf die u met andere besturingssystemen wilt gebruiken. FAT32 is ouder. exFAT is de ideale optie, omdat het bestanden van meer dan 4 GB en partities van meer dan 8 TB ondersteunt, in tegenstelling tot FAT32.
Er zijn ook andere Linux-bestandssystemen, waaronder bestandssystemen die speciaal zijn ontworpen voor flash-opslag in embedded apparaten en op SD-kaarten. Maar dit zijn de opties die u het vaakst zult tegenkomen wanneer u Linux gebruikt.