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)