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