Redimensione um sistema de arquivos btrfs

Redimensione um sistema de arquivos btrfs

O sistema de arquivos BTRFS pode ser redimensionado on -line (quando o sistema de arquivos estiver montado), mas se você quiser redimensionar uma partição adicionada a um sistema de arquivos BTRFS, precisará fazê -lo offline (quando o sistema de arquivos não estiver montado). Você pode crescer/expandir ou diminuir um sistema de arquivos BTRFS on -line e crescer/expandir ou diminuir uma partição BTRFS offline.

O sistema de arquivos BTRFS é um sistema de arquivos com vários dispositivos. Se você tiver vários dispositivos adicionados ao seu sistema de arquivos BTRFS, você precisará redimensionar dispositivos de armazenamento específicos anexados ao sistema de arquivos para redimensionar o próprio sistema de arquivos. Caso contrário, você pode redimensionar diretamente o sistema de arquivos (como por padrão, o único dispositivo de armazenamento anexado será selecionado quando você executar a operação de redimensionamento).

Neste artigo, vou mostrar como crescer/expandir e encolher um sistema de arquivos btrfs online e uma partição btrfs offline. Também mostrarei como redimensionar um sistema de arquivos BTRFS que possui vários dispositivos anexados a ele. Então vamos começar.

Pré -requisitos

Para experimentar os exemplos deste artigo:

  • Você deve ter o sistema de arquivos BTRFS instalado no seu computador.
  • Você precisa ter um disco rígido ou SSD com pelo menos 2 partições gratuitas (de qualquer tamanho).

Eu tenho um disco rígido de 20 GB sdb Na minha máquina Ubuntu. Eu criei 2 partições, SDB1 e SDB2, Neste disco rígido. As partições SDB1 e SDB2 são 10 GB de tamanho.

$ sudo lsblk -e7


Seu disco rígido ou SSD pode ter um nome diferente do meu, assim como as partições. Então, certifique -se de substituí -los por seus a partir de agora.

Se você precisar de ajuda para instalar o sistema de arquivos BTRFS no Ubuntu, verifique meu artigo Instale e use BTRFs no Ubuntu 20.04 LTS.

Se você precisar de ajuda para instalar o sistema de arquivos BTRFS no Fedora, verifique meu artigo Instale e use BTRFs no Fedora 33.

Criando um sistema de arquivos BTRFS

Para experimentar o redimensionamento de um sistema de arquivos BTRFS, precisamos criar um sistema de arquivos BTRFS. Então, vamos criar dados do sistema de arquivos BTRFS na partição SDB1.

Para criar um sistema de arquivos BTRFS com o rótulo dados no sdb1 Partição, execute o seguinte comando:

$ sudo mkfs.BTRFS -L DATA /DEV /SDB1

Crie um diretório /dados com o seguinte comando:

$ sudo mkdir -v /dados


Monte a partição BTRFS sdb1 (que você criou anteriormente) no /dados Diretório com o seguinte comando:

$ sudo montagem /dev /sdb1 /dados


Como você pode ver, o sistema de arquivos BTRFS dados montado no /dados O diretório possui apenas um dispositivo de armazenamento (sdb1) adicionado a ele, e o ID do dispositivo de armazenamento é 1.

$ sudo btrfs Uso do dispositivo /dados


O tamanho do sistema de arquivos é 10 GB (tamanho do dispositivo). Fora de 10 GB de espaço em disco, 9.48 GB não é usado (Não alocado), 8 MB é alocado para armazenar dados (Dados, único), 512 MB é alocado para os metadados do sistema de arquivos (Metadados, dup), e 16 MB é alocado para dados do sistema (Sistema, dup).

Todo o espaço em disco da partição sdb1 está no pool de sistema de arquivos BTRFS (pode ser usado). Então, 0 byte está fora do pool de sistemas de arquivos ( Folga do dispositivo).


