Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.4.12. Aumentando Volumes Lógicos

Para aumentar o tamanho de um volume lógico, use o comando lvextend.
Quando você extender um volume lógico, você pode indicar o quanto você quer extender o volume ou o tamanho que você quer que seja depois de extender-lo.
O seguinte comando extende o volume lógico /dev/myvg/homevol para 12 gigabytes.
# lvextend -L12G /dev/myvg/homevol 
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
O seguinte comando adiciona outro gigabyte para o volume lógico /dev/myvg/homevol.
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
Como no comando lvcreate, você pode usar o argumento -l do comando lvextend para especificar o número de extensões pelas quais aumentar o tamanho do volume lógico. Você pode também usar este argumento para especificar a porcentagem do grupo de volume ou uma porcentagem do espaço livre restante no grupo de volume. O comando seguinte extende o volume lógico chamado testlv para preencher todo o espaço não alocado no grupo de volume myvg.
[root@tng3-1 ~]# lvextend -l +100%FREE /dev/myvg/testlv
  Extending logical volume testlv to 68.59 GB
  Logical volume testlv successfully resized
Depois de você ter extendido o volume lógico é necessário aumentar o tamanho do sistema de arquivos para equivalencia.
Por padrão, a maioria das ferramentas de redimensionamento do sistema de arquivos aumentarão o tamanho do sistema de arquivos para ter o tamanho do volume lógico subjacente para que você não precise se preocupar em especificar o mesmo tamanho para cada um dos dois comandos.

4.4.12.1. Extendendo um Volume Distribuído

Para aumentar o tamanho de um volume lógico distribuído, deverá haver espaço livre suficiente nos volumes físicos subjacentes que compõem o grupo de volume para suportar a distribuição. Por exemplo, se você tem uma distribuição de duas vias que usa um grupo de volume inteiro, adicionando um único volume físico ao grupo de volume não permitirá que você extenda a distribuição. Ao invés disso, você deve adicionar ao menos dois volumes físicos ao grupo de volume.
Por exemplo, considere um grupo de volume vg que consista em dois volumes físicos subjacentes, como mostrado com o seguinte comando vgs.
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   0   0 wz--n- 271.31G 271.31G
Você pode criar uma distribuição usando a quantidade inteira de espaço no grupo de volume.
# lvcreate -n stripe1 -L 271.31G -i 2 vg
  Using default stripesize 64.00 KB
  Rounding up size to full physical extent 271.31 GB
  Logical volume "stripe1" created
# lvs -a -o +devices
  LV      VG   Attr   LSize   Origin Snap%  Move Log Copy%  Devices
  stripe1 vg   -wi-a- 271.31G                               /dev/sda1(0),/dev/sdb1(0)
Note que o grupo de volume não possui mais espaço livre.
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   1   0 wz--n- 271.31G    0
O comando seguinte adiciona um outro volume físico ao grupo de volume, no qual então tem 135G de espaço adicional.
# vgextend vg /dev/sdc1
  Volume group "vg" successfully extended
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     3   1   0 wz--n- 406.97G 135.66G
Neste momento você não pode extender o volume lógico distribuído para o volume total, porque dois dispositivos subjacentes são necessários para dividir os dados.
# lvextend vg/stripe1 -L 406G
  Using stripesize of last segment 64.00 KB
  Extending logical volume stripe1 to 406.00 GB
  Insufficient suitable allocatable extents for logical volume stripe1: 34480 
more required
Para extender o volume lógico distribuído, adicione um outro volume físico e então extenda o volume lógico. Neste exemplo, adicionando dois volumes físicos ao grupo de volume nós poderemos extender o volume lógico ao máximo tamanho do grupo de volume.
# vgextend vg /dev/sdd1
  Volume group "vg" successfully extended
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     4   1   0 wz--n- 542.62G 271.31G
# lvextend vg/stripe1 -L 542G
  Using stripesize of last segment 64.00 KB
  Extending logical volume stripe1 to 542.00 GB
  Logical volume stripe1 successfully resized
Se você não possui dispositivos físicos subjacentes suficientes para extender o volume lógico distribuído, é possível extender o volume de qualquer maneira se não for importante que a extensão não seja em distribuições, o que pode resultar em um desempenho desigual. Quando estiver adicionando espaço ao volume lógico, a operação padrão é usar os mesmos parâmetros de distribuição do último segmento do volume lógico existente, mas você pode mudar estes parâmetros. O exemplo seguinte extende o volume lógico distribuído existente para usar o espaço livre restante depois que o comando inicial lvextend ter falhado.
# lvextend vg/stripe1 -L 406G
  Using stripesize of last segment 64.00 KB
  Extending logical volume stripe1 to 406.00 GB
  Insufficient suitable allocatable extents for logical volume stripe1: 34480 
more required
# lvextend -i1 -l+100%FREE vg/stripe1