LVM Snapshots Backup e Restauração no Linux

em nossos tutoriais anteriores, vimos que a implementação de volumes LVM pode ser muito benéfica para gerenciar o espaço em seu host.

a camada lógica de gerenciamento de Volume expõe uma API que pode ser usada para adicionar ou remover espaço à vontade, enquanto o sistema está em execução.

no entanto, há outro recurso-chave exposto pelo LVM que pode ser muito benéfico para os administradores de Sistema : instantâneos LVM.

em Ciência da computação, os instantâneos são usados para descrever o estado de um sistema em um ponto específico no tempo.

neste tutorial, vamos ver como você pode implementar instantâneos LVM facilmente.

também veremos como você pode fazer backup de um sistema de arquivos inteiro usando instantâneos e restaurá-lo à vontade.

Tabela de Conteúdo

pré-Requisitos

para criar LVM instantâneos, obviamente, você precisa ter pelo menos um volume lógico criado em seu sistema.

se você não tem certeza se este é o caso ou não, você pode executar o comando “lvs” para exibir volumes lógicos existentes.

$ lvs
listando volumes lógicos no linux

nesta situação, temos um volume lógico de 3 GB criado em nosso sistema.

no entanto, ter um volume lógico de 3 GB não significa necessariamente que todo o espaço seja usado em nosso sistema.

para verificar o tamanho real do seu volume lógico, você pode verificar o espaço em disco usado usando o comando “df”.

$ df -h

Nota : seu volume lógico precisa ser montado para que você verifique o espaço usado..

se você não tem certeza sobre a montagem de volumes lógicos ou partições, verifique nosso tutorial sobre montagem de sistemas de arquivos.

verificação de tamanho do volume lógico no linux

Como você pode ver aqui, o volume lógico tem 3 GB de capacidade, mas apenas 3,1 MB são usados no sistema de arquivos.

como exemplo, digamos que queremos fazer backup da pasta /etc do nosso servidor.

$ cp -R /etc /mnt/lv_mount

agora que nossa pasta de configuração é copiada para nosso volume lógico, vamos ver como podemos criar um instantâneo LVM deste sistema de arquivos.

Criação de LVM Instantâneos utilizando lvcreate

para criar um LVM instantâneo de um volume lógico, você tem que executar o “lvcreate de comando” com a opção “-s” para “instantâneo”, a opção “-L” com o tamanho e o nome do volume lógico.

Opcionalmente, você pode especificar um nome para seu instantâneo com a opção “-n”.

$ lvcreate -s -n <snapshot_name> -L <size> <logical_volume>
criando um instantâneo lvm usando lvcreate

observação: você não poderá criar nomes de snapshot com “snapshot” no nome, pois é uma palavra-chave reservada.

você também terá que se certificar de que você tem espaço restante suficiente no grupo de volume como o instantâneo será criado no mesmo grupo de volume por padrão.

agora que seu instantâneo foi criado, você pode inspecioná-lo executando o comando “lvs” ou o comando “lvdisplay” diretamente.

$ lvs$ lvdisplay <snapshot_name>
exibindo lvm instantâneos utilizando o lvs

Como você pode ver, o volume lógico tem um conjunto diferente de atributos comparado com o original de volume lógico :

  • s : para instantâneo, “s”, que significa origem para a lógica original de volume copiados para o instantâneo;
  • > w : para gravável que significa que o seu instantâneo tem permissões de leitura e gravação sobre ele;
  • eu : para “herdadas”;
  • a : para “alocado”, o que significa que o espaço é dedicado para este volume lógico;
  • o : (no sexto campo) que significa “abrir” afirmando que o volume lógico está montado;
  • s : snapshot tipo de destino para ambos os volumes lógicos

agora que seu snapshot volume lógico é criado, você terá que montá-lo para realizar um backup do sistema de arquivos.

montagem de snapshot LVM usando mount

para montar um snapshot LVM, você deve usar o comando” mount”, especificar o caminho completo para o volume lógico e especificar o ponto de montagem a ser usado.

$ mount <snapshot_path> <mount_point>

como exemplo, digamos que queremos montar o ponto de montagem “/dev/vg_1/lvol0” para “/MNT/lv_snapshot” em nosso sistema.

