Como posso redimensionar e reduzir uma partição BTRFS?

Como posso redimensionar e reduzir uma partição BTRFS?

Eu tenho o meu /homeem uma BTRFSpartição e preciso reduzi-lo.

Infelizmente, Gpartednão possui a opção de redimensionamento para este FS.

Posso redimensioná-lo de outra forma sem perder meus dados?

Responder1

De acordo comesta páginanowiki do btrfs:

Para reduzir o sistema de arquivos em 4 GiB: btrfs filesystem resize -4g /mntou btrfsctl -r -4g /mntDefina o tamanho do FS. Para definir o sistema de arquivos para um tamanho específico, omita o + ou - inicial do tamanho.

Os comandos btrfse btrfsctlno Ubuntu são fornecidos pelo pacote chamado btrfs-utils, que você pode instalar no Centro de Software. Você executa esses comandos no Terminal (Ctrl+Alt+T). Substitua 4gpor quanto você realmente deseja reduzir a partição e /mntpelo ponto de montagem da partição. Por exemplo, para reduzir uma partição btrfs montada em /media/Alpha em 500 MiB, você executaria:

btrfs filesystem resize -500m /media/Alpha

Ou:

btrfsctl -r -500m /media/Alpha

Supondo que as diretrizes para redimensionar sistemas de arquivos btrfs sejam as mesmas de outros sistemas de arquivos, você deve evitar redimensionar uma partição que esteja no mesmo disco físico que o sistema em execução. Portanto, se necessário, inicialize a partir de um sistema ativo para redimensionar uma partição na unidade que contém o sistema Ubuntu instalado. (Isso também se aplica ao redimensionamento feito no GParted.)

Se alguns utilitários ou aplicativos não visualizarem os resultados da operação de redimensionamento quando ela for executada, a reinicialização é uma boa ideia.

Veja o btrfsebtrfsctl páginas de manualpara obter mais detalhes sobre o uso desses comandos. E espero que owiki do btrfsestará de volta em breve.

Pessoalmente, não estou muito familiarizado com os sistemas de arquivos btrfs, mas me parece estranho que esses comandos de redimensionamento usem o ponto de montagem do sistema de arquivos em vez do nome do dispositivo. Se alguém puder explicar isso, comente ou sinta-se à vontade para editar esta resposta para melhorá-la.

Responder2

De acordo comPágina de recursos do GParted, a redução do btrfs é suportada. Se a opção não estiver disponível, a instalação do pacote btrfs-tools pode resolver o problema. Se isso não funcionar, pode ser porque o Ubuntu inclui uma versão mais antiga do GParted; nesse caso, você pode usar o Live CD do GParted:

http://gparted.sourceforge.net/livecd.php

(que também é comoUbuntu recomendausando de qualquer maneira)

Responder3

Esta não é uma resposta direta à pergunta, é para pessoas que chegam aqui a partir de uma pesquisa no Google,estou me perguntando se você pode fazer uma análise online de /- sim, você pode

Eu precisava de mais swap, e o btrfs não permite que você execute swap a partir de um arquivo, então tive que reduzir/recriar partições (com cuidado). Aqui está o que eu fiz, tendo em mente que queria 64G extras de swap:

sudo btrfs filesystem resize -96g /
sudo fdisk /dev/nvme0n1

Eu tinha 2 partições, 1 para/e outra para swap. Excluiu ambos e depois recriou (antes de reiniciar!). O tamanho antigo da partição 1 era 867,5G e o novo tamanho era 803,5, dando 64G extras para a partição swap. Quando perguntar se você deseja substituir a assinatura btrfs, diga NÃO! Se você estiver fazendo swap como eu fiz, você precisará alterar o "tipo" da partição swap para "82", durante a criação ou posteriormente usando o comando "t"

Após a reinicialização, corri

sudo btrfs filesystem resize max /

df -hentão relata:

/dev/nvme0n1p1  804G  498G  305G  63% /

Então, a razão pela qual encolhi o sistema de arquivos em 96G inicialmente foi porque ferramentas diferentes calculam G e M de maneira um pouco diferente, então é para ter certeza de que o sistema de arquivos não será prejudicado pela nova partição ser um pouco menor que o sistema de arquivos nela!

Após a reinicialização, se você alterou sua partição swap, você também precisará executar o mkswap nela, por exemplo, sudo mkswap /dev/nvme0n1p2e "swapon" ou reinicializar novamente

Isso possivelmente deve estar no topo da resposta, mas nem é preciso dizer que você executa um conjunto dos comandos acima por sua própria conta e risco e deve certificar-se de que seja feito backup de todos os arquivos importantes, caso algo dê errado e você perca o todo sistema de arquivo! Espero que isso ajude alguém!

Responder4

Use este comando para instalar btrfso suporte em GParted:

sudo apt install btrfs-progs

Depois disso, você pode facilmente reduzir e redimensionar sua partição no formato GParted. Desta forma você pode fazer todo o trabalho na GUI. Nenhuma linha de comando necessária

informação relacionada