Ridimensionare un filesystem BTRFS

Ridimensionare un filesystem BTRFS

Il filesystem BTRFS può essere ridimensionato online (quando è montato il filesystem), ma se si desidera ridimensionare una partizione che viene aggiunta a un filesystem BTRFS, dovrai farlo offline (quando il filesystem non è montato). Puoi crescere/espandere o ridurre un filesystem BTRFS online e crescere/espandere o ridurre una partizione BTRFS offline.

Il filesystem BTRFS è un filesystem multi-dispositivo. Se hai più dispositivi aggiunti al filesystem BTRFS, è necessario ridimensionare specifici dispositivi di archiviazione collegati al filesystem per ridimensionare il filesystem stesso. In caso contrario, è possibile ridimensionare direttamente il filesystem (come per impostazione predefinita, l'unico dispositivo di archiviazione allegato verrà selezionato quando si esegue l'operazione di ridimensionamento).

In questo articolo, ti mostrerò come crescere/espandere e restringere un filesystem BTRFS online e una partizione BTRFS offline. Mostrerò anche come ridimensionare un filesystem BTRFS che ha più dispositivi collegati ad esso. Quindi iniziamo.

Prerequisiti

Per provare gli esempi di questo articolo:

  • È necessario installare il filesystem BTRFS sul tuo computer.
  • Devi avere un disco rigido o un SSD con almeno 2 partizioni gratuite (di qualsiasi dimensione).

Ho un disco rigido da 20 GB sdb Sulla mia macchina Ubuntu. Ho creato 2 partizioni, SDB1 e SDB2, Su questo disco rigido. Le partizioni SDB1 e SDB2 sono di 10 GB di dimensioni.

$ sudo lsblk -e7


Il tuo disco rigido o SSD può avere un nome diverso dal mio, così anche le partizioni. Quindi, assicurati di sostituirli con il tuo da ora in poi.

Se hai bisogno di assistenza installando il filesystem BTRFS su Ubuntu, controlla il mio articolo Installa e usa BTRFS su Ubuntu 20.04 LTS.

Se hai bisogno di assistenza installando il filesystem BTRFS su Fedora, controlla il mio articolo Installare e utilizzare BTRFS su Fedora 33.

Creazione di un filesystem BTRFS

Per sperimentare il ridimensionamento di un filesystem BTRFS, dobbiamo creare un filesystem BTRFS. Quindi, creiamo un dati del filesystem BTRFS sulla partizione SDB1.

Per creare un filesystem BTRFS con l'etichetta dati sul SDB1 partizione, eseguire il seguente comando:

$ sudo mkfs.BTRFS -L Data /Dev /SDB1

Crea una directory /dati con il seguente comando:

$ sudo mkdir -v /dati


Montare la partizione BTRFS SDB1 (che hai creato in precedenza) sul /dati Directory con il seguente comando:

$ sudo Mount /Dev /SDB1 /Data


Come puoi vedere, il filesystem BTRFS dati montato sul /dati La directory ha un solo dispositivo di archiviazione (SDB1) aggiunto ad esso e l'ID del dispositivo di archiviazione è 1.

$ sudo btrfs Utilizzo /dati del dispositivo


La dimensione del filesystem è 10 GB (dimensione del dispositivo). Fuori da 10 GB di spazio su disco, 9.48 GB non è usato (Non allocato), 8 mb è assegnato per la memorizzazione dei dati (Dati, single), 512 MB è allocato per i metadati del filesystem (Metadati, dup), E 16 mb è assegnato per i dati di sistema (Sistema, dup).

L'intero spazio su disco della partizione SDB1 è sul pool di filesystem BTRFS (può essere utilizzato). Quindi, 0 byte è al di fuori del pool di filesystem ( Slack del dispositivo).


Il filesystem BTRFS montato su /dati La directory è 10 GB in misura.

$ df -h /dati

Ridimensionare un filesystem BTRFS

Puoi ridimensionare il filesystem BTRFS dati che hai creato prima e lo hai montato sul /dati Directory Online (quando è montato).

Ad esempio, per restringere il filesstem BTRFS montato sul /dati Directory, diciamo, per 1 GB, eseguire il seguente comando:

$ sudo btrfs filesystem ridimension -1g /dati

Come mostrato nell'illustrazione, il filesystem BTRFS ha rimosso 1 GB di spazio su disco dal pool di filesystem. Puoi usare lo spazio lento (Slack del dispositivo) per crescere/espandere il filesystem BTRFS in seguito.

$ sudo btrfs Utilizzo /dati del dispositivo


Sulla base dell'immagine qui sotto, è possibile vedere che il filesystem BRTFS montato sulla directory /dati è 9 GB in misura. Era in precedenza 10 GB.

$ df -h /dati


Per crescere/espandere il filesystem BTRFS montato sul /dati Directory, diciamo, di 256 MB, eseguire il seguente comando:

$ sudo btrfs filesystem ridimension +256m /dati


Puoi vedere dall'immagine sotto che 256 MB di spazio su disco viene rimosso da Slack del dispositivo e aggiunto al pool di filesystem BTRFS.

