Como redimensionar dispositivos de gerenciamento de volume lógico que usam o Azure Disk Encryption
Aplica-se a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis
Neste artigo, você aprenderá a redimensionar discos de dados que usam o Azure Disk Encryption. Para redimensionar os discos, você usará o LVM (gerenciamento de volume lógico) no Linux. As etapas se aplicam a vários cenários.
Você pode usar esse processo de redimensionamento nos seguintes ambientes:
- Distribuições Linux:
- Red Hat Enterprise Linux (RHEL) 7 ou posterior
- Ubuntu 18.04 ou posterior
- SUSE 12 ou posterior
- Versões do Azure Disk Encryption:
- Extensão de passagem única
- Extensão de passagem dupla
Pré-requisitos
Este artigo supõe que você:
Uma configuração LVM existente. Para obter mais informações, confira Configurar o LVM em uma VM do Linux.
Discos que já estão criptografados pelo Azure Disk Encryption. Para obter mais informações, confira Configurar LVM e RAID em dispositivos criptografados.
Experiência com o Linux e o LVM.
Experiência com os caminhos /dev/disk/scsi1/ para discos de dados no Azure. Para obter mais informações, confira Solucionar problemas de nome do dispositivo em VMs do Linux.
Cenários
Os procedimentos neste artigo se aplicam aos seguintes cenários:
- Configurações tradicionais de LVM e LVM-on-crypt
- Criptografia LVM tradicional
- LVM-on-crypt
- Somente discos de dados. Não há suporte para redimensionamento de disco do sistema operacional.
Configurações tradicionais de LVM e LVM-on-crypt
As configurações de LVM-on-crypt e LVM tradicionais estendem um volume lógico (LV) quando o grupo de volumes (VG) tem espaço disponível.
Criptografia LVM tradicional
Na criptografia LVM tradicional, os LVs são criptografados. Todo o disco não está criptografado.
Usando a criptografia LVM tradicional, você pode:
- Estender o LV ao adicionar um novo volume físico (PV).
- Estender o LV ao redimensionar um PV existente.
LVM-on-crypt
O método recomendado para a criptografia de disco é o LVM-on-crypt. Esse método criptografa todo o disco, não apenas o LV.
Usando o LVM-on-cript, você pode:
- Estender o LV ao adicionar um novo PV.
- Estender o LV ao redimensionar um PV existente.
Observação
Não recomendamos misturar criptografia LVM tradicional e LVM-on-crypt na mesma VM.
As seções a seguir fornecem exemplos de como usar LVM-on-crypt e LVM. Os exemplos usam valores preexistentes para discos, PVs, VGs, LVs, sistemas de arquivos, UUIDs (identificadores universalmente exclusivos) e pontos de montagem. Substitua esses valores pelos seus próprios valores para adequar ao seu ambiente.
Estender um LV quando o VG tiver espaço disponível
A maneira tradicional de redimensionar o LVs é estender um LV quando o VG tem espaço disponível. Você pode usar esse método para discos não criptografados, volumes tradicionais criptografados por LVM e configurações de LVM-on-crypt.
Verifique o tamanho atual do sistema de arquivos que você deseja aumentar:
df -h /mountpoint
Verifique se o VG tem espaço suficiente para aumentar o LV:
sudo vgs
Também é possível usar
vgdisplay
:sudo vgdisplay vgname
Identifique qual LV precisa ser redimensionado:
sudo lsblk
Para LVM-on-cript, a diferença é que essa saída mostra que a camada criptografada está no nível do disco.
Verifique o tamanho do LV:
sudo lvdisplay lvname
Aumente o tamanho do LV usando
-r
para redimensionar o sistema de arquivos online:sudo lvextend -r -L +2G /dev/vgname/lvname
Verifique os novos tamanhos para o LV e o sistema de arquivos:
df -h /mountpoint
A saída de tamanho indica que o LV e o sistema de arquivos foram redimensionados com sucesso.
Você pode verificar as informações de LV novamente para confirmar as alterações no nível do LV:
sudo lvdisplay lvname
Estender um volume LVM tradicional adicionando um novo PV
Quando você precisar adicionar um novo disco para aumentar o tamanho do VG, estenda o volume do LVM tradicional adicionando um novo PV.
Verifique o tamanho atual do sistema de arquivos que você deseja aumentar:
df -h /mountpoint
Verifique a configuração atual do PV:
sudo pvs
Verifique as informações do VG atual:
sudo vgs
Verifique a lista de discos atual. Identifique os discos de dados verificando os dispositivos em /dev/disk/Azure/scsi1/ .
sudo ls -l /dev/disk/azure/scsi1/
Verifique a saída de
lsblk
:sudo lsbk
Anexe o novo disco à VM seguindo as instruções em Anexar um disco de dados a uma VM do Linux.
Verifique a lista de discos e observe o novo disco.
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk
Crie um novo PV sobre o novo disco de dados:
sudo pvcreate /dev/newdisk
Esse método usa todo o disco como um PV sem uma partição. Como alternativa, você pode usar
fdisk
para criar uma partição e usar essa partição parapvcreate
.Verifique se o PV foi adicionado à lista de PVs:
sudo pvs
Estenda o VG adicionando o novo PV a ele:
sudo vgextend vgname /dev/newdisk
Verifique o novo tamanho de VG:
sudo vgs
Use
lsblk
para identificar o LV que precisa ser redimensionado:sudo lsblk
Estenda o tamanho do LV usando
-r
para aumentar o sistema de arquivos online:sudo lvextend -r -L +2G /dev/vgname/lvname
Verifique os novos tamanhos do LV e do sistema de arquivos:
df -h /mountpoint
Importante
Quando a criptografia de dados do Azure é usada em configurações de LVM tradicionais, a camada criptografada é criada no nível do LV, não no nível do disco.
Neste ponto, a camada criptografada é expandida para o novo disco. O disco de dados real não tem configurações de criptografia no nível da plataforma; portanto, seu status de criptografia não é atualizado.
Esses são alguns dos motivos pelos quais o LVM-on-cript é a abordagem recomendada.
Verifique as informações de criptografia do portal:
Para atualizar as configurações de criptografia no disco, adicione um novo LV e habilite a extensão na VM.
Adicione um novo LV, crie um sistema de arquivos nele e adicione-o ao
/etc/fstab
.Defina a extensão de criptografia novamente. Desta vez, você carimbará as configurações de criptografia no novo disco de dados no nível da plataforma. Veja um exemplo de CLI:
az vm encryption enable -g ${RGNAME} --name ${VMNAME} --disk-encryption-keyvault "<your-unique-keyvault-name>"
Verifique as informações de criptografia do portal:
Depois que as configurações de criptografia forem atualizadas, você poderá excluir o novo LV. Exclua também a entrada do /etc/fstab
e do /etc/crypttab
que você criou.
Siga estas etapas para concluir a limpeza:
Desmonte o LV:
sudo umount /mountpoint
Feche a camada criptografada do volume:
sudo cryptsetup luksClose /dev/vgname/lvname
Exclua o LV:
sudo lvremove /dev/vgname/lvname
Estender um volume LVM tradicional redimensionando um PV existente
Em alguns cenários, suas limitações podem exigir que você redimensione um disco existente. Aqui está como:
Identifique os discos criptografados:
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk -fs
Verifique as informações do PV:
sudo pvs
Os resultados na imagem mostram que todo o espaço em todos os PVs está sendo usado no momento.
Verifique as informações do VG:
sudo vgs sudo vgdisplay -v vgname
Verifique os tamanhos de disco. Você pode usar
fdisk
oulsblk
para listar os tamanhos de unidade.for disk in `sudo ls -l /dev/disk/azure/scsi1/* | awk -F/ '{print $NF}'` ; do echo "sudo fdisk -l /dev/${disk} | grep ^Disk "; done | bash sudo lsblk -o "NAME,SIZE"
Aqui identificamos quais PVs estão associados a quais LVs usando
lsblk -fs
. Você pode identificar as associações executandolvdisplay
.sudo lvdisplay --maps VG/LV sudo lvdisplay --maps datavg/datalv1
Nesse caso, todas as quatro unidades de dados fazem parte do mesmo VG e de um único LV. Sua configuração pode ser diferente.
Verifique a utilização atual do sistema de arquivos:
df -h /datalvm*
Redimensione os discos de dados seguindo as instruções em Expandir um disco gerenciado do Azure. Você pode usar o portal, a CLI ou o PowerShell.
Importante
Alguns discos de dados em VMs do Linux podem ser redimensionados sem desalocar a VM, verifique [Expandir discos rígidos virtuais em uma VM do Linux](/azure/virtual-machines/linux/expand-disks? tabs=ubuntu#expand-an-azure-managed-disk) para verificar se os discos atendem aos requisitos.
Inicie a VM e verifique os novos tamanhos usando
fdisk
.for disk in `sudo ls -l /dev/disk/azure/scsi1/* | awk -F/ '{print $NF}'` ; do echo "sudo fdisk -l /dev/${disk} | grep ^Disk "; done | bash sudo lsblk -o "NAME,SIZE"
Nesse caso,
/dev/sdd
foi redimensionado de 5 para 20 G.Verifique o tamanho atual do PV:
sudo pvdisplay /dev/resizeddisk
Embora o disco tenha sido redimensionado, o PV ainda tem o tamanho anterior.
Redimensione o PV:
sudo pvresize /dev/resizeddisk
Verifique o tamanho do PV:
sudo pvdisplay /dev/resizeddisk
Aplique o mesmo procedimento a todos os discos que você deseja redimensionar.
Verifique as informações do VG.
sudo vgdisplay vgname
O VG agora tem espaço suficiente para ser alocado para os LVs.
Redimensione o LV:
sudo lvresize -r -L +5G vgname/lvname sudo lvresize -r -l +100%FREE /dev/datavg/datalv01
Verifique o tamanho do sistema de arquivos:
df -h /datalvm2
Estender um volume LVM-on-cript adicionando um novo PV
Você também pode estender um volume LVM-on-cript adicionando um novo PV. Esse método segue com mais detalhes as etapas em Configurar LVM e RAID em dispositivos criptografados. Consulte as seções que explicam como adicionar um novo disco e configurá-lo em uma configuração LVM-on-crypt.
Você pode usar esse método para adicionar espaço a um LV existente. Ou pode criar novos VGs ou LVs.
Verifique o tamanho atual de seu VG:
sudo vgdisplay vgname
Verifique o tamanho do sistema de arquivos e o LV que você deseja expandir:
sudo lvdisplay /dev/vgname/lvname
df -h mountpoint
Adicione um novo disco de dados à VM e identifique-o.
Antes de adicionar o novo disco, verifique os discos:
sudo fdisk -l | egrep ^"Disk /"
Esta é outra maneira de verificar os discos antes de adicionar o novo disco:
sudo lsblk
Para adicionar o novo disco, você pode usar o PowerShell, a CLI do Azure ou o portal do Azure. Para obter mais informações, confira Anexar um disco de dados a uma VM do Linux.
O esquema de nomes de kernel aplica-se ao dispositivo recém-adicionado. Uma nova unidade normalmente é atribuída à próxima letra disponível. Nesse caso, o disco adicionado é
sdd
.Verifique os discos para garantir que o novo disco foi adicionado:
sudo fdisk -l | egrep ^"Disk /"
sudo lsblk
Crie um sistema de arquivos sobre o disco recém-adicionado. Corresponda o disco aos dispositivos associados em
/dev/disk/azure/scsi1/
.sudo ls -la /dev/disk/azure/scsi1/
sudo mkfs.ext4 /dev/disk/azure/scsi1/${disk}
Crie um ponto de montagem temporário para o novo disco adicionado:
newmount=/data4 sudo mkdir ${newmount}
Adicione o sistema de arquivos recém-criado ao
/etc/fstab
.sudo blkid /dev/disk/azure/scsi1/lun4| awk -F\" '{print "UUID="$2" '${newmount}' "$4" defaults,nofail 0 0"}' >> /etc/fstab
Monte o sistema de arquivos recém-criado:
sudo mount -a
Verifique se o novo sistema de arquivos está montado:
df -h
sudo lsblk
Reinicie a criptografia que você iniciou anteriormente para as unidades de dados.
Dica
Para LVM-on-cript, recomendamos usar
EncryptFormatAll
. Caso contrário, você poderá ver uma criptografia dupla ao configurar discos adicionais.Para obter mais informações, confira Configurar LVM e RAID em dispositivos criptografados.
Veja um exemplo:
az vm encryption enable \ --resource-group ${RGNAME} \ --name ${VMNAME} \ --disk-encryption-keyvault ${KEYVAULTNAME} \ --key-encryption-key ${KEYNAME} \ --key-encryption-keyvault ${KEYVAULTNAME} \ --volume-type "DATA" \ --encrypt-format-all \ -o table
Quando a criptografia for concluída, você verá uma camada cript no disco recém-adicionado:
sudo lsblk
Desmonte a camada criptografada do novo disco:
sudo umount ${newmount}
Verifique as informações atuais do PV:
sudo pvs
Crie um PV sobre a camada criptografada do disco. Utilize o nome do dispositivo do comando
lsblk
anterior. Adicione um mapeador/dev/
antes do nome do dispositivo para criar o PV:sudo pvcreate /dev/mapper/mapperdevicename
Você verá um aviso sobre como apagar a assinatura
ext4 fs
atual. Esse aviso é esperado. Responda a essa pergunta comy
.Verifique se o novo PV foi adicionado à configuração LVM:
sudo pvs
Adicione o novo PV ao VG que você precisa aumentar.
sudo vgextend vgname /dev/mapper/nameofhenewpv
Verifique o novo tamanho e o espaço livre do VG:
sudo vgdisplay vgname
Observe o aumento da contagem
Total PE
e oFree PE / Size
.Aumente o tamanho do LV e do sistema de arquivos. Use a opção
-r
emlvextend
. Neste exemplo, estamos adicionando o espaço total disponível no VG para o LV especificado.sudo lvextend -r -l +100%FREE /dev/vgname/lvname
Siga as próximas etapas para verificar as alterações.
Verifique o tamanho do LV:
sudo lvdisplay /dev/vgname/lvname
Verifique o tamanho do sistema de arquivos:
df -h /mountpoint
Verifique se a camada LVM está sobre a camada criptografada:
sudo lsblk
Se você usar
lsblk
sem opções, verá os pontos de montagem várias vezes. O comando classifica por dispositivo e LVs.Você pode usar
lsblk -fs
. Nesse comando,-fs
inverte a ordem de classificação para que os pontos de montagem sejam mostrados uma vez. Os discos são mostrados várias vezes.sudo lsblk -fs
Estender um LVM em um volume criptografado redimensionando um PV existente
Identifique os discos criptografados:
sudo lsblk
sudo lsblk -s
Verifique as informações do PV:
sudo pvs
Verifique as informações do VG:
sudo vgs
Verifique as informações do LV:
sudo lvs
Verifique a utilização do sistema de arquivos:
df -h /mountpoint(s)
Verifique os tamanhos dos discos:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
Redimensione o disco de dados. Você pode usar o portal, a CLI ou o PowerShell. Para obter mais informações, confira a seção de redimensionamento de disco em Expandir discos rígidos virtuais em uma VM do Linux.
Importante
Não é possível redimensionar os discos virtuais enquanto a VM está em execução. Desaloque sua VM para esta etapa.
Verifique os tamanhos dos discos:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
Nesse caso, ambos os discos foram redimensionados de 2 para 4 GB. Mas o tamanho do sistema de arquivos, do LV e do PV permanecem os mesmos.
Verifique o tamanho atual do PV. Lembre-se de que, em LVM-on-cript, o PV é o dispositivo
/dev/mapper/
, não o dispositivo/dev/sd*
.sudo pvdisplay /dev/mapper/devicemappername
Redimensione o PV:
sudo pvresize /dev/mapper/devicemappername
Verifique o novo tamanho do PV:
sudo pvdisplay /dev/mapper/devicemappername
Redimensione a camada criptografada no PV:
sudo cryptsetup resize /dev/mapper/devicemappername
Aplique o mesmo procedimento a todos os discos que você deseja redimensionar.
Verifique as informações do VG:
sudo vgdisplay vgname
O VG agora tem espaço suficiente para ser alocado para os LVs.
Verifique as informações do LV:
sudo lvdisplay vgname/lvname
Verifique a utilização do sistema de arquivos:
df -h /mountpoint
Redimensione o LV:
sudo lvresize -r -L +2G /dev/vgname/lvname
Aqui, usamos a opção
-r
para também redimensionar o sistema de arquivos.Verifique as informações do LV:
sudo lvdisplay vgname/lvname
Verifique a utilização do sistema de arquivos:
df -h /mountpoint
Aplique o mesmo procedimento de redimensionamento a qualquer outro LV que o exija.