Como posso expandir o tamanho da partição ext4 no debian

22

Eu tenho uma unidade com essa configuração:

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000f1b8b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2612    20971520   83  Linux
/dev/sda3           60736       60801      525312   82  Linux swap / Solaris

Há 478 GB de espaço não alocado, como eu iria adicionar este espaço a / dev / sda1 sem perder os dados que estão atualmente em / dev / sda1? (o sistema de arquivos é ext4).

NOTA: é um servidor com apenas SSH, sem GUI para executar coisas como o gparted.

    
por Seb 06.03.2013 / 20:59

3 respostas

32

Aumentar a partição: fdisk -u /dev/sda .

p para imprimir a tabela de partições, anotar o número, iniciar, finalizar, tipo de sda1.

Exclua: d :

Recrie-o com o mesmo número (1), inicie e digite, mas com um fim maior (tomando cuidado para não se sobrepor a outras partições). Tente alinhar as coisas em um limite de megabytes que é para fim , torná-lo um múltiplo de 2048 menos 1. Altere o tipo, se necessário, com t (para partições que contêm extX ou btrfs sistema de arquivos, o padrão de 83 é bom).

Em seguida, w para escrever e q para sair.

A tabela de partição terá sido modificada, mas o kernel não poderá levar isso em conta quando algumas partições forem montadas.

No entanto, se as partições em uso foram apenas ampliadas, você deve ser capaz de forçar o kernel a pegar o novo layout com:

partx /dev/sda

Se isso falhar, você precisará reinicializar. O sistema deve inicializar bem.

Em seguida, redimensione o sistema de arquivos para que ele se espalhe na extensão da partição ampliada:

resize2fs /dev/sda1

Que para ext4 funcionará bem mesmo em um FS ao vivo.

    
por 06.03.2013 / 22:09
7

Você não pode fazê-lo com segurança enquanto a partição está montada, o que significa que você precisa inicializar alguma outra partição e fazer isso a partir daí.

gparted é uma GUI agradável e fácil para esse propósito. Em nossa troca de comentários excluídos, você mencionou que não iniciaria por causa de "não pode acessar a exibição" - isso significa que você não está no X; já que é uma GUI, não funciona sem isso.

Claro, se você não tiver outra partição para usar, você precisará de um CD ao vivo ou algo assim - eu acho que eles geralmente vêm com o gparted. Sua melhor aposta é provavelmente o CD ao vivo real, que parece ter uma versão estável mais recente razoavelmente recente (e caberá em um < em> CD , o que é legal já que o "live CD" está rapidamente se tornando o "live DVD").

Eu nunca tive um problema, mas, claro, recomponha-o primeiro.

    
por 06.03.2013 / 21:14
1

Eu sei que isso é uma questão muito antiga, mas muitas pessoas estão procurando essa resolução.

Para este exemplo, você tem a seguinte situação típica. No começo é uma única partição, e no final uma partição swap está localizada. não é bom porque o swap pode ser muito carregado e o final do disco rotacionado é a parte mais lenta dele. o que eu sugiro?

  1. Crie uma partição de inicialização no início. Por que no começo? porque muitas ferramentas têm problemas com o fim do disco grande acima da barreira de 2 TB. Após a partição de inicialização deve ser partição de swap. Isso é para o desempenho. O resto do disco deve ser usado para outras partições.

Mas com esta situação? Eu não recomendo expandir o sda1. Eu sugiro criar outras partições após sda1 & sda2, montado como /home e /usr . Nesses diretórios são armazenados a maioria dos dados do usuário e do sistema, e é possível mover com segurança os dados desses diretórios para novas partições.

  1. Mas. (segundo "mas") se você ainda quiser manter sua estrutura atual, você deve primeiro remover a partição swap. Você deve fazer swapoff, observe isso em /etc/fstab . se swapon lhe disser (veja man) nenhuma swap é usada, você pode removê-la pela ferramenta de partição (fdisk ou similar).

    Quando você não tem essa partição, você pode ampliar seu sda1. Usando fdisk , você deve primeiro imprimir a partição. É para lembrar onde começa. Em segundo lugar, remova a partição usando a tecla 'd'. Não entre em pânico, nada está escrito no disco rígido :). Após a impressão você vê, nenhuma partição existe no disco.

    Em seguida, crie uma nova partição, mas tenha cuidado. Veja em que setor a partição original foi iniciada. Escreva o mesmo número. Depois disso, olhe para o final. fdisk solicita o último setor disponível. Use a calculadora e atribua em sua mente quanta troca você precisa em kilobytes. Multiplique por 2 e subtraia esse número do último número de setor solicitado pelo fdisk. Crie uma partição. Imprima isso (ainda está na memória temporária do fdisk), e veja tudo está ok.

    Depois disso, pressione a tecla 'w' para gravar o novo particionamento na unidade. Você verá informações todas sincronizadas ou a sincronização falhou. Se falhar, você pode chamar o comando partx / dev / sda para fazer a sincronização. Se ainda falhar, você deve reiniciar seu sistema. Após a reinicialização, você preparou uma partição maior, mas o sistema de arquivos ainda é menor. Você deveria crescer. EXT4 é expansível na hora :), use resize2fs /dev/sda1 para fazer isso.

    Você não precisa remontar a reinicialização etc. Por último, você deve restaurar a partição de swap. Simplesmente use o fdisk novamente, crie uma nova partição como swap. Depois de escrever 'w', o dispositivo sda2 será restaurado. Prepare a estrutura de swap usando mkswap /dev/sda2 , remova comentários para swap em /etc/fstab e finalmente faça swapon -a . Olhe usando o comando swapon ou top, o swap está ativado.

Eu sei, é uma explicação muito longa. Espero que seja útil para qualquer um. Observe que, na minha opinião, o sistema de arquivos xfs é muito melhor, infelizmente este fs não suporta encolher sem cópia temporária para um lugar alternativo, mas o encolhimento é raramente usado. É legal, o xfs ocupa muito pouco espaço para seus próprios metadados e é mais rápido em muitos aspectos em comparação com o ext4.

Outra dica, melhor usar algum LVM como camada intermediária para particionamento. depois disso, qualquer redimensionamento é muito mais fácil. O desempenho é comparável, é claro, você pode usar o mix de gerenciamento de HDD. você pode usar em partições brutas comuns e LVM.

    
por 23.02.2015 / 12:32