Pesquisa de site

Como tirar um 'instantâneo do volume lógico e restaurar' no LVM - Parte III


Instantâneos LVM são cópias point-in-time com uso eficiente de espaço de volumes lvm. Ele funciona apenas com lvm e consome espaço somente quando são feitas alterações no volume lógico de origem para o volume de instantâneo. Se o volume de origem tiver grandes alterações feitas na soma de 1 GB, as mesmas alterações serão feitas no volume do instantâneo. É melhor sempre ter um tamanho pequeno de alterações para economizar espaço. Caso o snapshot fique sem armazenamento, podemos usar lvextend para crescer. E se precisarmos reduzir o instantâneo, podemos usar lvreduce.

Se excluímos acidentalmente algum arquivo após criar um instantâneo, não precisamos nos preocupar porque o instantâneo contém o arquivo original que excluímos. É possível que o arquivo estivesse lá quando o instantâneo foi criado. Não altere o volume do snapshot, mantenha-o como está enquanto o snapshot é usado para fazer uma recuperação rápida.

Os instantâneos não podem ser usados como opção de backup. Backups são cópias primárias de alguns dados, portanto não podemos usar snapshots como opção de backup.

Requisitos

  1. Crie armazenamento em disco com LVM no Linux – PARTE 1
  2. Como estender/reduzir LVMs no Linux – Parte II
Configuração do meu servidor
  1. Sistema operacional – CentOS 6.5 com instalação LVM
  2. IP do servidor – 192.168.0.200

Etapa 1: Criando Instantâneo LVM

Primeiro, verifique se há espaço livre no grupo de volumes para criar um novo instantâneo usando o seguinte comando ‘vgs’.

vgs
lvs

Veja, ainda restam 8 GB de espaço livre na saída vgs acima. Então, vamos criar um snapshot para um dos meus volumes chamado tecmint_datas. Para fins de demonstração, criarei apenas um volume de snapshot de 1 GB usando os comandos a seguir.

lvcreate -L 1GB -s -n tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas        

OR

lvcreate --size 1G --snapshot --name tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas

Ambos os comandos acima fazem a mesma coisa:

  1. -s – Cria um instantâneo
  2. -n – Nome do instantâneo

Aqui está a explicação de cada ponto destacado acima.

  1. Tamanho do instantâneo que estou criando aqui.
  2. Cria instantâneo.
  3. Cria um nome para o instantâneo.
  4. Nome dos novos instantâneos.
  5. Um volume do qual criaremos um instantâneo.

Se quiser remover um instantâneo, você pode usar o comando ‘lvremove’.

# lvremove /dev/vg_tecmint_extra/tecmint_datas_snap

Agora, liste o instantâneo recém-criado usando o seguinte comando.

lvs

Você vê acima, um instantâneo foi criado com sucesso. Marquei com uma seta onde os snapshots se originam e onde foram criados. É tecmint_datas. Sim, porque criamos um snapshot para tecmint_datas l-volume.

Vamos adicionar alguns novos arquivos em tecmint_datas. Agora o volume tem alguns dados em torno de 650 MB e o tamanho do nosso instantâneo é de 1 GB. Portanto, há espaço suficiente para fazer backup de nossas alterações no volume do snap. Aqui podemos ver qual é o status do nosso snapshot usando o comando abaixo.

lvs

Veja bem, 51% do volume do snapshot foi usado agora, não há problema para mais modificações em seus arquivos. Para informações mais detalhadas use o comando.

lvdisplay vg_tecmint_extra/tecmint_data_snap