$ sudo btrfs Utilizzo /dati del dispositivo


Come puoi vedere, il filesystem BTRFS montato sul /dati La directory è ora più grande di 256 MB di prima.

$ df -h /dati


Per crescere/espandere il filesystem BTRFS montato sul /dati directory allo spazio del disco massimo disponibile (in Slack del dispositivo), esegui il seguente comando:

$ sudo btrfs filesystem ridimensiona max /dati


L'illustrazione seguente mostra che tutto lo spazio su disco disponibile da Slack del dispositivo viene aggiunto al pool di filesystem BTRFS. Così il Slack del dispositivo ora è di 0 byte di dimensioni.

$ sudo btrfs Utilizzo /dati del dispositivo


Il filesystem BTRFS montato su /dati La directory è ora 10 GB in misura.

$ df -h /dati

Ridimensionare una partizione BTRFS

È possibile ridimensionare una partizione che viene aggiunta a un filesystem BTRFS offline (quando il filesystem BTRFS non è montato).

AVVERTIMENTO: Fai attenzione quando si ridimensiona una partizione che viene aggiunta a un filesystem BTRFS in quanto potresti perdere dati importanti dalla partizione. Prendi sempre un backup prima di ridimensionare.

Come puoi vedere, il filesystem BTRFS che abbiamo creato in questo articolo ha una partizione a disco (SDB1) aggiunto ad esso. La partizione è di 10 GB di dimensioni.

$ sudo btrfs Utilizzo /dati del dispositivo


Come mostrato nell'immagine seguente, la dimensione della partizione SDB1 è 10 GB.

$ df -h /dati


Prima di ridimensionare la partizione, disturba il filesystem BTRFS dal /dati Directory con il seguente comando:

$ sudo umount /dati


Il nome del disco che contiene la partizione SDB1 è SDB.

$ sudo lsblk -e7


Apri il disco sdb con un programma di partizionamento del disco come fdisk come segue:

$ sudo fdisk /dev /sdb

Digitare P e premere <accedere> Per elencare tutte le partizioni esistenti del dispositivo di archiviazione sdb.

Come puoi vedere di seguito, ho due partizioni, SDB1 e SDB2, nel disco SDB. Ridimensioniamo la prima partizione (SDB1).


Per ridimensionare una partizione, è necessario rimuovere la partizione, quindi aggiungerla di nuovo. Quindi, devi ricordare il numero del settore iniziale della partizione.

Ad esempio, il numero del settore iniziale della prima partizione, SDB1, È 2048, Come puoi vedere nello screenshot qui sotto.


Per rimuovere una partizione, digita D e premere <accedere>.


Per rimuovere la prima partizione (SDB1), digitare 1, e premere <accedere>. La partizione SDB1 dovrebbe essere rimosso.


Per ricreare la stessa partizione, digita N e premere <accedere>.


Digitare 1 come numero di partizione e premere <accedere>.


Digitare 2048 come primo numero di settore e premere <accedere>.


Voglio dimostrare il processo di riduzione della partizione. Quindi, creerò una partizione più piccola di prima.

Digitare +9g (per creare una partizione da 9 GB) e premere <accedere>.


Vorremmo mantenere la firma della partizione, quindi digita N e premere <accedere>.


La partizione dovrebbe essere creata.


Per salvare le modifiche, digita w e premere <accedere>.


Ora montare il filesystem BTRFS sul /dati directory come segue:

$ sudo Mount /Dev /SDB1 /Data


Ridimensionare il filesystem BTRFS montato su /dati directory per le modifiche ad avere effetto.

$ sudo btrfs filesystem ridimensiona max /dati


Puoi vedere dall'immagine sotto che le dimensioni del SDB1 La partizione che viene aggiunta al filesystem BTRFS è ridotta 9 GB (da 10 GB).


È possibile confermare la modifica delle dimensioni della partizione con df anche comando.

$ df -h /dati


Possiamo crescere/espandere una partizione che viene aggiunta al filesystem BTRFS allo stesso modo. Vediamo come farlo.

Sconso /dati directory come segue:

$ sudo umount /dati


Apri il disco sdb con un programma di partizionamento del disco come fdisk come segue:

$ sudo fdisk /dev /sdb


Ora, la prima partizione SDB1 È 9 GB in misura.


Il numero di settore iniziale della prima partizione, SDB1, è 2048.


Per rimuovere la prima partizione, digita D e premere <accedere>.


Digitare 1 come numero di partizione e premere <accedere>. La prima partizione SDB1 dovrebbe essere rimosso.


Per ricreare la prima partizione SDB1, Digita N e premere <accedere>.


Digitare 1 come numero di partizione e premere <accedere>.


Digitare 2048 come primo numero di settore e premere <accedere>.


Aumenterò la dimensione della partizione di 500 mb. Quindi, la nuova dimensione della partizione dovrebbe essere 9.5 GB.

Digitare +9.5G e stampa .


Come vorremmo mantenere la firma del filesystem, digitamoci N e premere <accedere>.


La prima partizione, SDB1, dovrebbe essere ricreato e le sue dimensioni sono aumentate.


