Como faço para criar um volume lógico LVM em uma partição criada em um volume EBS?

8 minuto de leitura
0

Como posso usar o Logical Volume Manager (LVM) para criar um volume lógico (LV) em uma partição criada no meu volume Amazon Elastic Block Store (Amazon EBS)?

Breve descrição

O LVM permite alocar espaço em disco, remover, espelhar novamente e redimensionar volumes lógicos. Usando o LVM, você pode alocar um volume do EBS ou um conjunto de volumes do EBS para um ou mais volumes físicos.

Para usar o LVM em seu volume do EBS e estender as partições, siga as estas:

  1. Crie volumes físicos (PV) a partir do seu volume do EBS.
  2. Crie um grupo de volume (VG) e, em seguida, adicione os volumes físicos ao grupo de volumes.
  3. Crie um volume lógico (LV) e, em seguida, monte o diretório no LVM.
  4. Crie e monte um sistema de arquivos.
  5. Redimensione o volume lógico.

Solução

Observação: Se você já criou o LVM em seu volume, e o montou para uso, siga as instruções que começam em Estender o volume lógico.

Crie volumes físicos na partição do seu volume do EBS

A unidade de armazenamento físico subjacente de um volume lógico LVM é um dispositivo de bloco, como uma partição de um volume EBS ou um volume EBS inteiro.

Observação: as instâncias baseadas em Nitro expõem volumes como dispositivos NVMe. Os nomes dos dispositivos de blocos seguem o padrão /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1 e assim por diante. Se você estiver usando uma instância baseada em Nitro, substitua os nomes dos dispositivos nas etapas a seguir pelo nome do dispositivo apropriado. Para obter mais informações sobre a nomenclatura de dispositivos, consulteNomes de dispositivos em instâncias Linux.

1.    Abra o console do Amazon Elastic Compute Cloud (Amazon EC2).

2.    Crie seu volume do EBS e, em seguida, conecte o volume à sua instância.

3.    Use o comando gdisk para criar uma partição. Para a variável Código Hex ou GUID, insira 8e00. O exemplo a seguir cria a partição /dev/xvdh1 em /dev/xvdh.

$ sudo gdisk /dev/xvdh
Command (? for help): n
Partition number (1-1218, default 1): 1
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00        
Changed type of partition to 'Linux LVM'
...
OK; writing new GUID partition table (GPT) to /dev/xvdh.
The operation has completed successfully.

Use o comando lsblk para confirmar a criação da partição:

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdh    202:80   0  10G  0 disk
└─xvdh1 202:81   0  10G  0 part

4.    Use o comando pvcreate para criar um volume físico a partir da partição. O exemplo a seguir cria um volume físico a partir de /dev/xvdh1:

$ sudo pvcreate /dev/xvdh1
  Physical volume "/dev/xvdh1" successfully created.

Crie grupos de volumes e adicione os volumes físicos ao grupo de volumes

Use o comando vgcreate para criar um grupo de volumes para combinar os novos volumes físicos. O exemplo a seguir usa um volume físico para criar o grupo de volumes examplegroup1:

$ sudo vgcreate examplegroup1 /dev/xvdh1    
  Volume group "examplegroup1" successfully created

Use vgs ou vgdisplay para ver os detalhes do grupo de volume:

$ sudo vgs
  VG             #PV #LV #SN Attr   VSize  VFree
  examplegroup1   1   0   0 wz--n- <10.00g <10.00g

Crie um volume lógico (LV) e um diretório de montagem

1.    Use o comando lvcreate para criar volumes lógicos (partições) do seu grupo de volumes. O exemplo a seguir cria um volume lógico de 9 GB, lvexample1 do grupo de volumes examplegroup1:

$ sudo lvcreate -n lvexample1 -L 9G examplegroup1
  Logical volume "lvexample1" created

Use o comando lvs ou lvdisplay para ver os detalhes do volume lógico:

$ sudo lvs
  LV          VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                 
  lvexample1 examplegroup1 -wi-a----- 9.00g

2.    Use o comando mkdir para criar um diretório de montagem. O exemplo a seguir cria o diretório /mnt1:

$ sudo mkdir /mnt1

Criar e montar um sistema de arquivos

1.    Use os comandos a seguir para criar um sistema de arquivos e montar as partições para uso.

Execute o comando mkfs -t para criar o sistema de arquivos. Observação: substitua o xfs pelo seu tipo de sistema de arquivos, se for diferente. Por exemplo, use ext2, ext3 ou ext4.

$ sudo mkfs -t xfs /dev/examplegroup1/lvexample1

Execute o comando lsblk -f para verificar a criação do novo sistema de arquivos. Observação: o tipo de sistema de arquivos que você criou na etapa anterior aparece em FSTYPE.

