Reverter para instantâneo na inicialização

3

Posso tirar um instantâneo de uma máquina física e voltar a esse estágio toda vez que a máquina inicializa?

Isso pode ser feito com máquinas virtuais, mas eu quero fazer isso para uma máquina física.

Antecedentes

Eu tenho um laptop antigo que é desligado aleatoriamente. O disco está bem e a RAM está bem, então são alguns outros problemas. Eu gostaria de usar isso para assistir vídeos muito básicos sobre o surf + vídeo. Eu posso viver com o poder aleatório desligado, mas leva muito tempo para inicializá-lo e abrir os aplicativos relevantes. Se, no entanto, ele pudesse simplesmente inicializar o mesmo instantâneo todas as vezes, tudo bem.

Dado que você pode suspender para o disco e fazer snapshots de sistemas de arquivos, estou pensando que isso pode ser factível - e talvez alguém já tenha feito isso.

Idéia 1

Um sistema suspenso para o disco está em perfeitas condições para que isso funcione. Portanto, tudo o que precisamos fazer é garantir que o disco seja revertido para esse estado antes da próxima inicialização.

Isso pode ser feito primeiro inicializando um sistema GNU / Linux mínimo que configura isso e que, então, executa uma nova inicialização do kernel no disco revertido.

Imagine esta configuração:

  • / dev / sda - sistema de inicialização mínimo
  • / dev / sdb - espaço de troca com imagem suspensa de RAM / CPU + sistema de arquivos
  • / dev / sdc - dispositivo para sobreposição

Quando o sistema é inicializado em / dev / sda, então / dev / sdc é usado como um novo dispositivo de sobreposição em / dev / sdb fornecendo / dev / overlay (similar a: link ). Após isso ser configurado, o kernel é executado usando kexec para inicializar em / dev / overlay.

Agora, a questão é se kexec aceitará um dispositivo sobreposto como dispositivo de inicialização.

Idéia 2

Ao inicializar, execute:

 swapon /dev/sda2
 swapoff /dev/sda1
 dd if=/dev/sda3 /dev/sda1
 (where /dev/sda3 is a copy of the suspend-to-disk image.)

e use / dev / sda1 como dispositivo de suspensão para disco no grub.

Monte / dev / sdb1 em / readonly e adicione / dev / sdc overlay a / dev / sdb e monte / dev / overlay como / read-write.

Idéia 3

  • / dev / sda - / boot com initrd
  • / dev / sdb - espaço de troca com imagem suspensa de RAM / CPU + sistema de arquivos
  • / dev / sdc - dispositivo para sobreposição

Na configuração do initrd / dev / overlay. Troque em / dev / overlay1, sistema de arquivos em / dev / overlay2, / dev / overlay3. Em seguida, faça isso para ler a imagem suspensa:

echo /dev/overlay1 > /sys/power/resume

Se você quiser "registrar" um estado, mescle /dev/overlay em /dev/sdb e:

echo disk > /sys/power/state

Em vez de / dev / sd * provavelmente deveríamos usar o LVM: link

    
por Ole Tange 25.07.2017 / 15:28

0 respostas

Tags