Para conseguir isso, execute o seguinte comando :

$ mount /dev/vg_1/lvol0 /mnt/snapshot

Você pode verificar imediatamente se a montagem operacional é eficaz executando o “lsblk” comando novamente.

$ lsblk
montando um instantâneo lvm no linux

fazendo backup de instantâneos LVM

agora que seu instantâneo está montado, você poderá realizar um backup dele usando os comandos tar ou rsync.

ao realizar backups, você essencialmente tem duas opções: você pode executar uma cópia local ou pode optar por transferir arquivos diretamente para um servidor de backup remoto.A maneira mais fácil de fazer backup de um instantâneo LVM é usar o comando “tar” com a opção “-c” para “criar”, a opção “z” para criar um arquivo GZIP e “-f” para especificar um arquivo de destino.

$ tar -cvzf backup.tar.gz <snapshot_mount>

no nosso caso, como o instantâneo é montado no ponto de montagem “/mnt/lv_snapshot”, o comando de backup seria :

$ tar -cvzf backup.tar.gz /mnt/lv_snapshot

ao executar este comando, um backup será criado em seu diretório de trabalho atual.

criando e transferindo um backup de instantâneo LVM

em alguns casos, você possui um servidor de backup que pode ser usado para armazenar backups LVM regularmente.

para criar esses backups, você usará o comando” rsync”, especificará o sistema de arquivos a ser copiado, bem como o servidor de destino a ser usado.

# If rsync is not installed already, you will have to install using apt$ sudo apt-get install rsync$ rsync -aPh <snapshot_mount> <remote_user>@<destination_server>:<remote_destination>

Nota : Se você não tem certeza sobre transferências de arquivos no Linux, você deve verificar o tutorial que escrevemos sobre o assunto.

como exemplo, digamos que o instantâneo seja montado no “/mnt/lv_snapshot” e que queremos enviar o instantâneo para o servidor de backup no endereço IP “192.168.178.33”.

para se conectar ao servidor de backup remoto, usamos a conta “kubuntu” e optamos por ter arquivos armazenados na pasta “/backups”.

$ rsync -aPh /mnt/lv_snapshot :/backups

agora que seu instantâneo de volume lógico é feito backup, você poderá restaurá-lo facilmente sob demanda.

criando backups lvm remotamente

restaurando instantâneos LVM

agora que seu LVM é feito backup, você poderá restaurá-lo em seu sistema local.

para restaurar um volume lógico LVM, você deve usar o comando “lvconvert” com a opção “–mergesnapshot” e especificar o nome do instantâneo do volume lógico.

ao usar o “–mergesnapshot”, o instantâneo é mesclado no volume lógico original e é excluído logo após ele.

$ lvconvert --mergesnapshot <snapshot_logical_volume>

No nosso caso, a lógica de instantâneo de volume foi nomeado lvol0, assim que executar o seguinte comando

$ lvconvert --mergesnapshot vg_1/lvol0
a fusão instantâneo usando lvconvert

Como você provavelmente observou, ambos os dispositivos (o original e o snapshot não pode ser aberto para a operação de mesclagem para ter sucesso.

Alternativamente, você pode atualizar o volume lógico para reativar usando a mais recente metadados usando “lvchange”

$ lvchange --refresh vg_1/lv_1

Após a fusão a operação foi bem-sucedido, você pode verificar que o seu volume lógico foi removido com êxito a partir da lista de volumes lógicos disponíveis.

$ lvs
exibindo os volumes lógicos sem instantâneo

Feito!

o instantâneo de volume lógico agora é removido e as alterações foram mescladas de volta ao volume lógico original.

conclusão

neste tutorial, você aprendeu sobre instantâneos LVM, o que eles são e como eles podem ser usados para fazer backup e restaurar sistemas de arquivos.Criar backups regularmente é essencial, especialmente quando você está trabalhando em uma empresa de médio a grande porte.Ter backups e poder restaurá-los facilmente é a melhor maneira de garantir que você será capaz de evitar grandes perdas de dados em seus sistemas.

se você está interessado na administração do sistema Linux, temos uma seção completa dedicada a ele no site, então certifique-se de verificá-lo!