O sistema de arquivos Btrfs pode ser redimensionado online (quando o sistema de arquivos é montado), mas se você quiser redimensionar uma partição que é adicionada a um sistema de arquivos Btrfs, você terá que fazer isso offline (quando o sistema de arquivos não está montado). Você pode aumentar / expandir ou diminuir um sistema de arquivos Btrfs online e aumentar / 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, então você precisa 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 (por padrão, o único dispositivo de armazenamento conectado será selecionado quando você executar a operação de redimensionamento).
Neste artigo, vou mostrar como aumentar / expandir e reduzir um sistema de arquivos Btrfs online e uma partição Btrfs offline. Também mostrarei como redimensionar um sistema de arquivos Btrfs que tem 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 em seu computador.
- Você precisa ter um disco rígido ou SSD com pelo menos 2 partições livres (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 têm 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. Portanto, certifique-se de substituí-los pelos 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 o 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 o 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 / data
Monte a partição Btrfs sdb1 (que você criou anteriormente) no /dados diretório com o seguinte comando:
Como você pode ver, o sistema de arquivos Btrfs dados montado no /dados diretório tem apenas um dispositivo de armazenamento (sdb1) adicionado a ele, e o ID do dispositivo de armazenamento é 1.
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, solteiro), 512 MB são alocados 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 do sistema de arquivos Btrfs (pode ser usado). Portanto, 0 byte está fora do pool do sistema de arquivos ( Frouxidão do dispositivo).
O sistema de arquivos Btrfs montado no /dados diretório é 10 GB no tamanho.
Redimensionar um sistema de arquivos Btrfs
Você pode redimensionar o sistema de arquivos Btrfs dados que você criou anteriormente e montou no /dados diretório online (quando está montado).
Por exemplo, para reduzir o sistema de arquivos Btrfs montado no /dados diretório, digamos, por 1 GB, execute o seguinte comando:
$ sudo btrfs filesystem resize -1G / data
Conforme mostrado na ilustração, o sistema de arquivos Btrfs removeu 1 GB de espaço em disco do conjunto do sistema de arquivos. Você pode usar o espaço livre (Frouxidão do dispositivo) para aumentar / expandir o sistema de arquivos Btrfs posteriormente.
Uso / dados do dispositivo $ sudo btrfs
Com base na imagem abaixo, você pode ver que o sistema de arquivos Brtfs montado no diretório / data está 9 GB no tamanho. Era anteriormente 10 GB.
Para aumentar / expandir o sistema de arquivos Btrfs montado no /dados diretório, digamos, por 256 MB, execute o seguinte comando:
Você pode ver na imagem abaixo que 256 MB de espaço em disco são removidos do Frouxidão do dispositivo e adicionado ao pool do sistema de arquivos Btrfs.
Como você pode ver, o sistema de arquivos Btrfs montado no /dados diretório agora é 256 MB maior do que antes.
Para aumentar / expandir o sistema de arquivos Btrfs montado no /dados diretório para o espaço máximo disponível em disco (em Frouxidão do dispositivo), execute o seguinte comando:
A ilustração abaixo mostra que todo o espaço em disco disponível do Frouxidão do dispositivo é adicionado ao conjunto do sistema de arquivos Btrfs. Então o Frouxidão do dispositivo agora tem 0 byte de tamanho.
O sistema de arquivos Btrfs montado no /dados diretório é agora 10 GB no tamanho.
Redimensionar uma partição Btrfs
Você pode redimensionar uma partição que é adicionada a um sistema de arquivos Btrfs offline (quando o sistema de arquivos Btrfs não está montado).
AVISO: Tenha cuidado ao redimensionar uma partição que é 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 ele. A partição tem 10 GB de tamanho.
Uso / dados do dispositivo $ sudo btrfs
Conforme mostrado na imagem abaixo, o tamanho da partição sdb1 é 10 GB.
Antes de redimensionar a partição, desmonte o sistema de arquivos Btrfs do /dados diretório com o seguinte comando:
O nome do disco que contém a partição sdb1 é sdb.
Abra o disco sdb com um programa de particionamento de disco como fdisk do seguinte modo:
Digitar p e pressione <Entrar> para listar todas as partições existentes do dispositivo de armazenamento sdb.
Como você pode ver abaixo, eu 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ê tem que lembrar o 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 imagem abaixo.
Para remover uma partição, digite d e pressione <Entrar>.
Para remover a primeira partição (sdb1), digitar 1, e pressione <Entrar>. A partição sdb1 deve ser removido.
Para recriar a mesma partição, digite n e pressione <Entrar>.
Digitar 1 como o número da partição e pressione <Entrar>.
Digitar 2048 como o número do primeiro setor e pressione <Entrar>.
Quero demonstrar o processo de redução da partição. Então, vou criar uma partição menor do que antes.
Digitar +9G (para criar uma partição de 9 GB) e pressione <Entrar>.
Gostaríamos de manter a assinatura da partição, então digite N e pressione <Entrar>.
A partição deve ser criada.
Para salvar as alterações, digite C e pressione <Entrar>.
Agora, monte o sistema de arquivos Btrfs no /dados diretório da seguinte forma:
Redimensione o sistema de arquivos Btrfs montado no /dados diretório para que as mudanças tenham efeito.
Você pode ver na imagem abaixo que o tamanho do sdb1 partição que é adicionada ao sistema de arquivos Btrfs é reduzida para 9 GB (de 10 GB).
Você pode confirmar a alteração do tamanho da partição com o df comando também.
Podemos aumentar / expandir uma partição que é adicionada ao sistema de arquivos Btrfs da mesma maneira. Vamos ver como fazer isso.
Desmonte o sistema de arquivos Btrfs que está montado no /dados diretório da seguinte forma:
$ sudo umount / data
Abra o disco sdb com um programa de particionamento de disco como fdisk do seguinte modo:
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 <Entrar>.
Digitar 1 como o número da partição e pressione <Entrar>. A primeira partição sdb1 deve ser removido.
Para recriar a primeira partição sdb1, digite n e pressione <Entrar>.
Digitar 1 como o número da partição e pressione <Entrar>.
Digitar 2048 como o número do primeiro setor e pressione <Entrar>.
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 <Entrar>.
A primeira partição, sdb1, deve ser recriado e seu tamanho aumentado.
Para salvar as alterações, digite C e pressione <Entrar>.
Monte a partição Btrfs sdb1 para o /dados diretório da seguinte forma:
Redimensione o sistema de arquivos Btrfs montado no /dados diretório para que as mudanças tenham efeito.
Como você pode ver, a partição (sdb1) o tamanho aumentou para 9.5 GB (a partir de 9 GB).
Você pode confirmar o tamanho da partição com o df comando também.
Redimensionar um sistema de arquivos Btrfs com vários dispositivos
Btrfs é um sistema de arquivos multi-dispositivo. 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 tem vários dispositivos de armazenamento ou partições adicionadas a ele. Então vamos começar.
No momento, o sistema de arquivos Btrfs que está montado no /dados diretório é 10 GB no tamanho.
$ df -h / data
A partição sdb1 (que tem o ID 1) é a única partição adicionada ao sistema de arquivos Btrfs.
Você pode adicionar outra partição (digamos, sdb2) para o sistema de arquivos Btrfs, que é montado no /dados diretório com o seguinte comando:
A partição recém-adicionada, sdb2, do sistema de arquivos Btrfs, que é montado no /dados diretório tem o ID 2, como você pode ver na imagem abaixo.
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 partição é adicionada ao sistema de arquivos Btrfs.
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 deseja redimensionar. Para especificar a partição a ser redimensionada em um sistema de arquivos Btrfs, você deve usar o ID da partição.
Por exemplo, para reduzir 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:
O 2 GB de espaço em disco é removido da partição sdb1 do sistema de arquivos Btrfs montado no /dados diretório.
Como você pode ver na ilustração, o sistema de arquivos Btrfs foi redimensionado (reduzido) de 20 GB para 18 GB.
Da mesma forma, você pode reduzir a partição do sistema de arquivos Btrfs sdb2 usando o ID da partição 2.
Para diminuir 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:
Você pode ver isso 1 GB de espaço em disco é removido da partição sdb2 do sistema de arquivos Btrfs montado no /dados diretório.
O sistema de arquivos Btrfs é redimensionado (reduzido) de 18 GB para 17 GB, conforme mostrado na imagem abaixo.
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:
Como você pode ver, 1 GB de espaço em disco da partição sdb1 é adicionado ao conjunto do sistema de arquivos Btrfs.
Agora, o sistema de arquivos Btrfs foi redimensionado (expandido) de 17 GB para 18 GB.
Para expandir a partição com o ID 2 por 1 GB do sistema de arquivos Btrfs montado no diretório / data, você pode executar o seguinte comando:
Você pode ver isso 1 GB de espaço em disco da partição sdb2 é adicionado ao conjunto do sistema de arquivos Btrfs.
O sistema de arquivos Btrfs agora foi redimensionado (expandido) de 18 GB para 19 GB.
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 reduzir ou aumentar / expandir um sistema de arquivos Btrfs e as partições adicionadas a um sistema de arquivos Btrfs.