Reklame
Hvis du har flere harddiske i dit Linux-system, behøver du ikke at behandle dem alle som forskellige lagerenheder. Med Btrfs kan du meget let oprette en opbevaringspool ud af disse harddiske.
Under visse betingelser kan du endda aktivere spejling, så du ikke mister dine data på grund af harddiskfejl. Med alt opsat kan du bare smide hvad du vil i poolen og gøre mest muligt ud af den lagerplads, du har.
Der er ikke et GUI-konfigurationsværktøj, der kan gøre alt dette lettere (endnu), men det er stadig temmelig let at gøre med kommandolinjen. Jeg vil lede dig gennem en enkel opsætning til at bruge flere harddiske sammen.
Hvad er Btrfs?
Btrfs (kaldet B-træ filsystem, "Butter FS" eller "Better FS") er et kommende filsystem Ext4 vs. Btrfs: Hvorfor vi skifter [Linux]Helt ærligt er en af de sidste ting, folk ser på, hvilket filsystem der bruges. Brugere af Windows og Mac OS X har endnu mindre grund til at se ud, fordi de virkelig kun har en ... Læs mere der indeholder mange forskellige funktioner på filsystemniveau, der normalt kun findes som separate softwarepakker. Mens Btrfs har mange bemærkelsesværdige funktioner (f.eks. Filsystem-snapshots), er de to, vi skal kigge på i denne artikel, lagringspooling og spejling.
Hvis du ikke er sikker på, hvad et filsystem er, skal du se på denne forklaring et par filsystemer til Windows Hvad et filsystem er, og hvordan du kan finde ud af, hvad der kører på dine drevHvad er et filsystem, og hvorfor betyder det noget? Lær forskellene mellem FAT32, NTFS, HPS +, EXT og mere. Læs mere . Du kan også tjekke det rart sammenligning af forskellige filsystemer Fra FAT til NTFS til ZFS: Filsystemer afmystificeretForskellige harddiske og operativsystemer bruger muligvis forskellige filsystemer. Her er hvad det betyder, og hvad du har brug for at vide. Læs mere for at få en bedre idé om forskellene mellem eksisterende filsystemer.
Btrfs betragtes stadig som "ikke stabil" af mange, men de fleste funktioner er allerede stabile nok til personlig brug - det er kun et par udvalgte funktioner, hvor du muligvis støder på nogle utilsigtede resultater.
Mens Btrfs sigter mod at være standardfilsystemet for Linux på et tidspunkt i fremtiden, er det stadig bedst at bruge ext4 til opsætninger af en enkelt harddisk eller til opsætninger, der ikke har brug for opbevaring pooling og spejling.
Pool dine drev
I dette eksempel bruger vi en fire harddiskopsætning. Der er to harddiske (/ dev / sdb og / dev / sdc) med 1 TB hver, og to andre harddiske (/ dev / sdd og / dev / sde) med 500 GB for i alt fire harddiske med i alt 3TB opbevaring.
Du kan også antage, at du har en anden harddisk (/ dev / sda) af en vilkårlig størrelse, der indeholder din bootloader og operativsystem. Vi beskæftiger os ikke med / dev / sda og kombinerer udelukkende de andre fire harddiske til ekstra lagringsformål.
Oprettelse af et filsystem
Hvis du vil oprette et Btrfs-filsystem på en af dine harddiske, kan du bruge kommandoen:
sudo mkfs.btrfs / dev / sdb
Selvfølgelig kan du udskifte / dev / sdb med den faktiske harddisk, du vil bruge. Herfra kan du tilføje andre harddiske til Btrfs-systemet for at gøre det til en enkelt partition, der spænder over alle harddiske, du tilføjer. Monter først den første Btrfs-harddisk ved hjælp af kommandoen:
sudo mount / dev / sdb / mnt
Kør derefter kommandoerne:
sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde
Nu kan du føje dem til den første harddisk ved hjælp af kommandoerne:
sudo btrfs enhed tilføj / dev / sdc / mnt btrfs enhed tilføj / dev / sdd / mnt btrfs enhed tilføj / dev / sde / mnt
Hvis du havde nogle data, der blev gemt på den første harddisk, vil du have, at filsystemet skal afbalancere dem mellem alle de nyligt tilføjede harddiske. Du kan gøre dette med kommandoen:
sudo btrfs filsystembalance / mnt
Alternativt, hvis du ved, før du selv begynder, at du vil have et Btrfs-filsystem til at spænde over alle harddiske, kan du blot køre kommandoen:
sudo mkfs.btrfs -d single / dev / sdb / dev / sdc / dev / sdd / dev / sde
Naturligvis er dette meget lettere, men du bliver nødt til at bruge metoden nævnt ovenfor, hvis du ikke tilføjer dem alle på én gang.
Du vil bemærke, at jeg brugte et flag: “-d single”. Dette er nødvendigt, fordi jeg ønskede en RAID 0-konfiguration (hvor dataene er delt mellem alt det hårde drev, men ingen spejling forekommer), men "single" -profilen er nødvendig, når harddiskene er forskellige størrelser. Hvis alle harddiske var af samme størrelse, kunne jeg i stedet bruge flagget "-d raid0". Flaget "-d" står for øvrig for data og giver dig mulighed for at specificere den ønskede datakonfiguration. Der er også et "-m" -flag, der gør nøjagtigt det samme for metadata.
Derudover kan du også aktivere RAID 1 ved hjælp af "-d raid1", som vil duplikere data på tværs af alle enheder, så du bruger dette flag under oprettelsen af Btrfs-filsystem, der spænder over alle harddiske, ville betyde, at du kun får 500 GB brugbar plads, da de tre andre harddiske bruges til spejling.
Til sidst kan du aktivere RAID 10 vha. “-D raid10”. Dette vil gøre en blanding af både RAID 0 og RAID 1, så det giver dig 1,5 TB brugbar plads, da de to 1TB-harddiske er parret i spejling, og de to 500 GB-harddiske er parret i spejling.
Konvertering af et filsystem
Hvis du har et Btrfs-filsystem, som du gerne vil konvertere til en anden RAID-konfiguration, er det let. Monter først filsystemet (hvis det ikke allerede er) ved hjælp af kommandoen:
sudo montering / dev / sdb1 / mnt
Kør derefter kommandoen:
sudo btrfs balance start -dconvert = raid1 -mconvert = raid1 / mnt
Dette ændrer konfigurationen til RAID 1, men du kan erstatte den med uanset hvilken konfiguration du ønsker (så længe det faktisk er tilladt - for eksempel kan du ikke skifte til RAID 10, hvis du ikke har mindst fire hårde drev). Derudover er -mconvert-flaget valgfrit, hvis du bare er bekymret for dataene, men ikke metadataene.
Hvis harddiskfejl opstår
Hvis en harddisk mislykkes, skal du fjerne den fra filsystemet, så resten af de samlede drev fungerer korrekt. Monter filsystemet med kommandoen:
sudo mount -o nedbrudt / dev / sdb / mnt
Fix derefter filsystemet med:
sudo btrfs enhed slette mangler / mnt
Hvis du ikke har aktiveret RAID 1 eller RAID 10, går data, der var på den mislykkede harddisk, nu tabt.
Fjernelse af en harddisk fra filsystemet
Endelig, hvis du vil fjerne en enhed fra et Btrfs-filsystem, og filsystemet er monteret på / mnt, kan du gøre det med kommandoen:
sudo btrfs enhed slette / dev / sdc / mnt
Udskift selvfølgelig / dev / sdc med den harddisk, du vil fjerne. Denne kommando vil tage noget tid, fordi den er nødt til at flytte alle data fra harddisken, der fjernes, og vil på samme måde mislykkes, hvis der ikke er plads nok på de andre resterende harddiske.
Automatisk montering
Hvis du ønsker, at Btrfs-filsystemet skal monteres automatisk, kan du placere dette i din / etc / fstab-fil:
sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde 0 0
Montér indstillinger
Endnu et bonustips! Du kan optimere Btrfs 'ydelse i din / etc / fstab-fil under monteringsindstillingerne for Btrfs-filsystemet. For store opbevaringsopstillinger er disse indstillinger bedst: komprimeringskraft = zlib, autodefrag, nospace_cache
. Specifikt komprimerer = zlib alle data, så du kan udnytte den lagringsplads, du har mest muligt. Til posten kan SSD-brugere bruge disse indstillinger: noatime, komprimere = lzo, ssd, kassere, space_cache, autodefrag, inode_cache
. Disse indstillinger går lige sammen med enhedsspecifikationerne, så en komplet linje i / etc / fstab for SSD-brugere ser ud:
sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde,
noatime, komprimere = lzo, ssd, kassere, space_cache, autodefrag, inode_cache 0 0
Hvor stor er din opbevaringspool?
Btrfs er en fantastisk mulighed for opbevaring af pooling og spejling, som helt sikkert bliver mere populær, når det anses for at være fuldstændigt stabilt. Det ville heller ikke skade for der at være en GUI for at gøre konfiguration lettere (udover i nogle distributionsinstallatører), men de kommandoer, du skal bruge i terminalen, er lette at forstå og anvende.
Hvad er den største opbevaringspool, du kunne lave? Synes du, at oplagringsbassiner er værd? Fortæl os det i kommentarerne!
Billedkredit: William Hook
Danny er senior på University of North Texas, der nyder alle aspekter af open source-software og Linux.