Advertentie

Als je meerdere harde schijven in je Linux-systeem hebt, hoef je ze niet allemaal als verschillende opslagapparaten te behandelen. Met Btrfs kunt u heel eenvoudig een opslagpool maken van die harde schijven.

Onder bepaalde omstandigheden kunt u zelfs mirroring inschakelen, zodat u uw gegevens niet kwijtraakt als gevolg van een defecte harde schijf. Als alles is ingesteld, kunt u gewoon alles in het zwembad gooien en optimaal gebruik maken van de opslagruimte die u heeft.

Er is geen GUI-configuratiehulpprogramma dat dit (nog) eenvoudiger kan maken, maar het is nog steeds vrij eenvoudig om te doen met de opdrachtregel. Ik leid je door een eenvoudige installatie om meerdere harde schijven samen te gebruiken.

Wat is Btrfs?

Btrfs (genaamd B-tree bestandssysteem, "Butter FS" of "Better FS") is een aankomend bestandssysteem Ext4 vs. Btrfs: waarom we de overstap maken [Linux]Eerlijk gezegd is een van de laatste dingen waar mensen naar kijken, welk bestandssysteem wordt gebruikt. Gebruikers van Windows en Mac OS X hebben nog minder reden om te kijken, omdat ze eigenlijk maar één ...

instagram viewer
Lees verder die veel verschillende functies op bestandssysteemniveau bevat, normaal gesproken alleen beschikbaar als afzonderlijke softwarepakketten. Hoewel Btrfs veel opmerkelijke functies heeft (zoals snapshots van bestandssystemen), zijn de twee die we in dit artikel gaan bekijken pooling en mirroring van opslag.

Als je niet zeker weet wat een bestandssysteem is, bekijk dan deze uitleg van een paar bestandssystemen voor Windows Wat een bestandssysteem is en hoe u kunt achterhalen wat er op uw schijven draaitWat is een bestandssysteem en waarom zijn ze belangrijk? Leer de verschillen tussen FAT32, NTFS, HPS +, EXT en meer. Lees verder . Je kunt dit ook leuk bekijken vergelijking van verschillende bestandssystemen Van FAT naar NTFS naar ZFS: bestandssystemen ontrafeldVerschillende harde schijven en besturingssystemen kunnen verschillende bestandssystemen gebruiken. Dit is wat dat betekent en wat u moet weten. Lees verder om een ​​beter beeld te krijgen van de verschillen tussen bestaande bestandssystemen.

Btrfs wordt door velen nog steeds als 'niet stabiel' beschouwd, maar de meeste functies zijn al stabiel genoeg voor persoonlijk gebruik - het zijn slechts een paar geselecteerde functies waarbij u mogelijk een aantal onbedoelde resultaten tegenkomt.

Hoewel Btrfs in de toekomst het standaardbestandssysteem voor Linux wil zijn, is het nog steeds het beste om ext4 te gebruiken voor setups met één harde schijf of voor setups die geen opslagpooling en mirroring nodig hebben.

Uw schijven bundelen

Voor dit voorbeeld gebruiken we een configuratie met vier harde schijven. Er zijn twee harde schijven (/ dev / sdb en / dev / sdc) met elk 1 TB en twee andere harde schijven (/ dev / sdd en / dev / sde) met 500 GB voor in totaal vier harde schijven met een totaal van 3 TB van opslag.

Je kunt er ook van uitgaan dat je een andere harde schijf (/ dev / sda) van een willekeurige grootte hebt die je bootloader en besturingssysteem bevat. We maken ons geen zorgen over / dev / sda en combineren alleen de andere vier harde schijven voor extra opslagdoeleinden.

Een bestandssysteem maken

btrfs_gparted
Om een ​​Btrfs-bestandssysteem op een van uw harde schijven te maken, kunt u de opdracht gebruiken:

sudo mkfs.btrfs / dev / sdb

Natuurlijk kunt u / dev / sdb vervangen door de harde schijf die u wilt gebruiken. Vanaf hier kunt u andere harde schijven toevoegen aan het Btrfs-systeem om er één enkele partitie van te maken die zich uitstrekt over alle harde schijven die u toevoegt. Monteer eerst de eerste Btrfs-harde schijf met de opdracht:

sudo mount / dev / sdb / mnt

Voer vervolgens de opdrachten uit:

sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde

Nu kunt u ze aan de eerste harde schijf toevoegen met de opdrachten:

sudo btrfs device add / dev / sdc / mnt btrfs device add / dev / sdd / mnt btrfs device add / dev / sde / mnt

Als je wat gegevens had opgeslagen op de eerste harde schijf, wil je dat het bestandssysteem het verdeelt over alle nieuw toegevoegde harde schijven. Dit kun je doen met het commando:

sudo btrfs bestandssysteem balans / mnt

Als alternatief, als je al voordat je begint weet dat je wilt dat een Btrfs-bestandssysteem zich over alle harde schijven uitstrekt, kun je gewoon de opdracht uitvoeren:

sudo mkfs.btrfs -d single / dev / sdb / dev / sdc / dev / sdd / dev / sde

Dit is natuurlijk veel eenvoudiger, maar u moet de hierboven genoemde methode gebruiken als u ze niet allemaal tegelijk toevoegt.

