Posts tagged ‘backup’

  • LVM2 Snapshot

    Data:2010.07.06 | Categoriabackup, linux, utilidades, virtualização | Resposta:0

    Nessas ultimas semanas andei procurando por uma solução eficiente para backups de discos, se possível, usando imagens. Eis que conheço o recurso de snapshot do LVM2. Ele é bastante fácil de usar, mas, é lógico, você precisa de uma partição no seu disco do tipo LVM, tipo 8e.

    Tendo isto em mãos, basta criar um grupo de volumes lógicos do tamanho desejado na nova partição LVM. Isso pode ser feito com o seguinte comando:

    vgcreate logical /dev/sdb1

    No meu caso, eu não especifiquei o tamanho máximo do grupo, portanto ele pega todo o espaço disponível em sdb1. A grosso modo, o grupo de volumes lógicos está para um disco físico assim como os volumes lógicos estão para as partições. A diferença é que a virtualização do disco permite um ambiente mais flexível e simples.

    Com o grupo pronto, basta adicionar os volumes. Meu disco tem 80GB, e para teste vou gerar um volume de 10GB chamado teste no grupo logical:

    lvcreate -L10G -n teste logical

    Pronto! Agora pode verificar que existe um dispositivo de bloco criado em /dev/logical/teste. Ele representa o volume lógico. Ele se comporta como um dispositivo de bloco comum, e portanto, pode ser tratado como um. Para conseguir usar, esse volume precisa ser formatado. Eu costumo usar o raiserfs, mas pode ser usado ext3, ext4, xfs…

    mkreiserfs /dev/logical/teste
    mount -t reiserfs /dev/logical/teste /mnt/tmp
    

    O volume agora pode ser usado normalmente. É só acessar o ponto de montagem /mnt/tmp. Com o ambiente todo pronto, agora vamos ao que interessa, o snapshot. Assumindo que o volume está em plena produção, vamos simular uma situação de backup online, que é a aplicação mais óbvia que vejo neste recurso. Para melhor entendimento, vamos analisando os passos seguintes:

    lvcreate -L 500M -s -n backup /dev/logical/teste

    Isso fará com que seja criado um volume lógico de 500MB, de nome backup e tipo snapshot do volume já existente /dev/logical/teste. O tamanho do snapshot é claramente menor que o volume original, e isso não está errado. No momento em que o snaphot é criado, o sistema ‘congela’ o volume original para que possamos trabalhar com ele sem que haja alterações, e o tamanho do snapshot representa o volume de alterações que ele permitirá que o sistema em produção faça nesse volume sem que seja prejudicado. A grosso modo, é como se fosse um buffer de alterações, que são armazenadas sem serem efetivadas no volume original. Para aqueles que conhecem o sistema de arquivamento e hotbackup de SGBDs, é a mesma coisa.

    Muitos dão exemplos de backups usando snapshots montando o volume snapshot e copiando os arquivos com cp, compactando com tar e gz, mas eu normalmente crio uma imagem completa com o dd. De qualquer forma, apresentarei ambos abaixo:

    Tar e gz

    mount -t reiserfs /dev/logical/backup /mnt/tmp0
    tar cf ~/backup.tar.gz /mnt/tmp0
    

    dd

    dd if=/dev/logical/backup of=~/backup.img
    

    Depois do backup, basta remover o snapshot que as alterações serão aplicadas.

    lvremove -f /dev/logical/backup

Tags Cloud

Arquivo

setembro 2010
S T Q Q S S D
« ago    
 12345
6789101112
13141516171819
20212223242526
27282930  

Blog

Lista de Links

Utilitários

Tweets

Posting tweet...