68.13.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" ]
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" ]
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.
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
# 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.
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
# 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.