Reparticionar enquanto o disco está em uso?

5

Eu tenho duas perguntas relacionadas, então vou mantê-las em uma pergunta do SF:

Pergunta 1

Eu tenho um servidor Linux (Debian) que deve ter um tempo de inatividade mínimo. O disco tem duas partições, uma é / (ext3) e uma é swap. Eu gostaria de mover /home para sua própria partição como originalmente era, por alguma razão, construída com tudo em uma partição; No entanto, não quero desligar a máquina por vários minutos para redimensionar o disco e criar uma nova partição.

É possível redimensionar / enquanto está em uso?

Pergunta 2

Eu gostaria de reinstalar esse mesmo servidor eventualmente. Mais uma vez, sem tempo de inatividade. Depois de redimensionar o disco usando a resposta fornecida à pergunta 1, posso instalar de alguma forma uma nova partição enquanto o sistema original ainda está online. Então, posso simplesmente reiniciar no novo sistema operacional e excluir a partição antiga do sistema operacional e redimensionar a nova partição para ocupar o espaço da antiga partição now delete.

Obrigado por suas respostas a esta pergunta um tanto estranha, desagradavelmente estou um pouco aquém dos servidores para este projeto em particular. Eu infelizmente suspeito que isso não pode ser feito, mas achei melhor checar antes de tirar minhas conclusões.

Algumas notas e perguntas:

  • Talvez haja alguma solução possível para eu iniciar um kernel hospedado em rede de alguma forma?
  • Um segundo disco não é possível, infelizmente esta máquina está em um provedor de hospedagem muito inflexível.
  • Livrar-se do swap temporariamente tornaria isso possível? Isso me daria 2 GB de espaço não particionado para brincar.
por Adam Gibbins 03.05.2009 / 02:44

2 respostas

2

Pergunta 1:

Não. de man resize2fs "Se o sistema de arquivos estiver montado, ele pode ser usado para expandir o tamanho do sistema de arquivos montado, assumindo que o kernel suporta redimensionamento on-line."

Pergunta 2:

Sim, você pode instalar em uma partição diferente enquanto está sendo executado usando um chroot.

Compre um disco extra. Ou, se você não tiver acesso físico, migre o material para outro servidor enquanto estiver on-line e faça uma troca rápida.

Responder a edições:

Sim, existem opções adicionais para fazer coisas com a rede que podem ajudá-lo a ter menos tempo de inatividade. Depende exatamente do que seu servidor está fazendo e de quais opções você tem. Eu dei uma solução geral de mover seus dados para outro servidor enquanto ambos estão online, pare o servidor 1, inicie o servidor 2 fazendo o que o servidor 1 estava fazendo. Corrija o servidor 1 e volte a ele da mesma maneira.

Sem a rede, você poderia fazer swapoff, instalar o linux no swap usando um chroot, reiniciar ou tentar algo com o kexec, e rapidamente diminuir sua outra partição e adicionar uma nova.

    
por 03.05.2009 / 02:49
2

Obtenha um novo provedor de hospedagem. Como Ian já respondeu, você não pode reduzir um sistema de arquivos ext3 montado, mas uma vez que você tenha o espaço, você pode fazer a reinstalação em um chroot (com o debootstrap) e fazer uma reinicialização para alternar.

Remover o swap é uma possibilidade de obter o espaço para a parte 2, pois se você conseguir compactar tudo o que precisar reinstalar na partição swap, poderá inicializar essa partição, mexer na partição raiz atual para torná-la um pouco menor e transforme-o em / home, crie uma nova partição swap no espaço recém-liberado e continue no caminho de lá.

Dado o tempo de inatividade que será necessário, e as chances de estragar algo e fazer uma grande bagunça, sem mencionar o custo do seu tempo para fazer tudo (incluindo o custo necessário para limpar no caso de um Eu resolvo sua situação de hospedagem em primeiro lugar. Só porque você pode fazer essas coisas se realmente precisar não significa que você deve ser forçado a fazê-lo por um fornecedor inútil.

Ah, e da próxima vez, experimente o LVM e aloque apenas espaço conforme necessário. A expansão on-line do ext3 é uma dádiva de Deus.

    
por 03.05.2009 / 03:20