Welk Linux-bestandssysteem zou je moeten gebruiken?
Bij het formatteren van partities op een Linux-pc ziet u een grote verscheidenheid aan bestandssysteemopties. 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 het onkruid in en nemen het verschil tussen de verschillende bestandssystemen in een oogwenk weg, maar als je het niet zeker weet: gebruik Ext4.
Ext4 is om de een reden het standaardbestandssysteem 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 solide en stabiel is.
In de toekomst zullen Linux-distributies geleidelijk opschuiven naar BtrFS. BtrFS is nog steeds geavanceerd en ziet veel ontwikkeling, dus u zult het op productiesystemen willen vermijden. Het risico van datacorruptie of andere problemen is de potentiële verbetering in snelheid niet waard.
Merk echter op dat dit "gebruik Ext4" -advies alleen van toepassing is op Linux-systeempartities en andere partities op schijf die alleen Linux zal benaderen. Als u een externe schijf wilt formatteren die u met andere besturingssystemen wilt delen, moet u 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 op Linux.
Als u partities instelt op uw main Linux-opstartschijf, wilt u ook een swappartitie van ten minste enkele GB's maken bij het instellen van die partities. Deze partitie wordt gebruikt voor "swapspace". Het lijkt op het wisselbestand op Windows. Linux verwisselt het geheugen naar de swapruimte wanneer het RAM vol is. Deze partitie moet worden geformatteerd als "swap" in plaats van met een bepaald bestandssysteem.
Wat is een dagboek?
Een ding dat u zult opvallen bij het kiezen tussen bestandssystemen is dat sommige zijn gemarkeerd als een "journaling" -bestandssysteem en andere niet. Dit is belangrijk.
Journaling is ontworpen om gegevensbeschadiging door crashes en plotseling stroomverlies te voorkomen. Laten we zeggen dat uw systeem halverwege het schrijven van een bestand naar de schijf is en dat het plotseling kracht verliest. Zonder een dagboek zou uw computer geen idee hebben of het bestand volledig op schijf was geschreven. Het bestand zou daar op de schijf blijven staan, corrupt.
Met een dagboek merkt uw computer op dat het een bepaald bestand naar de schijf in het dagboek gaat schrijven, schrijft dat bestand naar schijf en verwijdert die taak vervolgens uit het dagboek. Als de stroom uitvalt tijdens het schrijven van het bestand, zou Linux het journaal van het bestandssysteem controleren wanneer het opstart en de gedeeltelijk voltooide taken hervatten. Dit voorkomt gegevensverlies en bestandsbeschadiging.
Journaling vertraagt de schrijfprestaties van de schijf een klein beetje, maar het is de moeite waard op een desktop of laptop. Het is niet zoveel overhead als je zou denken. Het volledige bestand wordt niet naar het journaal geschreven. In plaats daarvan worden alleen de metadata, inode of schijflocatie van het bestand opgenomen in het journaal voordat het naar de schijf wordt geschreven.
Elk modern bestandssysteem ondersteunt journaling en u wilt een bestandssysteem gebruiken dat journaling ondersteunt bij het instellen van een desktop of laptop.
Bestandssystemen die geen journaling aanbieden, zijn beschikbaar voor gebruik op krachtige servers en andere dergelijke systemen waarbij de beheerder extra prestaties wil uitpersen. Ze zijn ook ideaal voor verwisselbare flashstations, waar u niet de hogere overheadkosten en extra schrijfacties van het journaal wilt.
Wat is het verschil tussen al die Linux-bestandssystemen?
Terwijl Microsoft Mac OS ontwikkelt en Windows en Mac OS bestuurt, is Linux een open-sourceproject dat door de community is ontwikkeld. Iedereen (of een bedrijf) met de vaardigheden en de tijd kan een nieuw Linux-bestandssysteem maken. Dat is een reden waarom er zoveel opties zijn. Dit zijn de verschillen:
- Ext staat voor "Extended file system", en was de eerste die speciaal voor Linux werd gemaakt. Het heeft vier belangrijke herzieningen gehad. "Ext" is de eerste versie van het bestandssysteem, geïntroduceerd in 1992. Het was een belangrijke upgrade van het Minix-bestandssysteem dat op dat moment werd gebruikt, maar het mist belangrijke functies. Veel Linux-distributies ondersteunen niet langer Ext.
- Ext2 is geen journaalbestandssysteem. Toen het werd geïntroduceerd, was dit het eerste bestandssysteem dat uitgebreide bestandskenmerken en 2 terabyte-schijven ondersteunt. Ext2's gebrek aan een dagboek betekent dat het minder naar schijf schrijft, wat het nuttig maakt voor flash-geheugen zoals USB-drives. Bestandssystemen zoals exFAT en FAT32 maken echter ook geen gebruik van journaling en zijn meer compatibel met verschillende besturingssystemen. We raden u daarom aan Ext2 te vermijden, tenzij u weet dat u het om een of andere reden nodig hebt.
- ext3 is eigenlijk gewoon Ext2 met journaling. Ext3 is ontworpen om achterwaarts compatibel te zijn met Ext2, waardoor partities kunnen worden geconverteerd tussen Ext2 en Ext3 zonder dat formattering vereist is. Het bestaat al langer dan Ext4, maar Ext4 bestaat al sinds 2008 en wordt op grote schaal getest. Op dit moment is het beter om Ext4 te gebruiken.
- ext4 is ook ontworpen om backwards compatible te zijn. U kunt een Ext4-bestandssysteem als Ext3 koppelen of een Ext2- of Ext3-bestandssysteem als Ext4 koppelen. 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 meest moderne versie van het Ext-bestandssysteem en is de standaard op de meeste Linux-distributies.
- Btrfs, uitgesproken als "Butter" of "Better" FS, werd oorspronkelijk ontworpen door Oracle. Het staat voor "B-Tree File System" en maakt drivepooling, snelle snapshots, transparante compressie en online defragmentatie mogelijk. Het deelt een aantal van dezelfde ideeën in ReiserFS, een bestandssysteem dat door sommige Linux-distributies standaard werd gebruikt. BtrFS is ontworpen als een schone onderbreking van de Ext-reeks bestandssystemen. Ted Ts'o, de beheerder van het Ext4-bestandssysteem, beschouwt Ext4 als een oplossing voor de korte termijn en gelooft dat BtrFS de juiste weg is. Verwacht dat BtrFS de komende jaren de standaard zal worden in zowel zakelijke server- als consumentenversies van desktop-Linux, omdat 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 vervangen door Reiser4, waarmee in 2004 veel van de functies werden verbeterd die in de oorspronkelijke release onvolledig of ontbraken. Maar de ontwikkeling van Reiser4 stopte nadat de hoofdontwikkelaar, Hans Reiser, in 2008 naar de gevangenis was gestuurd. Reiser4 is nog steeds niet in de hoofd-Linux-kernel en zal daar waarschijnlijk niet komen. BtrFS is de betere keuze voor de lange termijn.
- ZFS is ontworpen door Sun Microsystems voor Solaris en is nu eigendom van Oracle. ZFS ondersteunt veel geavanceerde functies, waaronder drive pooling, momentopnamen en dynamische schijfstriping - BtrFS zal standaard veel van deze functies naar Linux brengen. Elk bestand heeft een controlesom, dus ZFS kan zien of een bestand beschadigd is of niet. Zon-open source ZFS onder de Sun CDDL-licentie, wat betekent dat het niet kan worden opgenomen in de Linux-kernel. U kunt echter ZFS-ondersteuning op elke Linux-distributie installeren. Ubuntu biedt nu ook officiële ZFS-ondersteuning, te beginnen met Ubuntu 16.04. Ubuntu gebruikt standaard ZFS voor containers.
- XFS werd ontwikkeld door Silicon Graphics in 1994 voor het SGI IRX-besturingssysteem en werd in 2001 geport naar Linux. Het lijkt op sommige manieren op Ext4, omdat het ook vertraagde toewijzing gebruikt om bestandsfragmentatie te vergemakkelijken en geen gematigde snapshots toestaat. Het kan worden vergroot, maar niet gekrompen, on the fly. XFS heeft goede prestaties bij grote bestanden, maar heeft slechtere prestaties dan andere bestandssystemen bij het verwerken van veel kleine bestanden. Het kan handig zijn voor bepaalde typen servers die voornamelijk met grote bestanden te maken hebben.
- JFS, of "Journaled File System", ontwikkeld door IBM voor het IBM AIX-besturingssysteem in 1990 en later geport naar Linux. Het beschikt over een laag CPU-gebruik en goede prestaties voor zowel grote als kleine bestanden. JFS-partities kunnen dynamisch van grootte worden gewijzigd, maar niet worden verkleind. Het was buitengewoon goed gepland en heeft ondersteuning bij vrijwel elke grote distributie, maar de productiecontrole op Linux-servers is niet zo uitgebreid als Ext, omdat het is ontworpen voor AIX. Ext4 wordt vaker gebruikt en wordt op grotere schaal getest.
- ruil is een optie bij het formatteren van een schijf, maar is geen echt bestandssysteem. Het wordt gebruikt als virtueel geheugen en heeft geen bestandssysteemstructuur. U kunt het niet koppelen om de inhoud te bekijken. Swap wordt door de Linux-kernel als "scratch space" gebruikt om tijdelijk gegevens op te slaan die niet in RAM passen. Het wordt ook gebruikt voor winterslaap. Terwijl Windows zijn wisselbestand opslaat als een bestand op de hoofdsysteempartitie, reserveert Linux slechts een afzonderlijke lege partitie voor swapspace.
- FAT16, FAT32, en exFAT: Microsoft's FAT-bestandssystemen zijn vaak een optie bij het formatteren van een drive in Linux. Deze bestandssystemen bevatten geen dagboek, dus zijn ze ideaal voor externe USB-stations. Ze zijn een de facto standaard die elk besturingssysteem - Windows, macOS, Linux en andere apparaten - kan lezen. Dit maakt ze het ideale bestandssysteem om te gebruiken bij het formatteren van een externe schijf die u wilt gebruiken met andere besturingssystemen. FAT32 is ouder. exFAT is de ideale optie, omdat het bestanden groter dan 4 GB en partities groter dan 8 TB ondersteunt, in tegenstelling tot FAT32.
Er zijn ook andere Linux-bestandssystemen, waaronder bestandssystemen die specifiek zijn ontworpen voor flash-opslag in ingebedde apparaten en op SD-kaarten. Maar dit zijn de opties die u het vaakst ziet wanneer u Linux gebruikt.