U zult merken dat ik een vlag heb gebruikt: '-d single'. Dit is nodig omdat ik een RAID 0-configuratie wilde (waarbij de gegevens over al het harde worden verdeeld schijven maar er vindt geen mirroring plaats), maar het "enkele" profiel is nodig wanneer de harde schijven anders zijn maten. Als alle harde schijven even groot waren, zou ik in plaats daarvan de vlag "-d raid0" kunnen gebruiken. De vlag “-d” staat trouwens voor gegevens en stelt u in staat de gewenste gegevensconfiguratie op te geven. Er is ook een '-m'-vlag die precies hetzelfde doet voor metadata.

Daarnaast kunt u RAID 1 ook inschakelen met "-d raid1", die gegevens op alle apparaten dupliceert, dus met deze vlag tijdens het maken van de Btrfs-bestandssysteem dat alle harde schijven beslaat, zou betekenen dat u slechts 500 GB bruikbare ruimte krijgt, aangezien de drie andere harde schijven worden gebruikt voor spiegeling.

Ten slotte kunt u RAID 10 inschakelen met "-d raid10". Dit is een mix van zowel RAID 0 als RAID 1, dus je krijgt 1,5 TB bruikbare ruimte omdat de twee harde schijven van 1 TB zijn gekoppeld in mirroring en de twee harde schijven van 500 GB zijn gekoppeld in mirroring.

Een bestandssysteem converteren

btrfs_harddiskstack
Als je een Btrfs-bestandssysteem hebt dat je wilt converteren naar een andere RAID-configuratie, dan is dat heel eenvoudig. Mount eerst het bestandssysteem (als dat nog niet het geval is) met de opdracht:

sudo mount / dev / sdb1 / mnt

Voer vervolgens de opdracht uit:

sudo btrfs saldo start -dconvert = raid1 -mconvert = raid1 / mnt

Hiermee wordt de configuratie gewijzigd in RAID 1, maar u kunt die vervangen door elke gewenste configuratie (dus zolang het echt is toegestaan ​​- u kunt bijvoorbeeld niet overschakelen naar RAID 10 als u niet ten minste vier harde schijven). Bovendien is de vlag -mconvert optioneel als u zich alleen zorgen maakt over de gegevens, maar niet over de metagegevens.

Als er een storing op de harde schijf optreedt

Als een harde schijf defect raakt, moet u deze van het bestandssysteem verwijderen, zodat de rest van de samengevoegde schijven correct werkt. Mount het bestandssysteem met het commando:

sudo mount -o gedegradeerd / dev / sdb / mnt

Herstel dan het bestandssysteem met:

sudo btrfs device delete missing / mnt

Als u RAID 1 of RAID 10 niet had ingeschakeld, gaan alle gegevens op de defecte harde schijf nu verloren.

Een harde schijf verwijderen uit het bestandssysteem

Als je tenslotte een apparaat van een Btrfs-bestandssysteem wilt verwijderen en het bestandssysteem is gemount op / mnt, kun je dat doen met de opdracht:

sudo btrfs device delete / dev / sdc / mnt

Vervang natuurlijk / dev / sdc door de harde schijf die u wilt verwijderen. Deze opdracht zal enige tijd in beslag nemen omdat het alle gegevens van de verwijderde harde schijf moet verwijderen en zal ook mislukken als er niet genoeg ruimte is op de andere resterende harde schijven.

Automatische montage

btrfs_fstab
Als je wilt dat het Btrfs bestandssysteem automatisch wordt gemount, kun je dit in je / etc / fstab bestand plaatsen:

sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde 0 0

Mount opties

Nog een bonustip! U kunt de prestaties van Btrfs in uw / etc / fstab-bestand optimaliseren onder de koppelopties voor het Btrfs-bestandssysteem. Voor grote opslagarrays zijn deze opties het beste: compress-force = zlib, autodefrag, nospace_cache. In het bijzonder comprimeert = zlib alle gegevens zodat u de opslagruimte die u heeft optimaal kunt benutten. Voor de goede orde, SSD-gebruikers kunnen deze opties gebruiken: noatime, compress = lzo, ssd, weggooien, space_cache, autodefrag, inode_cache. Deze opties gaan goed samen met de apparaatspecificaties, dus een complete regel in / etc / fstab voor SSD-gebruikers zou er als volgt uitzien:

sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde,
noatime, compress = lzo, ssd, weggooien, space_cache, autodefrag, inode_cache 0 0

Hoe groot is uw opslagpool?

Btrfs is een fantastische optie voor pooling en mirroring van opslag die zeker populairder zal worden zodra het als volledig stabiel wordt beschouwd. Het zou ook geen kwaad kunnen als er een GUI zou zijn om de configuratie gemakkelijker te maken (behalve bij sommige distributie-installatieprogramma's), maar de opdrachten die u in de terminal moet gebruiken, zijn gemakkelijk te begrijpen en toe te passen.

Wat is de grootste opslagpool die je kunt maken? Denk je dat opslagpools de moeite waard zijn? Laat het ons weten in de comments!

Afbeelding tegoed: William Hook

Danny is senior aan de Universiteit van Noord-Texas en geniet van alle aspecten van open source-software en Linux.