Btrfs

Ändra storlek på ett Btrfs-filsystem

Ändra storlek på ett Btrfs-filsystem

Btrfs-filsystemet kan ändras online (när filsystemet är monterat), men om du vill ändra storlek på en partition som läggs till i ett Btrfs-filsystem måste du göra det offline (när filsystemet inte är monterat). Du kan växa / expandera eller krympa ett Btrfs-filsystem online och växa / expandera eller krympa en Btrfs-partition offline.

Btrfs-filsystemet är ett filsystem med flera enheter. Om du har lagt till flera enheter i ditt Btrfs-filsystem måste du ändra storlek på specifika lagringsenheter kopplade till filsystemet för att ändra storlek på själva filsystemet. Annars kan du ändra storleken på filsystemet (som standard kommer den enda anslutna lagringsenheten att väljas när du utför storleksåtgärden).

I den här artikeln ska jag visa dig hur du växer / expanderar och krymper ett Btrfs-filsystem online och en Btrfs-partition offline. Jag kommer också att visa hur man ändrar storlek på ett Btrfs-filsystem som har flera enheter anslutna till det. Så, låt oss komma igång.

Förutsättningar

För att prova exemplen i den här artikeln:

Jag har en 20 GB hårddisk sdb på min Ubuntu-maskin. Jag har skapat två partitioner, sdb1 och sdb2, på den här hårddisken. Partitionerna sdb1 och sdb2 är 10 GB i storlek.

$ sudo lsblk -e7


Din hårddisk eller SSD kan ha ett annat namn än mitt, så kommer partitionerna också att göra. Så se till att ersätta dem med din från och med nu.

Om du behöver hjälp med att installera Btrfs-filsystemet på Ubuntu, kolla in min artikel Installera och använd Btrfs på Ubuntu 20.04 LTS.

Om du behöver hjälp med att installera Btrfs-filsystemet på Fedora, kolla in min artikel Installera och använd Btrfs på Fedora 33.

Skapa ett Btrfs-filsystem

För att experimentera med att ändra storlek på ett Btrfs-filsystem måste vi skapa ett Btrfs-filsystem. Så, låt oss skapa en Btrfs-filsystemdata på partitionen sdb1.

Att skapa ett Btrfs-filsystem med etiketten data sdb1 partition, kör följande kommando:

$ sudo mkfs.btrfs -L data / dev / sdb1

Skapa en katalog /data med följande kommando:

$ sudo mkdir -v / data


Montera Btrfs-partitionen sdb1 (som du har skapat tidigare) på /data katalog med följande kommando:

$ sudo mount / dev / sdb1 / data


Som du kan se Btrfs-filsystemet data monterad på /data katalogen har bara en lagringsenhet (sdb1) läggs till den och lagringsenhetens ID är 1.

$ sudo btrfs enhetsanvändning / data


Filsystemets storlek är 10 GB (enhetsstorlek). Ut ur 10 GB av diskutrymme, 9.48 GB används inte (Ofördelad), 8 MB tilldelas för lagring av data (Data, singel), 512 MB tilldelas för filsystemets metadata (Metadata, DUP) och 16 MB tilldelas för systemdata (System, Dup).

Partitionens hela diskutrymme sdb1 är i Btrfs-filsystempoolen (kan användas). Så, 0 byte ligger utanför filsystempoolen ( Enhetssläck).


Btrfs-filsystemet monterat på /data katalog är 10 GB i storlek.

$ df -h / data

Ändra storlek på ett Btrfs-filsystem

Du kan ändra storlek på Btrfs-filsystemet data som du har skapat tidigare och monterat den på /data katalog online (när den är monterad).

Till exempel för att krympa Btrfs-filsystemet monterat på /data katalog, låt oss säga, med 1 GB, kör följande kommando:

$ sudo btrfs-filsystem ändrar storlek -1G / data

Som visas i illustrationen tog Btrfs-filsystemet bort 1 GB diskutrymme från filsystempoolen. Du kan använda det slaka utrymmet (Enhetssläck) för att växa / utöka Btrfs-filsystemet senare.

$ sudo btrfs enhetsanvändning / data


Baserat på bilden nedan kan du se att Brtfs-filsystemet monterat på / data-katalogen är 9 GB i storlek. Det var tidigare 10 GB.

$ df -h / data


Att växa / utöka Btrfs-filsystemet monterat på /data katalog, låt oss säga, med 256 MB, kör följande kommando:

$ sudo btrfs filsystem ändra storlek + 256M / data


Du kan se från bilden nedan att 256 MB diskutrymme tas bort från Enhetssläck och läggs till i Btrfs-filsystempoolen.

$ sudo btrfs enhetsanvändning / data


Som du kan se är Btrfs-filsystemet monterat på /data katalogen är nu 256 MB större än tidigare.

$ df -h / data


