Red Hat Training

A Red Hat training course is available for RHEL 8

10.14. Dividindo e fundindo uma imagem RAID

Você pode dividir temporariamente uma imagem de uma matriz RAID1 para uso apenas de leitura enquanto mantém o controle de quaisquer mudanças usando o argumento --trackchanges em conjunto com o argumento --splitmirrors do comando lvconvert. Isto permite que você funda a imagem de volta ao array mais tarde enquanto sincroniza apenas as partes do array que mudaram desde que a imagem foi dividida.

O formato do comando lvconvert para dividir uma imagem RAID é o seguinte.

lvconvert --splitmirrors count --trackchanges vg/lv [removable_PVs]

Quando você divide uma imagem RAID com o argumento --trackchanges, você pode especificar qual imagem dividir, mas não pode mudar o nome do volume a ser dividido. Além disso, os volumes resultantes têm as seguintes restrições.

  • O novo volume que você cria é somente leitura.
  • Não se pode redimensionar o novo volume.
  • Não é possível renomear a matriz restante.
  • Não é possível redimensionar a matriz restante.
  • Você pode ativar o novo volume e a matriz restante independentemente.

Você pode fundir uma imagem que foi dividida com o argumento --trackchanges especificado, executando um comando lvconvert subseqüente com o argumento --merge. Quando você funde a imagem, apenas as partes da matriz que mudaram desde que a imagem foi dividida são sincronizadas novamente.

O formato do comando lvconvert para fundir uma imagem RAID é o seguinte.

lvconvert --merge raid_image

O exemplo a seguir cria um volume lógico RAID1 e depois separa uma imagem desse volume enquanto acompanha as mudanças na matriz restante.

# lvcreate --type raid1 -m 2 -L 1G -n my_lv my_vg
  Logical volume "my_lv" created
# 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/sdb1(1)
  [my_lv_rimage_1]        /dev/sdc1(1)
  [my_lv_rimage_2]        /dev/sdd1(1)
  [my_lv_rmeta_0]         /dev/sdb1(0)
  [my_lv_rmeta_1]         /dev/sdc1(0)
  [my_lv_rmeta_2]         /dev/sdd1(0)
# lvconvert --splitmirrors 1 --trackchanges my_vg/my_lv
  my_lv_rimage_2 split from my_lv for read-only purposes.
  Use 'lvconvert --merge my_vg/my_lv_rimage_2' to merge back into 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/sdb1(1)
  [my_lv_rimage_1]        /dev/sdc1(1)
  my_lv_rimage_2          /dev/sdd1(1)
  [my_lv_rmeta_0]         /dev/sdb1(0)
  [my_lv_rmeta_1]         /dev/sdc1(0)
  [my_lv_rmeta_2]         /dev/sdd1(0)

O exemplo seguinte separa uma imagem de um volume RAID1 enquanto rastreia as mudanças na matriz restante, depois funde o volume de volta à matriz.

# lvconvert --splitmirrors 1 --trackchanges my_vg/my_lv
  lv_rimage_1 split from my_lv for read-only purposes.
  Use 'lvconvert --merge my_vg/my_lv_rimage_1' to merge back into 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/sdc1(1)
  my_lv_rimage_1          /dev/sdd1(1)
  [my_lv_rmeta_0]         /dev/sdc1(0)
  [my_lv_rmeta_1]         /dev/sdd1(0)
# lvconvert --merge my_vg/my_lv_rimage_1
  my_vg/my_lv_rimage_1 successfully merged back into 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/sdc1(1)
  [my_lv_rimage_1]        /dev/sdd1(1)
  [my_lv_rmeta_0]         /dev/sdc1(0)
  [my_lv_rmeta_1]         /dev/sdd1(0)