Backup do volume lógico do LVM2

4

Gostaria de fazer um backup na unidade externa do volume lógico do LVM2 em dd manner.

A abordagem que considero é

  • faz lv na unidade externa com tamanho idêntico
  • copie com dd

(Por favor, deixe-me saber se você vê algo realmente errado em tal abordagem. Eu preciso de algo confiável e rápido.)

Eu gostaria de automatizar todo o processo; é isso 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

Tudo bem? Eu perdi alguma coisa?

(No meu caso, o vgA-AA é um instantâneo do LVM e gostaria de fazer o backup para um disco externo e levar esse disco para outro local geográfico)

    
por Grzegorz Wierzowiecki 22.03.2012 / 23:21

4 respostas

4

Seu script parece ótimo, mas eu usaria uma abordagem diferente: crie um espelho e, em seguida, divida-o. Você pode fazer isso online, tanto quanto 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ê quiser mover o novo volume lógico para um grupo de volumes diferente, acho que é necessário garantir que o LV que deseja enviar esteja em seu (s) próprio (s) volume (s) físico (s) e transfira o (s) PV (s) de um VG para o outro com vgsplit .

    
por 23.03.2012 / 02:55
2
  • montar disco externo
  • pare o aplicativo
  • verifique se o sistema de arquivos não é 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 verifique o link ou o link para implementações
  • umount de disco externo
  • remover instantâneo 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.
por 23.03.2012 / 19:34
1

Não use dd . É um animal burro que copia tudo no volume, incluindo o espaço livre, e resulta em um sistema de arquivos com o mesmo UUID que o original, o que pode confundir o sistema. Em vez disso, use uma ferramenta como partclone ou ghost4linux ou fsarchiver , que pode copiar o sistema para um arquivo de imagem compactado e ignorar os blocos livres.

    
por 23.03.2012 / 03:22
1

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

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

Esta também é uma boa maneira de testar alterações no seu volume. Instantâneo, faça suas alterações, eles não combinam o instantâneo. Se eles tiverem sucesso, exclua o instantâneo.

Editar: código

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

Em seguida, faça backup do volume da captura instantânea para onde você quiser, da maneira que quiser.

Para o teste do sistema de arquivos, você pode capturar instantâneos e mesclar de volta.

lvconvert --merge /dev/VG/snapshot

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

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

Editar. Links:

TLDP: fazendo um backup usando instantâneos

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

Cyberciti: Backup consistente com instantâneos do LVM

    
por 23.03.2012 / 03:08