AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1178188
Accepted
LinuxScientist
LinuxScientist
Asked: 2025-04-04 04:31:01 +0800 CST2025-04-04 04:31:01 +0800 CST 2025-04-04 04:31:01 +0800 CST

Aumentar a partição raiz do Btrfs após redimensionar o disco da VM (preservar /home XFS)

  • 772

Eu realmente preciso de ajuda para descobrir como expandir com segurança a partição raiz na minha VM de servidor Linux. Adicionei 50 GB de espaço extra ao disco virtual da VM e consigo visualizar usando o fdisk, mas não tenho certeza de como alocá-lo sem danificar o sistema.

Aqui está meu layout de partição atual:

home-srv-01:~ #  lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0    8M  0 part 
├─sda2   8:2    0 30.8G  0 part /var
│                               /usr/local
│                               /tmp
│                               /boot/grub2/i386-pc
│                               /boot/grub2/x86_64-efi
│                               /opt
│                               /srv
│                               /.snapshots
│                               /root
│                               /
├─sda3   8:3    0 17.2G  0 part /home
└─sda4   8:4    0    2G  0 part [SWAP]
sr0     11:0    1 15.3G  0 rom  
home-srv-01:~ #

home-srv-01:~ # fdisk -l
GPT PMBR size mismatch (104857599 != 209715199) will be corrected by write.
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A1C8759F-D45C-4FB4-A365-1402AD4516B3

Device         Start       End  Sectors  Size Type
/dev/sda1       2048     18431    16384    8M BIOS boot
/dev/sda2      18432  64600063 64581632 30.8G Linux filesystem
/dev/sda3   64600064 100661247 36061184 17.2G Linux filesystem
/dev/sda4  100661248 104857566  4196319    2G Linux swap
home-srv-01:~ # 

O objetivo é expandir a partição raiz do Btrfs (sda2) para o novo espaço livre sem perder os dados em /home (sda3 XFS) ou fazer com que o sistema fique ininicializável. Infelizmente, minhas tentativas anteriores resultaram em problemas de inicialização, então estou sendo extremamente cauteloso agora.

Recapitulação das etapas:

  1. Fez backup de todos os dados de /home( /dev/sda3).
  2. Inicializado em um ambiente live CD/USB.
  3. Dados movidos de /homepara um disco externo.
  4. Executei swapoff /dev/sda4e deletei /dev/sda4.
  5. Excluído /dev/sda3(isso cria espaço livre ao lado de /dev/sda2).
  6. Redimensionou o sistema de arquivos Btrfs ao /dev/sda2usar btrfs filesystem resize max /.
  7. Recriou /dev/sda3e restaurou os /homedados do backup.
  8. Recriado /dev/sda4e executado swapon /dev/sda4.
  9. Uma vez concluído, o sistema não inicializa mais.

Agradeço desde já qualquer conselho ou sugestão passo a passo. Eu realmente apreciaria sua orientação.

LX

linux
  • 2 2 respostas
  • 122 Views

2 respostas

  • Voted
  1. codehead
    2025-04-04T08:00:51+08:002025-04-04T08:00:51+08:00

    Você quer usar btrfs filesystem resize max /path. Confira os exemplos na página de manual https://btrfs.readthedocs.io/en/latest/btrfs-filesystem.html#examples

    Aplica-se a isenção de responsabilidade padrão: faça um backup e certifique-se de que ele esteja funcional antes de tomar qualquer ação potencialmente destrutiva.

    • 2
  2. Best Answer
    TooTea
    2025-04-04T15:43:36+08:002025-04-04T15:43:36+08:00

    Você nem precisa se dar ao trabalho de reorganizar partições para redimensioná-las /dev/sda2. O Btrfs suporta nativamente o uso de múltiplos dispositivos subjacentes em um único sistema de arquivos, então adicionar espaço é tão fácil quanto criar uma nova partição no novo espaço livre no final do seu disco virtual. Tudo isso pode ser feito online com no máximo duas reinicializações simples, sem necessidade de backup/restauração (embora ter backups seja altamente recomendável, como sempre).

    1. Altere a configuração do seu hipervisor, redimensionando o dispositivo de bloco subjacente ( /dev/sda). Isso pode exigir a reinicialização da VM para aplicar a alteração. Como alternativa, crie um novo disco de VM em vez de redimensionar o existente, se for mais fácil (pode funcionar sem reinicialização, dependendo do seu hipervisor).
    2. fdisk /dev/sda
    3. Crie uma nova partição número 5 no espaço livre recém-adicionado entre a partição 4 e o final do disco. O fdisk provavelmente fará exatamente isso por padrão.
    4. Se /dev/sda5não aparecer automaticamente, execute partprobe /dev/sda. Se isso não ajudar, reinicie a VM.
    5. btrfs device add /dev/sda5 /e aproveite seu sistema de arquivos raiz ampliado.
    • 2

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve