Red Hat Training

A Red Hat training course is available for RHEL 8

10.12. Mudando o número de imagens em um dispositivo RAID1 existente

Você pode alterar o número de imagens em uma matriz RAID1 existente, assim como pode alterar o número de imagens na implementação anterior do espelhamento LVM. Use o comando lvconvert para especificar o número de pares de metadados/dados adicionais a serem adicionados ou removidos.

Quando você adiciona imagens a um dispositivo RAID1 com o comando lvconvert, você pode especificar o número total de imagens para o dispositivo resultante, ou pode especificar quantas imagens adicionar ao dispositivo. Opcionalmente, você também pode especificar em quais volumes físicos os novos pares de metadados/dados de imagem residirão.

Subvolumes de metadados (denominados rmeta) sempre existem nos mesmos dispositivos físicos que suas contrapartes de subvolume de dados rimage). Os pares de metadados/subvolume de dados não serão criados nos mesmos volumes físicos que os de outro par de metadados/subvolume de dados na matriz RAID (a menos que você especifique --alloc anywhere).

O formato para o comando de adicionar imagens a um volume RAID1 é o seguinte:

lvconvert -m new_absolute_count vg/lv [removable_PVs]
lvconvert -m +num_additional_images vg/lv [removable_PVs]

Por exemplo, o seguinte comando exibe o dispositivo LVM my_vg/my_lv, que é uma matriz RAID1 de 2 vias:

# lvs -a -o name,copy_percent,devices my_vg
  LV                Copy%  Devices
  my_lv             6.25    my_lv_rimage_0(0),my_lv_rimage_1(0)
  [my_lv_rimage_0]         /dev/sde1(0)
  [my_lv_rimage_1]         /dev/sdf1(1)
  [my_lv_rmeta_0]          /dev/sde1(256)
  [my_lv_rmeta_1]          /dev/sdf1(0)

O seguinte comando converte o dispositivo RAID1 de 2 vias my_vg/my_lv para um dispositivo RAID1 de 3 vias:

# lvconvert -m 2 my_vg/my_lv
# lvs -a -o name,copy_percent,devices my_vg
  LV               Copy%  Devices
  my_lv              6.25 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0)
  [my_lv_rimage_0]        /dev/sde1(0)
  [my_lv_rimage_1]        /dev/sdf1(1)
  [my_lv_rimage_2]        /dev/sdg1(1)
  [my_lv_rmeta_0]         /dev/sde1(256)
  [my_lv_rmeta_1]         /dev/sdf1(0)
  [my_lv_rmeta_2]         /dev/sdg1(0)

Quando você adiciona uma imagem a uma matriz RAID1, você pode especificar quais volumes físicos usar para a imagem. O seguinte comando converte o dispositivo RAID1 de 2 vias my_vg/my_lv para um dispositivo RAID1 de 3 vias, especificando que o volume físico /dev/sdd1 seja usado para a matriz:

# lvs -a -o name,copy_percent,devices my_vg
  LV               Copy%  Devices
  my_lv             56.00 my_lv_rimage_0(0),my_lv_rimage_1(0)
  [my_lv_rimage_0]        /dev/sda1(1)
  [my_lv_rimage_1]        /dev/sdb1(1)
  [my_lv_rmeta_0]         /dev/sda1(0)
  [my_lv_rmeta_1]         /dev/sdb1(0)
# lvconvert -m 2 my_vg/my_lv /dev/sdd1
# lvs -a -o name,copy_percent,devices my_vg
  LV               Copy%  Devices
  my_lv             28.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0)
  [my_lv_rimage_0]        /dev/sda1(1)
  [my_lv_rimage_1]        /dev/sdb1(1)
  [my_lv_rimage_2]        /dev/sdd1(1)
  [my_lv_rmeta_0]         /dev/sda1(0)
  [my_lv_rmeta_1]         /dev/sdb1(0)
  [my_lv_rmeta_2]         /dev/sdd1(0)

Para remover imagens de uma matriz RAID1, use o seguinte comando. Quando você remover imagens de um dispositivo RAID1 com o comando lvconvert, você pode especificar o número total de imagens para o dispositivo resultante, ou você pode especificar quantas imagens a serem removidas do dispositivo. Você também pode especificar opcionalmente os volumes físicos dos quais remover o dispositivo.

lvconvert -m new_absolute_count vg/lv [removable_PVs]
lvconvert -m -num_fewer_images vg/lv [removable_PVs]

Além disso, quando uma imagem e seu subvolume de metadados associado são removidos, quaisquer imagens de números mais altos serão deslocadas para baixo para preencher o espaço. Se você remover lv_rimage_1 de uma matriz RAID1 de 3 vias que consiste de lv_rimage_0, lv_rimage_1 e lv_rimage_2, isto resulta em uma matriz RAID1 que consiste de lv_rimage_0 e lv_rimage_1. O subvolume lv_rimage_2 será renomeado e assumirá o slot vazio, tornando-se lv_rimage_1.

O exemplo a seguir mostra o layout de um volume lógico RAID1 de 3 vias my_vg/my_lv.

# lvs -a -o name,copy_percent,devices my_vg
  LV               Copy%  Devices
  my_lv            100.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0)
  [my_lv_rimage_0]        /dev/sde1(1)
  [my_lv_rimage_1]        /dev/sdf1(1)
  [my_lv_rimage_2]        /dev/sdg1(1)
  [my_lv_rmeta_0]         /dev/sde1(0)
  [my_lv_rmeta_1]         /dev/sdf1(0)
  [my_lv_rmeta_2]         /dev/sdg1(0)

O seguinte comando converte o volume lógico RAID1 de 3 vias em um volume lógico RAID1 de 2 vias.

# lvconvert -m1 my_vg/my_lv
# lvs -a -o name,copy_percent,devices my_vg
  LV               Copy%  Devices
  my_lv            100.00 my_lv_rimage_0(0),my_lv_rimage_1(0)
  [my_lv_rimage_0]        /dev/sde1(1)
  [my_lv_rimage_1]        /dev/sdf1(1)
  [my_lv_rmeta_0]         /dev/sde1(0)
  [my_lv_rmeta_1]         /dev/sdf1(0)

O seguinte comando converte o volume lógico RAID1 de 3 vias em um volume lógico RAID1 de 2 vias, especificando o volume físico que contém a imagem a ser removida como /dev/sde1.

# lvconvert -m1 my_vg/my_lv /dev/sde1
# lvs -a -o name,copy_percent,devices my_vg
  LV               Copy%  Devices
  my_lv            100.00 my_lv_rimage_0(0),my_lv_rimage_1(0)
  [my_lv_rimage_0]        /dev/sdf1(1)
  [my_lv_rimage_1]        /dev/sdg1(1)
  [my_lv_rmeta_0]         /dev/sdf1(0)
  [my_lv_rmeta_1]         /dev/sdg1(0)