Sådan opretter du snapshots med BtrFS på Linux

Ø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.

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.

  Sådan får du størrelsen på en fil eller mappe i Linux

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.

  Sådan installeres AppImages på Linux på den nemme måde

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.

  Sådan får du Linux til at ligne Windows 10

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