Fazendo backup de um dispositivo desmontado em um arquivo tar

1

Embora meus objetivos gerais sejam fazer algo no Amazon Web Services (AWS), minha pergunta específica é agnóstica para a AWS.

Plano de fundo

Meu objetivo é usar o Packer para criar uma Amazon Machine Image (AMI) com vários caminhos diferentes montados em diferentes sistemas de arquivos para melhorar a segurança. Por exemplo. /tmp deve ser montado em um sistema de arquivos com a opção noexec .

O fato de eu querer criar um processo automatizado para fazer uma AMI significa que não posso executar comandos de re-montagem na própria instância, então estou usando o Packer construtor amazon-chroot . Isso significa que eu executo uma Instância do EC2 e executo o Packer dessa Instância do EC2. O empacotador montará então um volume de EBS tomado de um instantâneo de EBS usado com um "AMI de fonte". Agora preciso executar algumas operações no Volume EBS montado.

Minha pergunta

Um dos meus primeiros passos é fazer um backup completo do dispositivo de bloco montado em /mnt/ebs .

De acordo com a excelente apresentação nesta parte exata link , o palestrante recomenda fazer isso primeiro desmontando o dispositivo e depois usando tar .

Ele repete essa ordem de operações mais adiante na apresentação . Minha pergunta específica é: como posso criar um backup tar do conteúdo de um dispositivo se ele não estiver montado em primeiro lugar? Além disso, é o ponto de desmontá-lo primeiro para garantir que ele esteja em um estado consistente, que nenhuma gravação adicional ocorra durante o backup ou outra coisa?

Como um aparte, não consigo desmontar o dispositivo sem a opção umount -l , apesar de verificar se há processos ocupados usando fuser ou lsof , mas vou deixar esses detalhes para outra pergunta.

Note que estou usando o Amazon Linux, que é semelhante ao CentOS, mas não usa o systemd.

    
por Josh Padnick 10.02.2017 / 00:37

1 resposta

1

Não, não é possível fazer backup de um sistema de arquivos não montado com tar.

O Tar espera fazer backup de arquivos , mas, como você suspeitava, com o sistema de arquivos desmontado, os arquivos não estão disponíveis para o tar.

Observe que o apresentador declara:

...first we unmount everything that Packer just mounted for us...

Ele não indicou o que Packer montou, mas veja de perto o screenshot do script: ele exclui vários pontos de montagem, como / proc e / dev. Isso significa que algo está de fato montado; Eu estou supondo que é uma raiz falsa com os sistemas de arquivos pseudo bind-mounted.

A maneira ideal de criar um backup baseado em tar é montar o sistema de arquivos somente leitura. O objetivo é manter a integridade do sistema de arquivos enquanto o backup está em andamento; Você não quer que as alterações sejam feitas durante o processo de backup.

Parece que você pode tirar um instantâneo do volume do EBS em questão, montá-lo em outro lugar como somente leitura e, em seguida, criar seu arquivo tar a partir daí.

    
por 10.02.2017 / 01:24