O sistema de arquivos BTRFS montado no /dados diretório é 10 GB no tamanho.

$ df -h /dados

Redimensione um sistema de arquivos btrfs

Você pode redimensionar o sistema de arquivos btrfs dados que você criou anteriormente e o montou no /dados diretório online (quando está montado).

Por exemplo, para encolher o sistema de arquivos BTRFS montado no /dados Diretório, digamos, por 1 GB, execute o seguinte comando:

$ sudo btrfs arquivos sistema redimensiona -1g /dados

Conforme mostrado na ilustração, o sistema de arquivos BTRFS removeu 1 GB de espaço em disco do Pool de sistemas de arquivos. Você pode usar o espaço de folga (Folga do dispositivo) para crescer/expandir o sistema de arquivos BTRFS mais tarde.

$ sudo btrfs Uso do dispositivo /dados


Com base na imagem abaixo, você pode ver que o sistema de arquivos BRTFS montado no diretório de dados é 9 GB no tamanho. Era anteriormente 10 GB.

$ df -h /dados


Para crescer/expandir o sistema de arquivos BTRFS montado no /dados Diretório, digamos, por 256 MB, execute o seguinte comando:

$ sudo btrfs arquivos sistema de sistema +256m /dados


Você pode ver na figura abaixo que 256 Mb de espaço em disco são removidos do Folga do dispositivo e adicionado ao pool de sistema de arquivos BTRFS.

$ sudo btrfs Uso do dispositivo /dados


Como você pode ver, o sistema de arquivos BTRFS montado no /dados o diretório agora é 256 MB maior do que antes.

$ df -h /dados


Para crescer/expandir o sistema de arquivos BTRFS montado no /dados diretório para o espaço de disco máximo disponível (em Folga do dispositivo), execute o seguinte comando:

$ sudo btrfs filesystem redimensione max /dados


A ilustração abaixo mostra que todo o espaço de disco disponível do Folga do dispositivo é adicionado ao pool de sistema de arquivos BTRFS. Então o Folga do dispositivo agora tem 0 byte em tamanho.

$ sudo btrfs Uso do dispositivo /dados


O sistema de arquivos BTRFS montado no /dados diretório é agora 10 GB no tamanho.

$ df -h /dados

Redimensionar uma partição BTRFS

Você pode redimensionar uma partição adicionada a um sistema de arquivos BTRFS offline (quando o sistema de arquivos BTRFS não estiver montado).

AVISO: Tenha cuidado ao redimensionar uma partição adicionada a um sistema de arquivos BTRFS, pois você pode perder dados importantes da partição. Sempre faça um backup antes de redimensionar.

Como você pode ver, o sistema de arquivos BTRFS que criamos neste artigo tem uma partição de disco (sdb1) adicionado a isso. A partição tem 10 GB de tamanho.

$ sudo btrfs Uso do dispositivo /dados


Conforme mostrado na imagem abaixo, o tamanho da partição SDB1 é 10 GB.

$ df -h /dados


Antes de redimensionar a partição, desmonte o sistema de arquivos BTRFS do /dados Diretório com o seguinte comando:

$ sudo umount /dados


O nome do disco que contém a partição SDB1 é SDB.

$ sudo lsblk -e7


Abra o disco sdb com um programa de partição de disco como fdisk do seguinte modo:

$ sudo fdisk /dev /sdb

Digitar p e pressione <Digitar> Para listar todas as partições existentes do dispositivo de armazenamento sdb.

Como você pode ver abaixo, tenho duas partições, sdb1 e sdb2, no disco sdb. Vamos redimensionar a primeira partição (sdb1).


Para redimensionar uma partição, você deve remover a partição e adicioná -la novamente. Então, você deve se lembrar do número do setor inicial da partição.

Por exemplo, o número do setor inicial da primeira partição, sdb1, é 2048, Como você pode ver na captura de tela abaixo.