$ lsblk -f
NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
xvda                                                                            
├─xvda1                                                                         
└─xvda2                      xfs               66e5e079-770e-4359-a9da-5205c3d8d5af   /
xvdh                                                                            
└─xvdh1                      LVM2_member       0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo
  └─examplegroup1-lvexample1 xfs              5db36052-81d5-4762-8502-6986ff3964e7

Execute o comando mount para montar o sistema de arquivos no diretório mount que você criou na etapa anterior:

$ sudo mount /dev/examplegroup1/lvexample1 /mnt1

2.    Edite as opções de montagem no arquivo /etc/fstab para que a nova montagem seja aplicada após a reinicialização.

/dev/examplegroup1/lvexample1 /mnt1   xfs     defaults,nofail   0   0

Observação: Se o tipo do seu sistema de arquivos não forxfs, substitua oxfs pelo tipo de arquivo no /etc/fstab .

Estenda o volume lógico

Há duas opções para estender os volumes lógicos:

  • Opção 1: Aumente o tamanho do volume existente do EBS.
  • Opção 2: Adicione mais volumes do EBS ao seu grupo de volumes.

Opção 1: Aumente o tamanho do volume existente do EBS

**Observação:**ao aumentar o tamanho do volume existente, as alterações de tamanho geralmente entram em vigor em segundos quando o volume entra no estado de otimização. O desempenho do volume é afetado no estado de otimização, mas não fica abaixo da especificação de configuração de origem. Dependendo do seu tipo de volume, as alterações de desempenho podem levar de alguns minutos a algumas horas. Para obter mais informações, consulte Monitorar o progresso das modificações de volume.

1.    Modifique o tamanho do volume do EBS existente.

2.    Instale o utilitário growpart:

$ sudo yum install cloud-utils-growpart

**Observação:**Use o seguinte comando para instalar o utilitário growpart em sistemas baseados em Debian ou Ubuntu:

$ sudo apt install -y cloud-guest-utils

3.    Execute o comando growpart para estender a partição e, em seguida, execute o comando pvresize para redimensionar o PV. No exemplo a seguir, a partição /dev/xvdh1 é estendida:

$ sudo growpart /dev/xvdh 1                      
CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006

$ sudo pvresize /dev/xvdh1                       
  Physical volume "/dev/xvdh1" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Use pvs ou pvdisplay para ver os detalhes do volume físico:

$ sudo pvs
  PV         VG            Fmt  Attr PSize   PFree
  /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g

Use vgs ou vgdisplay para ver os detalhes do grupo de volume:

$ sudo vgs
  VG            #PV #LV #SN Attr   VSize   VFree
  examplegroup1   1   1   0 wz--n- <20.00g <13.00g

4.    Execute o comando lvextend para estender o volume lógico:

$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1

Use o comando lvs ou lvdisplay para ver os detalhes do volume lógico:

$ sudo lvs
  LV        VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvexample1 examplegroup1 -wi-a----- 19.00g

5.    Estenda o sistema de arquivos:

Observação: certifique-se de inserir o tipo correto do sistema de arquivos na entrada /etc/fstab .

Os sistemas de arquivos Ext2, Ext3 e Ext4:

$ sudo resize2fs /dev/examplegroup1/lvexample1

Sistemas de arquivos XFS :

$ sudo yum install x    rogs
$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Opção 2: Adicionar volumes adicionais do EBS ao grupo de volumes

1.    Crie outro volume EBS de 10 GB e, em seguida, conecte o volume à instância. Crie uma partição no dispositivo /dev/xvdi seguindo a etapa 3 de Criar volumes físicos na partição do seu volume do EBS_._Em seguida, execute o comando pvcreate. No exemplo a seguir, o nome do dispositivo de blocos do volume é /dev/xvdi1.

$ sudo pvcreate /dev/xvdi1
Physical volume "/dev/xvdi1" successfully created.

2.    Use o comando vgextend para estender o grupo de volumes e adicionar o volume novo. O exemplo a seguir estende o grupo de volumes examplegroup1 para incluir o volume /dev/xvdi1:

$ sudo vgextend examplegroup1 /dev/xvdi1
  Volume group "examplegroup2" successfully extended

Para confirmar a extensão, execute o comando vgs ou vgdisplay. O exemplo a seguir mostra que agora há dois PVs no grupo de volume examplegroup1:

$ sudo vgs
  VG                       #PV #LV #SN Attr   VSize   VFree
  examplegroup1            2   1   0 wz--n-  29.99g   20.99g

3.    Execute o comando lvextend para estender o volume lógico:

$ sudo lvextend -L 29G /dev/examplegroup1/lvexample1

4.    Redimensionar o sistema de arquivos:

Observação: dependendo do seu caso de uso, siga as etapas para os sistemas de arquivos XFS ou Ext2, Ext3 e Ext4.

Os sistemas de arquivos Ext2, Ext3 e Ext4:

$ sudo resize2fs /dev/examplegroup1/lvexample1

Sistemas de arquivos XFS :

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Informações relacionadas

Como faço para criar um volume lógico LVM em um volume EBS inteiro?

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos