Red Hat Training

A Red Hat training course is available for RHEL 8

12.4. Criação de volumes de instantâneos pouco previsíveis

O Red Hat Enterprise Linux fornece suporte para volumes de instantâneos pouco fornecidos.

Nota

Esta seção fornece uma visão geral dos comandos básicos que você usa para criar e crescer volumes de instantâneos pouco previsíveis. Para informações detalhadas sobre provisão fina de LVM, bem como informações sobre o uso dos comandos e utilitários LVM com volumes lógicos pouco previsíveis, consulte a página de manual lvmthin(7).

Importante

Ao criar um volume fino, não se especifica o tamanho do volume. Se você especificar um parâmetro de tamanho, o snapshot que será criado não será um volume de snapshot fino e não utilizará o pool fino para armazenar dados. Por exemplo, o comando lvcreate -s vg/thinvolume -L10M não criará um instantâneo fino, mesmo que o volume de origem seja um volume fino.

Podem ser criados instantâneos finos para volumes de origem pouco fornecidos, ou para volumes de origem que não são pouco fornecidos.

Você pode especificar um nome para o volume de instantâneos com a opção --name do comando lvcreate. O comando a seguir cria um volume de instantâneo do volume lógico de pouco volume vg001/thinvolume que é chamado mysnapshot1.

# lvcreate -s --name mysnapshot1 vg001/thinvolume
  Logical volume "mysnapshot1" created
# lvs
  LV          VG       Attr     LSize   Pool       Origin     Data%  Move Log Copy%  Convert
  mysnapshot1 vg001    Vwi-a-tz   1.00g mythinpool thinvolume   0.00
  mythinpool  vg001    twi-a-tz 100.00m                         0.00
  thinvolume  vg001    Vwi-a-tz   1.00g mythinpool              0.00

Um volume fino tem as mesmas características que qualquer outro volume fino. Você pode independentemente ativar o volume, estender o volume, renomear o volume, remover o volume e até mesmo fotografar o volume.

Por padrão, um volume de instantâneo é pulado durante os comandos normais de ativação. Para informações sobre como controlar a ativação de um volume lógico, consulte Ativação do volume lógico.

Você também pode criar um instantâneo de um volume lógico não previsto. Uma vez que o volume lógico não previsto não está contido dentro de um pool fino, ele é referido como um external origin. Os volumes de origem externa podem ser utilizados e compartilhados por muitos volumes de imagens de origem fina, mesmo de diferentes piscinas finas. A origem externa deve ser inativa e somente de leitura no momento em que o instantâneo com thinly-provisioned é criado.

Para criar um instantâneo de uma origem externa, você deve especificar a opção --thinpool. O seguinte comando cria um pequeno volume do volume inativo somente de leitura origin_volume. O nome do volume fino é mythinsnap. O volume lógico origin_volume torna-se então a origem externa do volume thin snapshot mythinsnap no grupo de volume vg001 que utilizará o pool thin existente vg001/pool. Como o volume de origem deve estar no mesmo grupo de volume que o volume de instantâneos, não é necessário especificar o grupo de volume ao especificar o volume lógico de origem.

# lvcreate -s --thinpool vg001/pool origin_volume --name mythinsnap

Você pode criar um segundo volume de instantâneo do primeiro volume, como no seguinte comando.

# lvcreate -s vg001/mythinsnap --name my2ndthinsnap

Você pode exibir uma lista de todos os antepassados e descendentes de um volume lógico de um pequeno instantâneo especificando os campos de relatório lv_ancestors e lv_descendants do comando lvs.

No exemplo a seguir:

  • stack1 é um volume de origem em grupo de volume vg001.
  • stack2 é um retrato de stack1
  • stack3 é um retrato de stack2
  • stack4 é um retrato de stack3

Além disso:

  • stack5 também é um instantâneo de stack2
  • stack6 é um retrato de stack5
$ lvs -o name,lv_ancestors,lv_descendants vg001
  LV      Ancestors              Descendants
  stack1                         stack2,stack3,stack4,stack5,stack6
  stack2  stack1                 stack3,stack4,stack5,stack6
  stack3  stack2,stack1          stack4
  stack4  stack3,stack2,stack1
  stack5  stack2,stack1          stack6
  stack6  stack5,stack2,stack1
  pool
Nota

Os campos lv_ancestors e lv_descendants mostram as dependências existentes, mas não rastreiam as entradas removidas que podem quebrar uma cadeia de dependência se a entrada foi removida do meio da cadeia. Por exemplo, se você remover o volume lógico stack3 desta configuração de amostra, a exibição é a seguinte.

$ lvs -o name,lv_ancestors,lv_descendants vg001
  LV      Ancestors              Descendants
  stack1                         stack2,stack5,stack6
  stack2  stack1                 stack5,stack6
  stack4
  stack5  stack2,stack1          stack6
  stack6  stack5,stack2,stack1
  pool

Você pode configurar seu sistema para rastrear e exibir os volumes lógicos que foram removidos, e pode exibir toda a cadeia de dependência que inclui esses volumes, especificando os campos lv_ancestors_full e lv_descendants_full.