Atualização ao vivo executando a instância do SO linux descompactando a imagem do disco

1

Eu tenho alguns servidores correndo de um stick usb cada. Servidores são basicamente hypervizors.

O que eu estava pensando em fazer é distribuir atualizações binárias na forma de baixar a imagem do sistema e descompactá-la diretamente no dispositivo de disco USB ao vivo, seguido de uma reinicialização. Essa técnica se resumiria a dd if=newimage.img of=/dev/sda && reboot .

No entanto, eu tentei isso e não funciona como o esperado. O disco recém-criado não consegue inicializar.

Como é possível executar uma série de comandos em cada host e atualizá-los dessa maneira na maioria das vezes, isso não é algo importante para mim. Mas, eu gostaria de saber se há uma maneira de descompactar a imagem do disco em cima do sistema em execução, e fazer com que ela inicialize corretamente em um novo ambiente, o que for. Por exemplo, eu poderia decidir substituir esses linuxes por um SO completamente diferente algum dia, quem sabe:)

Idéias, sugestões?

    
por mr.b 02.06.2011 / 10:50

2 respostas

2

(Supondo que a resposta à minha pergunta anterior seja um "sim"). Possivelmente, o host está gravando (com a idéia do layout do sistema de arquivos correto ativado) no dispositivo USB durante ou depois de dd estar em execução. Você pode tentar um remount -o ro,remount nos sistemas de arquivos do host em execução antes de fazer o dd , mas você pode evitar que o próprio dd funcione quando tentar gravar em / dev / sda. Você também pode querer uma reinicialização rápida e brutal ( echo b > /proc/sysrq-trigger ) para que o sistema operacional não tente escrever nada durante o desligamento.

    
por 02.06.2011 / 11:00
1

Encontrar o sistema de arquivos do sistema atualmente em execução parece uma má ideia. Você pode fazê-lo funcionar remontando o sistema de arquivos raiz somente leitura, em seguida, fazendo o comando dd e, em seguida, redefinindo o sistema (Nota: não use o script de reinicialização porque você não deseja fazer o encerramento se ter espancado o sistema de arquivos raiz, você só quer reiniciar o sistema nele.)

    
por 02.06.2011 / 11:01