Como redimensionar a partição raiz ext4 ao vivo sem umount no Linux

Como redimensionar a partição raiz ext4 ao vivo sem umount no Linux

Este artigo se concentrará em como redimensionar a partição raiz ext4 sem desmontar. Essa é uma maneira fácil de algum sistema em que você não pode desmontar a partição raiz e o sistema pode ser recuperado facilmente se algo der errado, por exemplo.

A redimensionamento de qualquer partição ao vivo sem desarrmento vem com um tremendo risco de perder dados, portanto, não é recomendado. Se você tem dados sensíveis armazenados no seu sistema, é sempre recomendável derrubar o sistema, faça um backup e redimensione a partição enquanto não é montado.

No exemplo seguinte, redimensionaremos uma partição de uma nova partição de partição AWS Linux Instância. O tamanho atual da partição é 7.8 GB:

# df -h . Tamanho do sistema de arquivos usado use use% montado em /dev /xvda1 7.8G 642m 6.8g 9% / 

No entanto, o tamanho do disco relata 20 GB:

# fdisk -l disco/dev/xvda: 20 gib, 21474836480 bytes, 41943040 Unidades de setores: setores de 1 * 512 = 512 tamanho do setor de bytes (lógico/físico): 512 bytes/512 bytes i/o tamanho (mínimo/otimal) : 512 Bytes /512 Bytes DiskLabel Tipo: DOS Identificador de disco: 0xd7f2e0e8 Boot de inicialização Os setores de final de tampa de tamanho de tamanho /dev /xvda1 * 4096 16773119 16769024 8g 83 Linux 

A partição acima é montada como raiz e, portanto, a partição não pode ser desmontada:

# Umount / Umount: /: Target está ocupado. (Em alguns casos, informações úteis sobre processos que usam o dispositivo são encontradas por LSOF (8) ou FUSER (1)) 

Tudo o que precisa ser feito é tomar uma nota de um setor inicial de uma partição atual, que no nosso caso é 4096. Remova a partição e recrie uma nova partição maior a partir do setor 4096. Para isso, simplesmente vamos usar fdisk comando. Vamos começar imprimindo novamente nossa tabela de partição atual:

# fdisk /dev /xvda Bem-vindo ao fdisk (Util-Linux 2.25.2). As mudanças permanecerão apenas na memória, até você decidir escrevê -las. Tenha cuidado antes de usar o comando de gravação. Comando (m para ajuda): p disco/dev/xvda: 20 gib, 21474836480 bytes, 41943040 Unidades de setores: setores de 1 * 512 = 512 Bytes Tamanho do setor (lógico/físico): 512 bytes/512 Mínimo /ideal): 512 Bytes /512 Bytes DiskLabel Tipo: DOS Identificador de disco: 0xd7f2e0e8 Boot de inicialização Os setores de final de tampa de tamanho /dev /xvda1 * 4096 16773119 16769024 8g 83 Linux 

Mais uma vez por favor, tome uma nota do setor inicial 4096. Ainda em fdiskModo interativo de Remover Partição:

Comando (M para obter ajuda): D Partição 1 selecionado 1 foi excluído. 


Em seguida, crie uma nova partição no topo do anterior e verifique se você usa o mesmo setor inicial:

Comando (M para Ajuda): N Tipo de Partição P primário (0 primário, 0 estendido, 4 livre) E estendido (contêiner para partições lógicas) Selecionar (padrão P): P Número da partição (1-4, padrão 1): Primeiro setor (2048-41943039, padrão 2048): 4096 Último setor, +setores ou +tamanho k, m, g, t, p (4096-41943039, padrão 41943039): criou uma nova partição 1 do tipo 'Linux' e do tamanho 20 Gib. 

Faça a partição 1 inicializável e imprima nova tabela de partição:

Comando (M para obter ajuda): Uma Partição 1 selecionada A bandeira inicializável na Partição 1 está ativada agora. Comando (m para ajuda): p disco/dev/xvda: 20 gib, 21474836480 bytes, 41943040 Unidades de setores: setores de 1 * 512 = 512 Bytes Tamanho do setor (lógico/físico): 512 bytes/512 Mínimo /ideal): 512 Bytes /512 Bytes DiskLabel Tipo: DOS Identificador de disco: 0xd7f2e0e8 Boot de inicialização dos setores de tampa final de tamanho /dev /xvda1 * 4096 41943039 41938944 20g 83 Linux 

Confirme todos os novos detalhes e escreva uma nova tabela de partição:

Comando (m para ajuda): w A tabela de partição foi alterada. Chamando ioctl () para reler a tabela de partição. Relitando a tabela de partição falhou.: Dispositivo ou recurso ocupado O kernel ainda usa a tabela antiga. A nova tabela será usada na próxima reinicialização ou depois de executar o PartProbe (8) ou KPartx (8). 

Neste ponto, o sistema precisa ser reiniciado para remontar nossa partição raiz com um novo tamanho. Force FSCK na próxima reinicialização para garantir que a partição seja verificada antes de ser montada. Para fazer isso, basta criar um arquivo vazio chamado forcefsck na raiz do seu / partição:

# touch /forcefsck 

Reinicie seu sistema. Depois que o sistema estiver novamente, verifique o tamanho da partição:

df -h . Tamanho do sistema de arquivos usado use use% montado em /dev /xvda1 20g 644m 19g 4% / 

E a última verificação do FSCK:

# tune2fs -l /dev /xvda1 

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Ubuntu 22.04 Backup e restauração do sistema
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Como montar a imagem ISO no Linux
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • Como fazer bota dupla kali linux e windows 10
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes
  • Download ao vivo de CD/DVD Linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?