Para remover uma partição, digite d e pressione <Digitar>.


Para remover a primeira partição (sdb1), digitar 1, e pressione <Digitar>. A partição sdb1 deve ser removido.


Para recriar a mesma partição, digite n e pressione <Digitar>.


Digitar 1 Como o número da partição e a imprensa <Digitar>.


Digitar 2048 Como o primeiro número do setor e a imprensa <Digitar>.


Eu quero demonstrar o processo de encolher a partição. Então, vou criar uma partição menor do que antes.

Digitar +9g (para criar uma partição de 9 GB) e pressionar <Digitar>.


Gostaríamos de manter a assinatura da partição, então digite N e pressione <Digitar>.


A partição deve ser criada.


Para salvar as mudanças, digite c e pressione <Digitar>.


Agora, monte o sistema de arquivos BTRFS no /dados diretório da seguinte maneira:

$ sudo montagem /dev /sdb1 /dados


Redimensione o sistema de arquivos BTRFS que é montado no /dados Diretório para as mudanças entrarem em vigor.

$ sudo btrfs filesystem redimensione max /dados


Você pode ver na imagem abaixo que o tamanho do sdb1 a partição que é adicionada ao sistema de arquivos BTRFS é reduzida a 9 GB (de 10 GB).


Você pode confirmar a mudança de tamanho da partição com o df comando também.

$ df -h /dados


Podemos crescer/expandir uma partição que é adicionada ao sistema de arquivos BTRFS da mesma maneira. Vamos ver como fazer isso.

Desmontar o sistema de arquivos BTRFS que é montado no /dados diretório da seguinte maneira:

$ sudo umount /dados


Abra o disco sdb com um programa de partição de disco como fdisk do seguinte modo:

$ sudo fdisk /dev /sdb


Agora, a primeira partição sdb1 é 9 GB no tamanho.


O número do setor inicial da primeira partição, SDB1, é 2048.


Para remover a primeira partição, digite d e pressione <Digitar>.


Digitar 1 Como o número da partição e a imprensa <Digitar>. A primeira partição sdb1 deve ser removido.


Para recriar a primeira partição sdb1, digite n e pressione <Digitar>.


Digitar 1 Como o número da partição e a imprensa <Digitar>.


Digitar 2048 Como o primeiro número do setor e a imprensa <Digitar>.


Vou aumentar o tamanho da partição em 500 MB. Então, o novo tamanho da partição deve ser 9.5 GB.

Digitar +9.5G e pressione .


Como gostaríamos de manter a assinatura do sistema de arquivos, vamos digitar N e pressione <Digitar>.


A primeira partição, sdb1, deve ser recriado e seu tamanho aumentou.


Para salvar as mudanças, digite c e pressione <Digitar>.


Monte a partição BTRFS sdb1 para o /dados diretório da seguinte maneira:

$ sudo montagem /dev /sdb1 /dados


Redimensione o sistema de arquivos BTRFS que é montado no /dados Diretório para as mudanças entrarem em vigor.

$ sudo btrfs filesystem redimensione max /dados


Como você pode ver, a partição (sdb1) tamanho aumentou para 9.5 GB (de 9 GB).

$ sudo btrfs Uso do dispositivo /dados


Você pode confirmar o tamanho da partição com o df comando também.

$ df -h /dados

Redimensione um sistema de arquivos BTRFS de vários dispositivos

BTRFS é um sistema de arquivos com vários dispositivos. Isso significa que você pode adicionar vários dispositivos de armazenamento ou partições a um único sistema de arquivos BTRFS. Nesta seção, vou mostrar como redimensionar um sistema de arquivos BTRFS que possui vários dispositivos ou partições de armazenamento adicionados a ele. Então vamos começar.

No momento, o sistema de arquivos BTRFS que é montado no /dados diretório é 10 GB no tamanho.

$ df -h /dados


A partição sdb1 (que tem o Id 1) é a única partição adicionada ao sistema de arquivos BTRFS.

