Backup do volume lógico LVM2

Backup do volume lógico LVM2

Eu gostaria de fazer backup em uma unidade externa do volume lógico LVM2 de ddmaneira adequada.

A abordagem que considero é

  • faça lv em uma unidade externa com tamanho idêntico
  • copiar comdd

(Por favor, deixe-me saber se você encontrar algo realmente errado nessa abordagem. Preciso de algo confiável e rápido.)

Gostaria de automatizar todo o processo; isso é o que eu tenho:

# Sanity check that lv is not used
lvuses="$( lvdisplay -c /dev/mapper/vgA-AA | cut -d ':' -f 6 )"
if [ $lvuses -gt 0 ]; then exit 1 ; fi
#obtain lv size (in sectors)
lvsize="$( lvdisplay -c /dev/mapper/vgA-AA | cut -d ':' -f 7 )"
#create destination
lvcreate -L "${lvsize}s" vgB -n BB || exit 1
# copy
dd if=/dev/mapper/vgA-AA of=/dev/mapper/vgB-BB

Está tudo certo? Eu perdi alguma coisa?

(No meu caso, vgA-AA é um instantâneo LVM e gostaria de fazer backup dele em uma unidade externa e levar esta unidade para outra localização geográfica)

Responder1

Seu script parece bom, mas eu usaria uma abordagem diferente: crie um espelho e depois quebre-o. Você pode fazer isso online, até onde eu sei. Não testado:

lvconvert -m /dev/mapper/vgA-AA /dev/sdz98 /dev/sdz99
lvconvert --splitmirrors 1 --name BB /dev/mapper/vgA-AA

Se você deseja mover o novo volume lógico para um grupo de volumes diferente, acho que você deve garantir que o LV que deseja enviar esteja em seu(s) próprio(s) volume(s) físico(s) e transferir o(s) PV(s) de um VG para o outro com vgsplit.

Responder2

Não use dd. É um animal burro que copiará tudo no volume, inclusive o espaço livre, e resultará em um sistema de arquivos com o mesmo UUID do original, o que pode confundir o sistema. Em vez disso, use uma ferramenta como partcloneo ghost4linux ou fsarchiverque possa copiar o sistema para um arquivo de imagem compactado e pular os blocos livres.

Responder3

  • montar disco externo
  • pare o aplicativo
  • verifique se o sistema de arquivos não está sendo utilizado ($ sudo fuser -M /path/to/filesystem/mountpoint)
  • criar instantâneo ($ sudo lvcreate -s ........... )
  • iniciar aplicativo
  • backup usando rsync (verifique man rsync para --update e --link-dest)
  • ou verifiquehttp://dirvish.orgouhttp://backuppc.sourceforge.net/para implementações
  • desmontar disco externo
  • remover snapshot LV Este procedimento cria um diretório no disco externo por backup. Ele apenas copia arquivos novos/alterados do disco de origem e economiza espaço ao vincular arquivos duplicados entre backups.

Responder4

Confiável e rápido. Eu recomendaria instantâneos LVM.

É extremamente rápido e você pode garantir que o backup acontecerá sem que nenhuma alteração no arquivo aconteça durante o backup. Além disso, se você tiver um banco de dados no volume, não precisará colocá-lo off-line.

Essa também é uma boa maneira de testar alterações no volume. Tire um instantâneo, faça suas alterações, elas falharão em mesclar o instantâneo de volta. Se eles tiverem sucesso, você exclui o instantâneo.

Editar: Código

lvcreate -L 10G -s -n snapshot /dev/VG/LV

Em seguida, faça backup do volume do snapshot para onde quiser, como quiser.

Para testar o sistema de arquivos, você pode capturar instantâneos e mesclar novamente.

lvconvert --merge /dev/VG/snapshot

Essa mesclagem excluirá automaticamente o volume do instantâneo.

Observação:instantâneos exigem kernel version 2.6.33 or newereLVM tools 2.02.58 or newer

Editar. Links:

TLDP: fazendo backup usando instantâneos

HowtoForge: Faça backup e restaure partições usando instantâneos LVM

Cyberciti: backup consistente com instantâneos LVM

informação relacionada