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:
- Du måste ha Btrfs-filsystemet installerat på din dator.
- Du måste ha en hårddisk eller SSD med minst 2 gratis partitioner (av alla storlekar).
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 på 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:
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.
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.
Ä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.
Att växa / utöka Btrfs-filsystemet monterat på /data katalog, låt oss säga, med 256 MB, kör följande kommando:
Du kan se från bilden nedan att 256 MB diskutrymme tas bort från Enhetssläck och läggs till i Btrfs-filsystempoolen.
Som du kan se är Btrfs-filsystemet monterat på /data katalogen är nu 256 MB större än tidigare.
Att växa / utöka Btrfs-filsystemet monterat på /data katalog till maximalt tillgängligt diskutrymme (i Enhetssläck), kör följande kommando:
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.
Btrfs-filsystemet monterat på /data katalog är nu 10 GB i storlek.
Ä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.
Innan du ändrar storlek på partitionen, demontera Btrfs-filsystemet från /data katalog med följande kommando:
Namnet på disken som innehåller partitionen sdb1 är sdb.
Öppna disken sdb med ett diskpartitioneringsprogram som fdisk som följer:
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:
Ändra storlek på Btrfs-filsystemet som är monterat på /data katalog för att ändringarna ska träda i kraft.
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å.
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:
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:
Ändra storlek på Btrfs-filsystemet som är monterat på /data katalog för att ändringarna ska träda i kraft.
Som du kan se partitionen (sdb1) storlek har ökat till 9.5 GB (från 9 GB).
Du kan bekräfta partitionsstorleken med df kommandot också.
Ä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.
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:
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.
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.
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.
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:
De 2 GB av diskutrymme tas bort från partitionen sdb1 av Btrfs-filsystemet monterat på /data katalog.
Som du kan se i illustrationen ändras Btrfs-filsystemet (krympt) till 18 GB från 20 GB.
På samma sätt kan du krympa Btrfs-filsystemspartitionen sdb2 med hjälp av partitions-ID 2.
Att krympa partitionen med ID 2 med 1 GB av Btrfs-filsystemet monterat på /data katalog kan du köra följande kommando:
Du kan se det 1 GB av diskutrymme tas bort från partitionen sdb2 av Btrfs-filsystemet monterat på /data katalog.
Btrfs-filsystemet ändras (krympas) till 17 GB från 18 GB, som visas i bilden nedan.
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:
Som du kan se, 1 GB av diskutrymme från partitionen sdb1 läggs till i Btrfs-filsystempoolen.
Nu ändras Btrfs-filsystemet (utökas) till 18 GB från 17 GB.
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:
Du kan se det 1 GB diskutrymme från partitionen sdb2 läggs till i Btrfs-filsystempoolen.
Btrfs-filsystemet har nu ändrats (utökats) till 19 GB från 18 GB.
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.