Red Hat Training

A Red Hat training course is available for RHEL 8

68.8.2. Criação de volumes de instantâneos

Use o argumento -s do comando lvcreate para criar um volume de instantâneo. Um volume de instantâneo pode ser escrito.

Nota

Os instantâneos de LVM não são suportados através dos nós em um cluster. Não se pode criar um volume instantâneo em um grupo de volume compartilhado. Entretanto, se você precisar criar um backup consistente de dados em um volume lógico compartilhado, você pode ativar o volume exclusivamente e depois criar o instantâneo.

Nota

Os snapshots são suportados para volumes lógicos RAID.

O LVM não permite criar um volume instantâneo maior do que o tamanho do volume de origem mais os metadados necessários para o volume. Se você especificar um volume de instantâneo maior que este, o sistema criará um volume de instantâneo que é apenas tão grande quanto será necessário para o tamanho da origem.

Por padrão, um volume de instantâneo é pulado durante os comandos normais de ativação.

O seguinte procedimento cria um volume lógico de origem chamado origin e um volume instantâneo do volume original chamado snap.

  1. Criar um volume lógico chamado origin a partir do grupo de volume VG.

    # lvcreate -L 1G -n origin VG
      Logical volume "origin" created.
  2. Crie um volume lógico instantâneo de /dev/VG/origin que tenha 100 MB de tamanho, chamado snap. Se o volume lógico original contiver um sistema de arquivo, você pode montar o volume lógico instantâneo em um diretório arbitrário, a fim de acessar o conteúdo do sistema de arquivo para executar um backup enquanto o sistema de arquivo original continua a ser atualizado.

    # lvcreate --size 100M --snapshot --name snap /dev/VG/origin
      Logical volume "snap" created.
  3. Mostrar o status do volume lógico /dev/VG/origin, mostrando todos os volumes lógicos instantâneos e seu status (ativo ou inativo).

    # lvdisplay /dev/VG/origin
      --- Logical volume ---
      LV Path                /dev/VG/origin
      LV Name                origin
      VG Name                VG
      LV UUID                EsFoBp-CB9H-Epl5-pUO4-Yevi-EdFS-xtFnaF
      LV Write Access        read/write
      LV Creation host, time host-083.virt.lab.msp.redhat.com, 2019-04-11 14:45:06 -0500
      LV snapshot status     source of
                             snap [active]
      LV Status              available
      # open                 0
      LV Size                1.00 GiB
      Current LE             256
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:6
  4. O comando lvs, por padrão, exibe o volume de origem e a porcentagem atual do volume de instantâneo que está sendo utilizado. O exemplo a seguir mostra a saída padrão para o comando lvs após ter criado o volume de instantâneo, com um display que inclui os dispositivos que constituem os volumes lógicos.
# lvs -a -o +devices
  LV              VG            Attr       LSize   Pool   Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
  origin          VG            owi-a-s---   1.00g                                                       /dev/sde1(0)
  snap            VG            swi-a-s--- 100.00m        origin 0.00                                    /dev/sde1(256)
Atenção

Como a foto aumenta de tamanho conforme o volume de origem muda, é importante monitorar regularmente a porcentagem do volume da foto com o comando lvs para ter certeza de que ela não preencha. Um instantâneo de 100 tiros é completamente perdido, pois uma gravação em partes inalteradas da origem não teria sucesso sem corromper o instantâneo.

Além da própria foto ser invalidada quando cheia, qualquer sistema de arquivo montado naquele dispositivo de foto é forçado a não ser montado, evitando os inevitáveis erros do sistema de arquivo ao acessar o ponto de montagem. Além disso, você pode especificar a opção snapshot_autoextend_threshold no arquivo lvm.conf. Esta opção permite a extensão automática de um snapshot sempre que o espaço de snapshot restante cair abaixo do limite que você definir. Esta característica requer que haja espaço não alocado no grupo de volume.

O LVM não permite criar um volume instantâneo maior do que o tamanho do volume de origem mais os metadados necessários para o volume. Da mesma forma, a extensão automática de um instantâneo não aumentará o tamanho de um volume de instantâneo além do tamanho máximo calculado necessário para o instantâneo. Uma vez que um instantâneo tenha crescido o suficiente para cobrir a origem, ele não será mais monitorado para extensão automática.

As informações sobre a configuração snapshot_autoextend_threshold e snapshot_autoextend_percent são fornecidas no próprio arquivo /etc/lvm/lvm.conf.