Btrfs (uitgesproken als 'Butter F S') is een geavanceerd bestandssysteem voor Linux dat op meerdere harde schijven kan werken en verschillende fouttolerantiemodellen ondersteunt, zoals RAID 0, RAID 1 en RAID 10. Btrfs is in ontwikkeling sinds 2008 en het is wat is bekend als een "copy op write" bestandssysteem wat betekent dat wanneer de data in een blok verandert, het blok gekopieerd wordt naar een nieuw blok dat naar de disk geschreven is met de hierin opgenomen wijzigingen. Dit betekent dat blokken nooit worden gewijzigd, maar dat er nieuwe blokken worden gemaakt en dat de oude blokken later opnieuw worden gebruikt. Dit heeft voordelen voor de prestaties, vooral wanneer consistentie en integriteit worden gegarandeerd (zelfs na een stroomstoring).

Ervan uitgaande dat je een reeds actief Linux-systeem hebt (waarschijnlijk met behulp van ext4), maar je wilt wat harde schijven toevoegen en Btrf's gebruiken, dan is dit wat je zou moeten doen. Eerst moet je de Btrfs-tools installeren. Op Ubuntu:

 sudo apt-get install btrfs-tools 

Ervan uitgaande dat /dev/sda de hoofdschijf is waarop Linux is geïnstalleerd en u twee nieuwe schijven /dev/sdb en /dev/sdc, is de volgende stap het maken van het btrfs-bestandssysteem op deze schijven.

 sudo mkfs.btrfs -m raid1 -d raid1 / dev / sdb / dev / sdc 

De -d raid1 vertelt btrfs om RAID 1 mirroring voor de gegevens te gebruiken. Dit betekent dat er minstens twee exemplaren van elk stukje gegevens zullen zijn, elk op een ander apparaat. Het is eigenlijk mogelijk om meer dan twee harde schijven te gebruiken in een RAID 1 mirroring-configuratie. In dergelijke gevallen zorgen btrfs ervoor dat ten minste één andere schijf een kopie van de gegevens bevat. De informatie over de gegevens, inclusief de bestandsnaam en bestandspermissies, enz., Wordt opgeslagen in wat bekend staat als de metadata. De -m raid1 opties vertellen btrfs om ook RAID 1 mirroring voor de metadata te gebruiken. Net als het spiegelen van de gegevens, zorgt het gebruik van mirroring voor de metadata ervoor dat de essentiële informatie over de bestanden op ten minste twee schijven wordt opgeslagen. Als een van de schijven bestaande partitietabellen (en mogelijk gegevens) heeft, gebruikt u de optie -f om mkfs.btrfs te dwingen te overschrijven.

Nu het bestandssysteem is gemaakt, kan het worden gekoppeld met de opdracht normale mount :

 sudo mount / dev / sdb / mybtrfs 

Waar /mybtrfs is de map waar u het bestandssysteem wilt mounten.

Op dit punt wordt het nieuwe bestandssysteem weergegeven door de opdracht df -h . Op mijn testsysteem zijn /dev/sdb en /dev/sdc elk 100 GB. Op een traditioneel RAID 1-systeem zou het resulterende bestandssysteem worden weergegeven als slechts 100 GB, aangezien één schijf wordt gebruikt om de gegevens te dupliceren. Dit is niet het geval met btrfs. Omdat schijven van verschillende grootten in elke combinatie kunnen worden gebruikt, geeft btrfs de totale grootte weer. Er is echter een commando dat meer details geeft:

 sudo btrfs bestandssysteem df / mybtrfs 

Dit toont het echte schijfgebruik voor een btrfs-bestandssysteem, inclusief de ruimte die wordt ingenomen door de feitelijke gegevens op het bestandssysteem en de metadata.

De " sudo btrfs filesystem show " is ook handig omdat het de individuele apparaten vermeldt die in het bestandssysteem worden gebruikt, samen met hun totale grootte en gebruikte ruimte.

De laatste stap is om het bestand /etc/fstab bewerken om automatisch het btrfs-bestandssysteem te mounten tijdens het booten. Om dit te doen, bewerkt u het bestand en voegt u de volgende regel toe:

 / dev / sdb / mybtrfs btrfs standaard 0 0 

U kunt de universeel unieke identifier voor het btrfs-bestandssysteem verkrijgen met behulp van de opdracht sudo btrfs filesystem show . Als u mount met behulp van de uuid plaats van de apparaatnaam, zou de /etc/fstab regel er ongeveer zo /etc/fstab :

 UUID = 7911f7a9-cd03-48ef-8dca-27550d6039f4 / mybtrfs btrfs standaard 0 0 

Als je nog meer vragen hebt, stel je dan gerust in de onderstaande reactie.