Novamente, aqui está uma explicação clara de cada ponto destacado na imagem acima.

  1. Nome do volume lógico do instantâneo.
  2. Nome do grupo de volumes atualmente em uso.
  3. Volume do instantâneo no modo de leitura e gravação, podemos até montar o volume e usá-lo.
  4. A hora em que o instantâneo foi criado. Isso é muito importante porque um instantâneo procurará todas as alterações após esse período.
  5. Esta captura instantânea pertence ao volume lógico tecmint_datas.
  6. Um volume lógico está online e disponível para uso.
  7. Tamanho do volume de origem do qual tiramos um instantâneo.
  8. Tamanho da tabela Cow=copy on Write, o que significa que quaisquer alterações feitas no volume tecmint_data serão gravadas neste snapshot.
  9. Atualmente, o tamanho do snapshot usado, nosso tecmint_datas era de 10G, mas o tamanho do nosso snapshot era de 1GB, o que significa que nosso arquivo tem cerca de 650 MB. Então, o que está agora em 51% se o arquivo crescer para 2 GB no tamanho tecmint_datas aumentará mais do que o tamanho alocado do snapshot, com certeza teremos problemas com um snapshot. Isso significa que precisamos estender o tamanho do volume lógico (volume de instantâneo).
  10. Fornece o tamanho do pedaço para um instantâneo.

Agora vamos copiar mais de 1GB de arquivos em tecmint_datas, vamos ver o que acontece. Se fizer isso, você receberá uma mensagem de erro dizendo ‘Erro de entrada/saída‘, o que significa falta de espaço no instantâneo.

Se o volume lógico ficar cheio, ele será descartado automaticamente e não poderemos mais usá-lo, mesmo se estendermos o tamanho do volume do snapshot. É a melhor ideia ter o mesmo tamanho da fonte ao criar um instantâneo, o tamanho do tecmint_datas era 10G, se eu criar um tamanho de instantâneo de 10GB ele nunca transbordará como acima porque tem espaço suficiente para tirar instantâneos do seu volume.

Etapa 2: estender o instantâneo no LVM

Se precisarmos estender o tamanho do snapshot antes do estouro, podemos fazer isso usando.

lvextend -L +1G /dev/vg_tecmint_extra/tecmint_data_snap

Agora havia um tamanho total de 2 GB para um instantâneo.

Em seguida, verifique o novo tamanho e a tabela COW usando o comando a seguir.

lvdisplay /dev/vg_tecmint_extra/tecmint_data_snap

Para saber o tamanho do volume do snap e uso %.

lvs

Mas se você tiver um volume de snapshot do mesmo tamanho do volume de origem, não precisamos nos preocupar com esses problemas.

Etapa 3: Restaurar instantâneo ou mesclar

Para restaurar o instantâneo, precisamos primeiro desmontar o sistema de arquivos.

unmount /mnt/tecmint_datas/

Basta verificar o ponto de montagem se está desmontado ou não.

df -h

Aqui a montagem foi desmontada, para que possamos continuar a restaurar o instantâneo. Para restaurar o snap usando o comando lvconvert.

lvconvert --merge /dev/vg_tecmint_extra/tecmint_data_snap

Após a conclusão da mesclagem, o volume do instantâneo será removido automaticamente. Agora podemos ver o espaço da nossa partição usando o comando df.

df -Th

Depois que o volume do instantâneo for removido automaticamente. Você pode ver o tamanho do volume lógico.

lvs

Importante: Para estender os Snapshots automaticamente, podemos fazer isso usando algumas modificações no arquivo conf. Para manual, podemos estender usando lvextend.

Abra o arquivo de configuração lvm usando o editor de sua preferência.

vim /etc/lvm/lvm.conf

Procure a palavra extensão automática. Por padrão, o valor será semelhante ao abaixo.

Altere 100 para 75 aqui; nesse caso, o limite de extensão automática é 75 e a porcentagem de extensão automática é 20 , expandirá o tamanho em 20 por cento

Se o volume do instantâneo atingir 75%, o tamanho do volume do instantâneo será automaticamente expandido em 20% mais. Assim, podemos expandir automaticamente. Salve e saia do arquivo usando wq!.

Isso salvará os instantâneos da queda de estouro. Isso também ajudará você a economizar mais tempo. LVM é o único método de partição no qual podemos expandir mais e ter muitos recursos como thin Provisioning, Striping, volume virtual e muito mais. Usando thin-pool, vamos vê-los no próximo tópico.