
Tenho um pequeno servidor VPS com 40 GB de espaço em disco. Comprei 40 GB extras e agora gostaria de aumentar /
o tamanho da partição.
Minhas partições ficam assim:
/dev/vda1
é /boot
e /dev/vda5
é meu /
. Meu provedor VPS adicionou /dev/vda2
. Não tenho certeza se isso está correto, mas tentei remover /dev/vda5
e /dev/vda2
criar /dev/vda5
, mas não tenho essa opção, só posso recriar dispositivos com ID 2-4 e não 5 onde /
está o meu.
Responder1
Existe um utilitário chamado growpart
que aumentará as partições com segurança assim que seu provedor expandir seu disco virtual. O único truque no seu caso é que eles criaram desnecessariamente uma partição estendida/lógica do DOS quando ela não era necessária. Assim você terá que redimensionar a partição estendida e depois a partição lógica que ela contém.
sudo apt install cloud-guest-utils
O growpart
utilitário aceita o número do disco e da partição como argumentos separados, portanto, para redimensionar /dev/vda2
você escreverá:
sudo growpart /dev/vda 2
Redimensione a partição estendida /dev/vda2
primeiro e depois redimensione /dev/vda5
da mesma maneira.
sudo growpart /dev/vda 2
sudo growpart /dev/vda 5
Agora você deve conseguir redimensionar seu sistema de arquivos. Se for ext4, resize2fs /dev/vda5
funcionará. Para XFS, use xfs_growfs /
.
Responder2
Pela sua fdisk
saída, parece que você realmente tem um disco de 80 GB com 40 GBestendidopartição ( /dev/vda2
) que contém dentro de 40 GBlógicopartição /dev/vda5
que contém seu /
sistema de arquivos. A partição estendida na verdade não contém nenhum arquivo, é apenas um "contêiner" para partições lógicas que permite superar o limite de 4 partições que menciono abaixo. Depois, há 40 GB de espaço não alocado que fdisk
não aparece de forma alguma.
Você pode ter várias opções de como usar esse espaço não alocado. Presumo que você não esteja usando o LVM porque, se o fizer, o procedimento seria completamente diferente, pois o LVM possui ferramentas próprias para redimensionar volumes. No entanto, sua fdisk
saída não indica nenhuma menção à partição LVM.
Eu não recomendaria excluir e recriar partições, fdisk
pois isso sempre causa risco de perda de dados. Portanto, se quiser fazer isso com segurança, você pode tentar o seguinte:
A primeira opção é ter duas partições de 40 GB e dividir seus arquivos de forma inteligente entre essas duas. Se você, por exemplo, mantiver muitos arquivos grandes em /home
, poderá usar a nova partição para /home
e todo o resto, exceto /home
permanecerá na partição antiga. Para fazer isso:
use
fdisk
para criar outra partição primária (provavelmente aparecerá como/dev/vda3
!) naquele espaço não alocado e formate-a como um novo sistema de arquivos Linux commkfs /dev/vda3
. Pode haver no máximo 4 partições primárias ou estendidas no total, com no máximo uma delas sendo estendida, portanto há espaço para outra partição. Não é um layout de partição recomendado onde vem uma partição primáriadepoisa partição estendida, mas provavelmente funcionará.renomeie seu
/home
diretório para/old_home
(certifique-se de que não esteja sendo usado no momento, então faça isso do root, sem nenhum usuário normal conectado) e crie um novo/home
diretório com o mesmo proprietário e permissões do antigo.monte o
/dev/vda3
sistema de arquivos/home
com o comando:mount /dev/vda3 /home
. Se isso funcionar, você deve editar/etc/fstab
para que o novo sistema de arquivos seja montado automaticamente quando o sistema for inicializado. Provavelmente você/etc/fstab
contém atualmente duas linhas para vda1 e vda5, algo assim (estou inventando esta agora, a sua pode ser diferente):/dev/vda5 / ext4 defaults 0 1
/dev/vda1 /boot ext4 defaults 0 2
Adicione uma linha semelhante para vda3 que diz, por exemplo:
/dev/vda3 /home ext4 defaults 0 2
(se o seu arquivo tiver outra coisa em vez de "ext4" ou "defaults", basta copiar esses parâmetros para a nova linha). Agora grave qualquer arquivo no novo
/home
diretório e reinicie o sistema. Se após a reinicialização o arquivo que você colocou no/home
diretório ainda estiver lá, significa que/home
foi montado corretamente na inicialização.Agora você pode mover tudo de
/old_home
para/home
e excluir o/old_home
diretório vazio.
Considero esse método geralmente o mais seguro e fácil para mim e já o usei várias vezes. No entanto, tem a desvantagem de ter 2x40 GB em vez de 80 GB de espaço, o que às vezes pode ser bom, às vezes ruim - por exemplo, quando você deseja evitar o preenchimento acidental do disco do sistema com arquivos do usuário, é melhor ter /home
como partição separada.
Então outra opção é usar GNUse separaramprograma para redimensionar suas partições vda2 e vda5 (primeiro vda2 e depois vda5, pois a primeira contém a última) para 80 GB. parted
foi projetado especificamente para modificar partições sem perder dados, o que fdisk
não pode ser garantido. Tenho certeza parted
que está no repositório Debian, então você pode instalá-lo com o apt
.
Depois de redimensionar a partição, use o comando resize2fs /dev/vda5
para estender seu /
sistema de arquivos para 80 GB completos.
Responder3
Normalmente, neste caso, você usaria fdisk /dev/vda
.
- Anote os setores iniciais das partições 2 e 5.
- Remova a partição 5.
- Remova a partição 2.
- Recrie a partição 2 com o setor inicial antigo e o novo final (valor padrão). Isto é umestendidopartição.
- Recrie a partição 5 com o setor inicial antigo e o novo final (valor padrão). Isto é umlógicopartição.
Depois que a tabela estiver escrita e ativa (por exemplo, reinicialização), você ainda precisará estender o sistema de arquivos em /dev/vda5
uso resize2fs
ou o que for apropriado para o sistema de arquivos naquela partição.
Acima de tudo, certifique-se de ter um bom backup antes de tentar fazer isso.