Red Hat Training
A Red Hat training course is available for RHEL 8
17.3. Ampliação de um volume lógico com a política de alocação cling
Ao estender um volume LVM, você pode usar a opção --alloc cling
do comando lvextend
para especificar a política de alocação cling
. Esta política escolherá espaço nos mesmos volumes físicos que o último segmento do volume lógico existente. Se não houver espaço suficiente nos volumes físicos e uma lista de tags estiver definida no arquivo /etc/lvm/lvm.conf
, a LVM verificará se alguma das tags está anexada aos volumes físicos e procurará combinar essas tags de volume físico entre as extensões existentes e as novas extensões.
Por exemplo, se você tiver volumes lógicos que são espelhados entre dois sites dentro de um único grupo de volumes, você pode etiquetar os volumes físicos de acordo com o local onde eles estão situados, etiquetando os volumes físicos com as tags @site1
e @site2
. Você pode então especificar a seguinte linha no arquivo lvm.conf
:
cling_tag_list = [ "@site1", "@site2" ]
No exemplo a seguir, o arquivo lvm.conf
foi modificado para conter a seguinte linha:
cling_tag_list = [ "@A", "@B" ]
Também neste exemplo, foi criado um grupo de volumes taft
que consiste nos volumes físicos /dev/sdb1
, /dev/sdc1
, /dev/sdd1
, /dev/sde1
, /dev/sdf1
, /dev/sdg1
, e /dev/sdh1
. Estes volumes físicos foram marcados com tags A
, B
, e C
. O exemplo não usa a tag C
, mas isto mostrará que a LVM usa as tags para selecionar quais volumes físicos usar para as pernas do espelho.
# pvs -a -o +pv_tags /dev/sd[bcdefgh] PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a-- 15.00g 15.00g A /dev/sdc1 taft lvm2 a-- 15.00g 15.00g B /dev/sdd1 taft lvm2 a-- 15.00g 15.00g B /dev/sde1 taft lvm2 a-- 15.00g 15.00g C /dev/sdf1 taft lvm2 a-- 15.00g 15.00g C /dev/sdg1 taft lvm2 a-- 15.00g 15.00g A /dev/sdh1 taft lvm2 a-- 15.00g 15.00g A
O seguinte comando cria um volume espelhado de 10 gigabytes do grupo de volume taft
.
# lvcreate --type raid1 -m 1 -n mirror --nosync -L 10G taft
WARNING: New raid1 won't be synchronised. Don't read what you didn't write!
Logical volume "mirror" created
O seguinte comando mostra quais dispositivos são usados para as pernas do espelho e os subvolumes de metadados RAID.
# lvs -a -o +devices
LV VG Attr LSize Log Cpy%Sync Devices
mirror taft Rwi-a-r--- 10.00g 100.00 mirror_rimage_0(0),mirror_rimage_1(0)
[mirror_rimage_0] taft iwi-aor--- 10.00g /dev/sdb1(1)
[mirror_rimage_1] taft iwi-aor--- 10.00g /dev/sdc1(1)
[mirror_rmeta_0] taft ewi-aor--- 4.00m /dev/sdb1(0)
[mirror_rmeta_1] taft ewi-aor--- 4.00m /dev/sdc1(0)
O seguinte comando estende o tamanho do volume espelhado, usando a política de alocação cling
para indicar que as pernas do espelho devem ser estendidas usando volumes físicos com a mesma etiqueta.
# lvextend --alloc cling -L +10G taft/mirror
Extending 2 mirror images.
Extending logical volume mirror to 20.00 GiB
Logical volume mirror successfully resized
O seguinte comando de exibição mostra que as pernas do espelho foram estendidas usando volumes físicos com a mesma etiqueta que a perna. Note que os volumes físicos com a mesma tag de C
foram ignorados.
# lvs -a -o +devices
LV VG Attr LSize Log Cpy%Sync Devices
mirror taft Rwi-a-r--- 20.00g 100.00 mirror_rimage_0(0),mirror_rimage_1(0)
[mirror_rimage_0] taft iwi-aor--- 20.00g /dev/sdb1(1)
[mirror_rimage_0] taft iwi-aor--- 20.00g /dev/sdg1(0)
[mirror_rimage_1] taft iwi-aor--- 20.00g /dev/sdc1(1)
[mirror_rimage_1] taft iwi-aor--- 20.00g /dev/sdd1(0)
[mirror_rmeta_0] taft ewi-aor--- 4.00m /dev/sdb1(0)
[mirror_rmeta_1] taft ewi-aor--- 4.00m /dev/sdc1(0)