$ sudo btrfs Uso do dispositivo /dados


Você pode adicionar outra partição (digamos, sdb2) para o sistema de arquivos BTRFS, que é montado no /dados Diretório com o seguinte comando:

$ sudo btrfs dispositivo add /dev /sdb2 /dados


A partição recém -adicionada, sdb2, do sistema de arquivos BTRFS, que é montado no /dados O diretório tem o ID 2, como você pode ver na captura de tela abaixo.

$ sudo btrfs Uso do dispositivo /dados


Como você pode ver, o tamanho do sistema de arquivos BTRFS, que é montado no /dados partição, aumentou. O espaço em disco do sdb2 A partição é adicionada ao sistema de arquivos BTRFS.

$ df -h /dados


Para redimensionar um sistema de arquivos BTRFS que possui vários dispositivos de armazenamento adicionados a ele, você deve especificar qual partição do sistema de arquivos BTRFS você deseja redimensionar. Para especificar a partição para redimensionar em um sistema de arquivos BTRFS, você deve usar o ID da partição.

$ sudo btrfs Uso do dispositivo /dados


Por exemplo, para encolher a partição com o ID 1 por 2 GB do sistema de arquivos BTRFS montado no /dados Diretório, você pode executar o seguinte comando:

$ sudo btrfs arquivos sistema de sistema 1: -2g /dados


O 2 GB do espaço em disco é removido da partição sdb1 do sistema de arquivos BTRFS montado no /dados diretório.

$ sudo btrfs Uso do dispositivo /dados


Como você pode ver na ilustração, o sistema de arquivos BTRFS é redimensionado (encolhido) para 18 GB de 20 GB.

$ df -h /dados


Da mesma maneira, você pode encolher a partição do sistema de arquivos BTRFS sdb2 Usando o ID da partição 2.

$ sudo btrfs Uso do dispositivo /dados


Para encolher a partição com o ID 2 por 1 GB do sistema de arquivos BTRFS montado no /dados Diretório, você pode executar o seguinte comando:

$ sudo btrfs arquivos sistema de sistema 2: -1g /dados


Você pode ver isso 1 GB do espaço em disco é removido da partição sdb2 do sistema de arquivos BTRFS montado no /dados diretório.

$ sudo btrfs Uso do dispositivo /dados


O sistema de arquivos BTRFS é redimensionado (encolhido) para 17 GB de 18 GB, como mostrado na imagem abaixo.

$ df -h /dados


Para expandir a partição com o ID 1 por 1 GB do sistema de arquivos BTRFS montado no /dados Diretório, você pode executar o seguinte comando:

$ sudo btrfs arquivos sistema de sistema 1:+1g /dados


Como você pode ver, 1 GB de espaço em disco da partição sdb1 é adicionado ao pool de sistema de arquivos BTRFS.

$ sudo btrfs Uso do dispositivo /dados


Agora, o sistema de arquivos BTRFS é redimensionado (expandido) para 18 GB de 17 GB.

$ df -h /dados


Para expandir a partição com o ID 2 por 1 GB Do sistema de arquivos BTRFS montado no diretório /dados, você pode executar o seguinte comando:

$ sudo btrfs arquivos sistema de sistema 2:+1g /dados


Você pode ver isso 1 GB de espaço em disco da partição sdb2 é adicionado ao pool de sistema de arquivos BTRFS.

$ sudo btrfs Uso do dispositivo /dados


O sistema de arquivos BTRFS agora é redimensionado (expandido) para 19 GB de 18 GB.

$ df -h /dados

Conclusão

Neste artigo, mostrei como redimensionar um sistema de arquivos BTRFS e as partições adicionadas a um sistema de arquivos BTRFS. Além de como você pode encolher ou crescer/expandir um sistema de arquivos BTRFS e as partições adicionadas a um sistema de arquivos BTRFS.