Como salvar seu estado do Linux (suspender em disco) periodicamente para recuperar-se de falhas?

2

De vez em quando, meu laptop trava / morre por causa de uma bateria ruim / vazia, um driver wifi de baixa qualidade ou qualquer outra razão.

Por um tempo eu me pergunto se é possível forçar o Linux periodicamente a salvar o estado (como snapshots vmware) em disco para que você possa restaurar a partir dele com um trabalho um pouco desatualizado, mas pelo menos com todos os seus aplicativos abertos no disco. mesmo estado você os deixou.

Eu realmente não vejo o ponto em ter que inicializar tudo desde o cratch constantemente, embora o KDE salve seu estado no logout, isso não acontece periodicamente (por padrão) também. Isso tornaria muito mais agradável recuperar de suas falhas se o seu ram foi gravado no disco periodicamente.

Alguém sabe se há uma chamada de sistema para fazer isso sem desligar a máquina? Até mesmo um botão manual para salvar todo o estado seria bom.

    
por Wolph 05.09.2012 / 22:56

1 resposta

3

A interface de hibernação está acessível via /dev/snapshot , que é descrito em Documentação / power / userland-swsusp.txt . Você poderia escrever um programa baseado no s2disk do uswsusp, por exemplo.

Mas não tenho certeza se isso pode funcionar de forma confiável, já que a hibernação armazena apenas informações mantidas na RAM, mas não o estado atual do disco / sistema de arquivos. Por exemplo, se você salvou um instantâneo de hibernação, modificou alguns arquivos e recarregou o instantâneo, o disco conterá os novos dados e metadados, mas o instantâneo ainda pode ter a versão antiga na memória do kernel do instantâneo ...

Para citar Documentação / power / swsusp.txt :

 * BIG FAT WARNING *********************************************************
 *
 * If you touch anything on disk between suspend and resume...
 *              ...kiss your data goodbye.
 *

Se o seu laptop morrer devido a uma bateria vazia, configure-o para hibernar automaticamente ao atingir 1% ou mais. (Se isso acontecer enquanto o laptop estiver suspenso - tente o modo "suspender para ambos" em Linux 3.6-rc1 e mais recente .)

Se o seu laptop morrer devido a um erro de driver, REPORTAR ESSE ERRO para que ele possa ser corrigido.

    
por 05.09.2012 / 23:31