Att växa / utöka Btrfs-filsystemet monterat på /data katalog till maximalt tillgängligt diskutrymme (i Enhetssläck), kör följande kommando:

$ sudo btrfs filsystem ändra storlek på max / data


Bilden nedan visar att allt tillgängligt diskutrymme från Enhetssläck läggs till i Btrfs-filsystempoolen. Så, den Enhetssläck är nu 0 byte i storlek.

$ sudo btrfs enhetsanvändning / data


Btrfs-filsystemet monterat på /data katalog är nu 10 GB i storlek.

$ df -h / data

Ändra storlek på en Btrfs-partition

Du kan ändra storlek på en partition som läggs till i ett Btrfs-filsystem offline (när Btrfs-filsystemet inte är monterat).

VARNING: Var försiktig när du ändrar storlek på en partition som läggs till i ett Btrfs-filsystem eftersom du kan förlora viktiga data från partitionen. Ta alltid en säkerhetskopia innan du ändrar storlek.

Som du kan se har Btrfs-filsystemet som vi har skapat i den här artikeln en diskpartition (sdb1) läggs till den. Partitionen är 10 GB stor.

$ sudo btrfs enhetsanvändning / data


Som visas i bilden nedan, partitionens storlek sdb1 är 10 GB.

$ df -h / data


Innan du ändrar storlek på partitionen, demontera Btrfs-filsystemet från /data katalog med följande kommando:

$ sudo umount / data


Namnet på disken som innehåller partitionen sdb1 är sdb.

$ sudo lsblk -e7


Öppna disken sdb med ett diskpartitioneringsprogram som fdisk som följer:

$ sudo fdisk / dev / sdb

Skriv in sid och tryck <Stiga på> för att lista alla befintliga partitioner på lagringsenheten sdb.

Som du kan se nedan har jag två partitioner, sdb1 och sdb2, i disken sdb. Låt oss ändra storlek på den första partitionen (sdb1).


För att ändra storlek på en partition måste du ta bort partitionen och sedan lägga till den igen. Så du måste komma ihåg partitions startsektornummer.

Till exempel startsektornumret för den första partitionen, sdb1, är 2048, som du kan se på skärmdumpen nedan.


Om du vill ta bort en partition skriver du in d och tryck <Stiga på>.


För att ta bort den första partitionen (sdb1), Skriv in 1, och tryck <Stiga på>. Partitionen sdb1 bör tas bort.


För att återskapa samma partition, skriv in n och tryck <Stiga på>.


Skriv in 1 som partitionsnummer och tryck på <Stiga på>.


Skriv in 2048 som första sektornummer och tryck <Stiga på>.


Jag vill demonstrera processen för att krympa partitionen. Så jag ska skapa en mindre partition än tidigare.

Skriv in +9G (för att skapa en 9 GB-partition) och tryck på <Stiga på>.


Vi vill behålla partitionssignaturen, så skriv in N och tryck <Stiga på>.


Partitionen ska skapas.


Skriv in för att spara ändringarna w och tryck <Stiga på>.


Montera nu Btrfs-filsystemet på /data katalog enligt följande:

$ sudo mount / dev / sdb1 / data


Ändra storlek på Btrfs-filsystemet som är monterat på /data katalog för att ändringarna ska träda i kraft.

$ sudo btrfs filsystem ändra storlek på max / data


Du kan se på bilden nedan att storleken på sdb1 partition som läggs till i Btrfs-filsystemet reduceras till 9 GB (från 10 GB).


Du kan bekräfta ändringen av partitionsstorlek med df kommandot också.

$ df -h / data


Vi kan växa / utöka en partition som läggs till i Btrfs-filsystemet på samma sätt. Låt oss se hur man gör det.

Demontera Btrfs-filsystemet som är monterat på /data katalog enligt följande:

$ sudo umount / data


Öppna disken sdb med ett diskpartitioneringsprogram som fdisk som följer:

$ sudo fdisk / dev / sdb


Nu, den första partitionen sdb1 är 9 GB i storlek.


Startsektornumret för den första partitionen, sdb1, är 2048.


För att ta bort den första partitionen, skriv in d och tryck <Stiga på>.


Skriv in 1 som partitionsnummer och tryck på <Stiga på>. Den första partitionen sdb1 bör tas bort.


Att återskapa den första partitionen sdb1, skriv in n och tryck <Stiga på>.


Skriv in 1 som partitionsnummer och tryck på <Stiga på>.


Skriv in 2048 som första sektornummer och tryck <Stiga på>.


Jag kommer att öka partitionsstorleken med 500 MB. Så den nya partitionsstorleken bör vara 9.5 GB.

Skriv in +9.5G och tryck .


Eftersom vi vill behålla filsystemets signatur, låt oss skriva in N och tryck <Stiga på>.


Den första partitionen, sdb1, bör återskapas och dess storlek ökas.