Per salvare le modifiche, digita w e premere <accedere>.


Montare la partizione BTRFS SDB1 al /dati directory come segue:

$ sudo Mount /Dev /SDB1 /Data


Ridimensionare il filesystem BTRFS montato su /dati directory per le modifiche ad avere effetto.

$ sudo btrfs filesystem ridimensiona max /dati


Come puoi vedere, la partizione (SDB1) La dimensione è aumentata a 9.5 GB (da 9 GB).

$ sudo btrfs Utilizzo /dati del dispositivo


Puoi confermare la dimensione della partizione con df anche comando.

$ df -h /dati

Ridimensiona un filesystem BTRFS multi-dispositivo

BTRFS è un filesystem multi-dispositivo. Significa che puoi aggiungere più dispositivi di archiviazione o partizioni a un singolo filesystem BTRFS. In questa sezione, ti mostrerò come ridimensionare un filesystem BTRFS che ha più dispositivi di archiviazione o partizioni aggiunte ad esso. Quindi iniziamo.

In questo momento, il filesystem BTRFS che è montato sul /dati La directory è 10 GB in misura.

$ df -h /dati


La partizione SDB1 (che ha il Id 1) è l'unica partizione aggiunta al filesystem BTRFS.

$ sudo btrfs Utilizzo /dati del dispositivo


Puoi aggiungere un'altra partizione (diciamo, SDB2) al filesystem BTRFS, che è montato su /dati Directory con il seguente comando:

$ sudo btrfs dispositivo add /dev /sdb2 /dati


La divisione appena aggiunta, SDB2, del filesystem BTRFS, che è montato sul /dati La directory ha l'ID 2, come puoi vedere nello screenshot qui sotto.

$ sudo btrfs Utilizzo /dati del dispositivo


Come puoi vedere, la dimensione del filesystem BTRFS, che è montato sul /dati partizione, è aumentata. Lo spazio su disco del SDB2 La partizione viene aggiunta al filesystem BTRFS.

$ df -h /dati


Per ridimensionare un filesystem BTRFS che ha più dispositivi di archiviazione aggiunti ad esso, è necessario specificare quale partizione del filesystem BTRFS si desidera ridimensionare. Per specificare la partizione per ridimensionare in un filesystem BTRFS, è necessario utilizzare l'ID partizione.

$ sudo btrfs Utilizzo /dati del dispositivo


Ad esempio, per ridurre la partizione con il ID 1 di 2 GB del filesystem BTRFS montato su /dati Directory, è possibile eseguire il seguente comando:

$ sudo btrfs filesystem ridimension 1: -2g /dati


IL 2 GB dello spazio su disco viene rimosso dalla partizione SDB1 del filesystem BTRFS montato su /dati directory.

$ sudo btrfs Utilizzo /dati del dispositivo


Come puoi vedere nell'illustrazione, il filesystem BTRFS viene ridimensionato (ridotto) a 18 GB da 20 GB.

$ df -h /dati


Allo stesso modo, puoi ridurre la partizione del filesystem BTRFS SDB2 Utilizzando l'ID partizione 2.

$ sudo btrfs Utilizzo /dati del dispositivo


Per ridurre la partizione con il ID 2 per 1 GB del filesystem BTRFS montato su /dati Directory, è possibile eseguire il seguente comando:

$ sudo btrfs filesystem ridimension 2: -1g /dati


Potete vederlo 1 GB dello spazio su disco viene rimosso dalla partizione SDB2 del filesystem BTRFS montato su /dati directory.

$ sudo btrfs Utilizzo /dati del dispositivo


Il filesystem BTRFS è ridimensionato (si è ridotto) a 17 GB da 18 GB, come mostrato nell'immagine seguente.

$ df -h /dati


Per espandere la partizione con il ID 1 di 1 GB del filesystem BTRFS montato su /dati Directory, è possibile eseguire il seguente comando:

$ sudo btrfs filesystem ridimension 1:+1g /dati


Come potete vedere, 1 GB di spazio su disco dalla partizione SDB1 viene aggiunto al pool di filesystem BTRFS.

$ sudo btrfs Utilizzo /dati del dispositivo


Ora, il filesystem BTRFS è ridimensionato (ampliato) a 18 GB da 17 GB.

$ df -h /dati


Per espandere la partizione con il ID 2 per 1 GB Del filesystem BTRFS montato sulla directory /dati, è possibile eseguire il seguente comando:

$ sudo btrfs filesystem ridimension 2:+1g /dati


Potete vederlo 1 GB di spazio su disco dalla partizione SDB2 viene aggiunto al pool di filesystem BTRFS.

$ sudo btrfs Utilizzo /dati del dispositivo


Il filesystem BTRFS è ora ridimensionato (ampliato) a 19 GB da 18 GB.

$ df -h /dati

Conclusione

In questo articolo, ti ho mostrato come ridimensionare un filesystem BTRFS e le partizioni aggiunte a un filesystem BTRFS. Oltre a come si può ridurre o crescere/espandere un filesystem BTRFS e le partizioni aggiunte a un filesystem BTRFS.