Não preciso mover um sistema de arquivos reduzido antes de redimensionar a partição?

2

Eu tenho uma partição de tamanho X GB preenchida por um sistema de arquivos ext4. Agora, quero reduzir essa partição (e o sistema de arquivos) para ocupar somente o último X / 2 GB. Estou usando ferramentas de linha de comando e não parted . Então, eu li ( aqui e aqui por exemplo) que eu preciso para resize2fs e, em seguida, use fdisk para reduzir a partição. No entanto, e quanto a mover o sistema de arquivos por X / 2 GB para a frente na partição? Isso não é um passo necessário?

Além disso, supondo que isso seja necessário - devo usar dd para mover os dados ou algo mais é necessário / melhor?

    
por einpoklum 18.01.2015 / 13:18

1 resposta

0

As estruturas essenciais do sistema de arquivos são endereçadas relativamente ao início do sistema de arquivos, que é o mesmo que o início do dispositivo de bloco. Como seu sistema de arquivos é implicitamente esperado para iniciar no primeiro bloco do dispositivo de bloco, ele tolera nenhum deslocamento a qualquer momento entre o primeiro bloco do dispositivo de bloco e o primeiro bloco do sistema de arquivos.

O fim do seu sistema de arquivos pode ser alterado (crescido e encolhido) relativamente ao ponto de partida, mas não há maneira fácil de estender além do primeiro bloco (ou encolher um sistema de arquivos 'para trás'), como você introduziria um offset entre o dispositivo de bloco e o início do sistema de arquivos. Teoricamente, isso seria possível, no entanto, o conjunto de ferramentas atual e o kernel do Linux não estão preparados para esse tipo de operação.

No comentário a esta resposta, você afirmou que só interessou relocalizar seu sistema de arquivos em uma nova partição cobrindo apenas a segunda metade da paritição atual.

Um sistema de arquivos depende de qual dispositivo de bloco ele usa? Não. A realocação do sistema de arquivos com ferramentas diferentes, como dd , é possível.

O procedimento seria assim:

  1. faça um backup, nunca é demais
  2. reduz o sistema de arquivos existente para baixo (ou abaixo) do tamanho da nova partição
  3. calcule a posição inicial atual do sistema de arquivos no disco (não na partição)
  4. reparticione seu disco
  5. dd a quantidade de dados no disco para o seu lugar certo (desde que você conheça o antigo ponto de partida, o novo ponto de partida e o comprimento)
  6. estenda seu sistema de arquivos (no caso da etapa 2 você diminuiu)

Gostaria de destacar que este procedimento não funcionará, se o seu sistema de arquivos reduzido (ponto 2) e o novo local desejado (a nova partição, no ponto 4) se sobrepuserem no disco.

Considere usar LVM para atenuar esses problemas como este e muitos outros. Com LVM , você poderia simplesmente:

  1. reduza seu sistema de arquivos
  2. reduza seu volume lógico (e deixe o LVM lidar com toda essa bagunça)
por 28.01.2015 / 10:24