Skriv in för att spara ändringarna w och tryck <Stiga på>.


Montera Btrfs-partitionen sdb1 till /data katalog enligt följande:

$ sudo mount / dev / sdb1 / data


Ändra storlek på Btrfs-filsystemet som är monterat på /data katalog för att ändringarna ska träda i kraft.

$ sudo btrfs filsystem ändra storlek på max / data


Som du kan se partitionen (sdb1) storlek har ökat till 9.5 GB (från 9 GB).

$ sudo btrfs enhetsanvändning / data


Du kan bekräfta partitionsstorleken med df kommandot också.

$ df -h / data

Ändra storlek på ett Btrfs-filsystem med flera enheter

Btrfs är ett filsystem med flera enheter. Det betyder att du kan lägga till flera lagringsenheter eller partitioner till ett enda Btrfs-filsystem. I det här avsnittet ska jag visa dig hur du ändrar storlek på ett Btrfs-filsystem som har flera lagringsenheter eller partitioner lagt till det. Så, låt oss komma igång.

Just nu är Btrfs-filsystemet som är monterat på /data katalog är 10 GB i storlek.

$ df -h / data


Partitionen sdb1 (som har ID 1) är den enda partitionen som läggs till i Btrfs-filsystemet.

$ sudo btrfs enhetsanvändning / data


Du kan lägga till en annan partition (låt oss säga, sdb2) till Btrfs-filsystemet, som är monterat på /data katalog med följande kommando:

$ sudo btrfs-enhet lägg till / dev / sdb2 / data


Den nyligen tillagda partitionen, sdb2, av Btrfs-filsystemet, som är monterat på /data katalogen har ID 2, som du kan se på skärmdumpen nedan.

$ sudo btrfs enhetsanvändning / data


Som du kan se är storleken på Btrfs-filsystemet, som är monterat på /data partition, har ökat. Diskutrymmet på sdb2 partition läggs till i Btrfs-filsystemet.

$ df -h / data


För att ändra storlek på ett Btrfs-filsystem som har flera lagringsenheter lagt till måste du ange vilken partition av Btrfs-filsystemet du vill ändra storlek på. För att specificera partitionen som ska ändras i ett Btrfs-filsystem måste du använda partitions-ID: t.

$ sudo btrfs enhetsanvändning / data


Till exempel att krympa partitionen med ID 1 med 2 GB av Btrfs-filsystemet monterat på /data katalog kan du köra följande kommando:

$ sudo btrfs-filsystem ändrar storlek 1: -2G / data


De 2 GB av diskutrymme tas bort från partitionen sdb1 av Btrfs-filsystemet monterat på /data katalog.

$ sudo btrfs enhetsanvändning / data


Som du kan se i illustrationen ändras Btrfs-filsystemet (krympt) till 18 GB från 20 GB.

$ df -h / data


På samma sätt kan du krympa Btrfs-filsystemspartitionen sdb2 med hjälp av partitions-ID 2.

$ sudo btrfs enhetsanvändning / data


Att krympa partitionen med ID 2 med 1 GB av Btrfs-filsystemet monterat på /data katalog kan du köra följande kommando:

$ sudo btrfs-filsystem ändrar storlek 2: -1G / data


Du kan se det 1 GB av diskutrymme tas bort från partitionen sdb2 av Btrfs-filsystemet monterat på /data katalog.

$ sudo btrfs enhetsanvändning / data


Btrfs-filsystemet ändras (krympas) till 17 GB från 18 GB, som visas i bilden nedan.

$ df -h / data


För att utöka partitionen med ID 1 med 1 GB av Btrfs-filsystemet monterat på /data katalog kan du köra följande kommando:

$ sudo btrfs-filsystem ändrar storlek 1: + 1G / data


Som du kan se, 1 GB av diskutrymme från partitionen sdb1 läggs till i Btrfs-filsystempoolen.

$ sudo btrfs enhetsanvändning / data


Nu ändras Btrfs-filsystemet (utökas) till 18 GB från 17 GB.

$ df -h / data


För att utöka partitionen med ID 2 med 1 GB för Btrfs-filsystemet monterat på / data-katalogen kan du köra följande kommando:

$ sudo btrfs filsystem ändra storlek 2: + 1G / data


Du kan se det 1 GB diskutrymme från partitionen sdb2 läggs till i Btrfs-filsystempoolen.

$ sudo btrfs enhetsanvändning / data


Btrfs-filsystemet har nu ändrats (utökats) till 19 GB från 18 GB.

$ df -h / data

Slutsats

I den här artikeln har jag visat dig hur du ändrar storlek på ett Btrfs-filsystem och partitionerna som läggs till i ett Btrfs-filsystem. Liksom hur du kan krympa eller växa / expandera ett Btrfs-filsystem och partitionerna läggs till i ett Btrfs-filsystem.

De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...
Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...
5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...