Red Hat Training

A Red Hat training course is available for RHEL 8

5.4. Ampliação de um volume lógico listrado

A fim de aumentar o tamanho de um volume lógico listrado, deve haver espaço livre suficiente nos volumes físicos subjacentes que compõem o grupo de volume para suportar a listra. Por exemplo, se você tiver uma faixa de duas vias que utilize um grupo de volume inteiro, adicionar um único volume físico ao grupo de volume não lhe permitirá estender a faixa. Ao invés disso, você deve adicionar pelo menos dois volumes físicos ao grupo de volume.

Por exemplo, considere um grupo de volumes vg que consiste de dois volumes físicos subjacentes, como exibido 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 faixa usando todo o espaço do 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 agora não tem mais espaço livre.

# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   1   0 wz--n- 271.31G    0

O seguinte comando acrescenta outro volume físico ao grupo de volume, que então tem 135 gigabytes 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 ponto você não pode estender o volume lógico listrado até o tamanho total do grupo de volume, porque dois dispositivos subjacentes são necessários para riscar 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 estender o volume lógico listrado, adicionar outro volume físico e depois estender o volume lógico. Neste exemplo, tendo adicionado dois volumes físicos ao grupo de volume, podemos estender o volume lógico até o tamanho total 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 tiver dispositivos físicos subjacentes suficientes para estender o volume lógico listrado, é possível estender o volume de qualquer forma, se não importar que a extensão não seja listrada, o que pode resultar em um desempenho desigual. Ao adicionar espaço ao volume lógico, a operação padrão é usar os mesmos parâmetros de striping do último segmento do volume lógico existente, mas você pode sobrepor esses parâmetros. O exemplo a seguir estende o volume lógico em tiras existente para usar o espaço livre restante após o comando inicial lvextend falhar.

# 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