Ønsker du at oprette øjebliksbilleder af data på din Linux-pc, bare hvis noget bliver slettet? Med BtrFS-filsystemet kan du. Før du kan oprette et BtrFS-snapshot, skal du først have en blokenhed på Linux, der bruger BtrFS-filsystemet. Hvis du ønsker at omdanne et eksisterende drev til et BtrFS-drev til diverse data, skal du følge instruktionerne nedenfor. Vil du bruge BtrFS som dit rodfilsystem i stedet for? Sørg for at vælge “tilpasset installation” under installationsprocessen, og vælg BtrFS som dit foretrukne filsystem.
Ud over at have en blokenhed med BtrFS-filsystemet formateret til det, skal brugeren også installere btrfs-progs pakke.
Bemærk: Du skal muligvis køre kommandoen lsblk for at bestemme, hvilken blokenhed der skal formateres.
Indholdsfortegnelse
BtrFS på Linux
For at formatere et drev skal du først sikkerhedskopiere alle data på det og derefter åbne en terminal. I terminalen får du root ved at bruge: sudo -s. Med root-adgang skal du bruge mkfs-kommandoen til at lave et nyt filsystem på enheden. I dette eksempel bruger vi /dev/sdd1
mkfs.btrfs -f /dev/sdd1
Fejlfinding
Drevet virker ikke efter formatering til BtrFS? Du skal muligvis oprette en ny partitionstabel. Sådan gør du:
parted /dev/sdd mklabel gpt mkpart primary btrfs 1MiB 100%
Afslut det delte værktøj med:
quit
Kør derefter formatkommandoen igen.
mkfs.btrfs -f /dev/sdd1
Opret snapshots med BtrFS
Før du tager snapshots, skal du lave nogle underbind. Hoved Linux-filsystemet er BtrFS? Spring dette trin over, og gå direkte til opsætning af underbind. Følg kun denne del af processen, hvis du bruger et sekundært drev med BtrFS-filsystemet, du skal montere det. I dette eksempel vil harddisken være /dev/sdd.
sudo -s mkdir /btrfs mount -t btrfs /dev/sdd1 /btrfs
BtrFS-hovedmappen er blevet oprettet, monteret og er klar til brug. Det er tid til at oprette en underbind. Hvad er et undervolumen? Det er en speciel funktion, der følger med BtrFS-filsystemet, der tillader oprettede volumener at arbejde på samme måde som en blokenhed (tænk /dev/sda1 osv.).
Virkeligheden er, at de faktisk ikke er blokenheder. I stedet er de smarte mapper, der drager fordel af en teknologi kaldet “navnerum”. Uden at blive for kompliceret, udnytter BtrFS denne navnerumsteknologi til at give brugerne mulighed for at skabe en masse individuelle, monterbare undervolumener, der fungerer og opfører sig meget som blokenheder.
Følg disse trin for at oprette din egen undervolumen. I dette eksempel viser vi en grundlæggende undervolumenstruktur, der starter i hovedmappen /btrfs. Husk, at du kan lave dine egne volumener, hvor som helst du vil, så længe det sker på et BtrFS-filsystem.
Først skal du få en rodskal. Disse kommandoer kunne udføres med sudo-rettigheder, men i betragtning af at interaktion med filsystemet (som root) kan være kedeligt, er det bedst bare at få root med det samme. Brug sudo -s eller log ind på root med su. Gør derefter:
btrfs subvolume create /btrfs/vol_a
Den første kommando opretter en BtrFS undervolumen under /mnt/btrfs på vores /dev/sdd1 eksempeldrev. Hvis du ville, kunne du stoppe her og bruge dette som en volumen til at gemme alle vigtige data. Alternativt kan du oprette sub-sub-volumener (så mange du vil). For at oprette en volumen i en volumen skal du gøre:
btrfs subvolume create /btrfs/vol_a/vol_b
For at oprette et snapshot skal du først flytte/kopiere alle vigtige data til en underbind. For eksempel:
cp -R ~/Documents /btrfs/vol_a/
brug derefter filsystemet til at lave et snapshot.
btrfs subvolume snapshot /btrfs/vol_a/ /btrfs/vol_a/backup_1
Bemærk: Erstat “backup_1” med det, du vil kalde dit øjebliksbillede. Mærk dem tydeligt, så du kan sortere i dem senere.
Gendan ethvert øjebliksbillede med: mv /btrfs/vol_a/ /mnt/btrfs/vol_a/backup_1
Montering af undervolumener som blokenheder
En del af det fantastiske ved undervolumener er evnen til at montere dem alle individuelt, som uafhængige enheder. For at gøre dette skal du først liste alle kendte volumener ved hjælp af btrfs-kommandoen.
btrfs subvolume list /btrfs
Gå listen igennem, og find id-nummeret til undervolumen, og monter den derefter med mount-kommandoen. Afmonter den derefter, når du har fået ID’et.
mount -o subvolid=XXX /dev/sdX /btrfs
Erstat XXX med ID’et og /dev/sdX med det drev, hvor volumen, der skal monteres, er. Bare husk på, at du ikke kan montere en undervolumen til den samme partition som partitionen på øverste niveau. Monter i stedet til en anden BtrFS-formateret partition eller et andet drev. For eksempel:
mount -o subvolid=38 /dev/sdc1 /btrfs
Subvol 38 er placeret på /dev/sdd1, men /dev/sdc1 er også BtrFS, så snapshots kan monteres der. Dette behøver ikke at gøres på individuelle drev. I stedet kan du montere den til /dev/sdc2, og etc.
Indstil standard undervolumen
Det er nyttigt at indstille standard BtrFS-undervolumen, da det gør interaktion med den nemmere. For at indstille en standard skal du først bruge kommandoen undervolumenliste til at finde ID’et. Tag ID’et, og sæt det i kommandoen set-default:
btrfs subvolume set-default XXX /btrfs
For at slippe af med en standard, du har angivet, skal du bruge den samme kommando, undtagen i stedet for at bruge et volumen-id fra undervolumenlisten, skal du bruge tallet 0. Dette vil sætte det tilbage til fabriksindstillingerne, og så er du fri til at bruge andre underbind som standard.
btrfs subvolume set-default 0 /btrfs
Slet en underbind
Hvis du på noget tidspunkt ønsker at slippe af med en volumen, kan du slette den ved hjælp af BtrFS. Venligst, slet ikke undervolumen manuelt fra harddisken med kommandoer som “rmdir” eller “rm -rf”. Det er bedre at bruge BtrFS-filsystemværktøjerne.
For at slette en lydstyrke skal du gøre:
btrfs subvolume delete /btrfs/volume-name