4.4.12.2. Extendendo um Volume Lógico com a Política de Alocação cling.
Quando extender 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 como no último segmento do volume lógico existente. Se há espaço insuficiente nos volumes físicos e uma lista de rótulos é definida no arquivo lvm.conf
, o LVM checará se qualquer dos rótulos estão anexados aos volumes físicos e buscam coincidir aqueles rótulos de volume físico entre extensões existentes e novas extensões.
Por exemplo, se você possui volumes lógicos que estão espelhados entre dois lugares dentro de um grupo de volume único, você pode rotular os volumes físicos de acordo com onde eles estão situados rotulando os volumes físicos com tags @site1 e @site2 e especificar a seguinte linha no arquivo
lvm.conf
:
cling_tag_list = [ "@site1", "@site2" ]
Para informações sobre como rotular volumes físicos, veja o Apêndice C, Tags de Objetos do LVM.
No exemplo seguinte, o arquivo
lvm.conf
foi modificado para conter a seguinte linha:
cling_tag_list = [ "@A", "@B" ]
Também neste exemplo, um grupo de volume
taft
foi criado e 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 rotulados com as tags A
, B
e C
. O exemplo não usa a tag C
, mas isto mostrará que o LVM usa os rótulos para selecionar quais volumes físicos usar para as pernas do espelho.
[root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1
PV VG Fmt Attr PSize PFree PV Tags
/dev/sdb1 taft lvm2 a- 135.66g 135.66g A
/dev/sdc1 taft lvm2 a- 135.66g 135.66g B
/dev/sdd1 taft lvm2 a- 135.66g 135.66g B
/dev/sde1 taft lvm2 a- 135.66g 135.66g C
/dev/sdf1 taft lvm2 a- 135.66g 135.66g C
/dev/sdg1 taft lvm2 a- 135.66g 135.66g A
/dev/sdh1 taft lvm2 a- 135.66g 135.66g A
O seguinte comando cria um volume espelhado de 100G a partir do grupo de volume
taft
.
[root@taft-03 ~]# lvcreate -m 1 -n mirror --nosync -L 100G taft
O comando a seguir exibe quais dispositivos são usados pelas pernas do espelho e log do espelho.
[root@taft-03 ~]# lvs -a -o +devices
LV VG Attr LSize Log Copy% Devices
mirror taft Mwi-a- 100.00g mirror_mlog 100.00
mirror_mimage_0(0),mirror_mimage_1(0)
[mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0)
[mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0)
[mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0)
O comando seguinte estende o tamanho do volume espelhado, usando a política de alocação
cling
para indicar que as pernas do espelho deveriam ser estendidas usando volumes físicos com o mesmo rótulo.
[root@taft-03 ~]# lvextend --alloc cling -L +100G taft/mirror
Extending 2 mirror images.
Extending logical volume mirror to 200.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 o mesmo rótulo da perna. Note que volumes físicos com uma tag
C
foram ignorados.
[root@taft-03 ~]# lvs -a -o +devices
LV VG Attr LSize Log Copy% Devices
mirror taft Mwi-a- 200.00g mirror_mlog 50.16
mirror_mimage_0(0),mirror_mimage_1(0)
[mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0)
[mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdg1(0)
[mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0)
[mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdd1(0)
[mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0)