GNU / Linux: clonagem automática de um sistema com partições criptografadas com LUKS + dm-crypt

1

Eu gostaria de ter um clone atualizado de um sistema GNU / Linux (Debian) em um disco rígido externo e, portanto, ser capaz de substituir o disco rígido interno com o disco rígido externo a qualquer momento e estar em funcionamento. sem tempo. Como o sistema está em um laptop, não posso confiar em uma solução de espelhamento baseada em hardware.

Desejo que o procedimento de backup seja tão automático e livre de problemas quanto possível. Por exemplo, ele pode ser executado automaticamente no desligamento sempre que um disco rígido externo é conectado.

Já tenho um disco rígido externo com um clone de partições do sistema.

A ressalva é que a partição que hospeda o diretório / é criptografada com LUKS + dm-crypt e eu preferiria evitar a inserção de senhas novamente para o backup.

Eu poderia montar a partição criptografada externa automaticamente antes do desligamento.

Existe uma solução pronta? Por favor, responda apenas se isso acontecer, porque se isso não acontecer, eu postarei uma pergunta específica para implementar uma solução personalizada.

Obrigado pela sua atenção.

    
por Elena 18.06.2014 / 16:37

1 resposta

1

O backup será muito mais rápido se você fizer o backup somente do que foi alterado. Isso precisa ser feito no nível do arquivo, com os contêineres criptografados montados, porque os arquivos carregam um timestamp que permite que a ferramenta de backup ignore arquivos que não foram modificados desde o último backup.

Para fazer a cópia de arquivos, o rsync é a ferramenta de escolha. Você precisa sincronizar cada sistema de arquivos com o correspondente no disco rígido externo:

rsync -ax / /media/backup-hdd/root

Use um nome de dispositivo de bloco dedicado e um ponto de montagem dedicado para cada partição, para evitar depender de nomes genéricos, como sdb1 e /media/sdb1 , que pode ser uma unidade diferente. Isso é feito via udev; consulte Automatizando a sequência dos comandos de montagem .

Para executar um script no momento do desligamento, coloque-o em /etc/init.d e crie links simbólicos para ele em /etc/rc0.d e /etc/rc6.d (0 para desligamento, 6 para reinicialização) chamado S01my-backup . O script precisará fazer várias coisas:

  • Verifique se a unidade de backup já está montada (procurando o ponto de montagem em /proc/mounts ).
  • Se a unidade de backup não estiver montada, verifique se ela está presente (procurando o dispositivo de bloco em /dev ).
  • Se a unidade de backup não estiver presente, desista ou avise o usuário para conectá-la.
  • Se o volume criptografado não estiver montado, você precisará solicitar ao usuário a senha. Quando o volume criptografado estiver disponível, monte o (s) sistema (s) de arquivos.
  • Finalmente, execute rsync .

Se você não quiser montar o volume criptografado externo, poderá copiar o volume criptografado por atacado. Embora simples, isso tem um grande defeito: é muito lento, já que você tem que refazer a imagem de todo o disco a cada vez. Além disso, se isso falhar no meio, você acaba com um backup ilegível - o backup é bem formado somente após um passe completo. Você também deve alternar a montagem da fonte para somente leitura, caso contrário você corre o risco de copiar dados inconsistentes.

    
por 19.06.2014 / 01:58