Transferir conteúdo do dispositivo de bloco LVM garantindo consistência - instantâneo LVM?

2

Eu preciso criar backups completos fora do local de um dispositivo de bloco LVM. Pensando no antigo método dd over SSH.

Para garantir que eu tenha um backup consistente, devo criar primeiro um instantâneo do LVM?
Portanto, novos blocos alterados são gravados no volume lógico do instantâneo enquanto eu dd do volume lógico original?
Então, vou apenas lvremove do instantâneo para continuar escrevendo para o volume lógico principal.

Também vejo que todos dizem que dd é a maneira mais lenta e ineficiente de fazer isso. Qual é a outra opção?
Não consigo ver como você pode ficar muito mais rápido para um backup completo de um dispositivo de bloco, sem compactação.

EDIT: Ok, uma coisa que eu acabei de lembrar é que, é claro, dd irá transferir os blocos independentemente dos dados no nível do FS. Portanto, para um LV de 300 GB com um único arquivo de texto de 1K, dd transferirá o total de blocos de 300 GB. Justo. O LV que eu vou fazer isso é mantido em cerca de 80%, então não estou muito preocupado com os 20% extras sendo transferidos a cada vez.

    
por batfastad 04.01.2016 / 00:26

1 resposta

1

Instantâneos: Se a partição que você deseja fazer backup estiver atualmente montada, então sim, crie um instantâneo primeiro. Mas , você deve inserir o instantâneo , não o volume original. O conteúdo do volume original será alterado se ainda estiver montado.

So new changed blocks are written to the snapshot logical volume while I dd the original logical volume?

Não. Se um bloco for alterado, o conteúdo antigo será primeiro copiado para o instantâneo. Em seguida, o bloco no volume original é substituído pelo novo conteúdo. Veja link para outra explicação (admito que não é muito intuitivo como os instantâneos funcionam. Esta cópia dupla é também porque os volumes instantâneos têm um desempenho ruim de gravação).

Also I see that everyone says dd is the slowest and most inefficient way of doing this. What's the other option?

Como você disse, o principal problema é que copiaremos todos os blocos, independentemente de o sistema de arquivos realmente usá-los. Alternativas são

  1. backups baseados em arquivo (por exemplo, arquivos tar antigos e bons). Isto obviamente tem os seus próprios inconvenientes, e. que você não pode restaurar um disco travado com um dd simples, não salvando bootloaders etc ...
  2. Soluções híbridas. O link faz algo como um dd "inteligente" do disco. Ele entende o suficiente do ext2 / 3 / xfs para saber quais blocos estão realmente em uso, e apenas os copia, assumindo blocos preenchidos com zero para todo o resto. O particimage infelizmente não suporta ext4 ou btrfs.
por 04.01.2016 / 14:33