Como redimensionar dispositivos de gerenciamento de volume lógico que usam o Azure Disk Encryption
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
Neste artigo, você aprenderá a redimensionar discos de dados que usam a Criptografia de Disco do Azure. Para redimensionar os discos, você usará o gerenciamento lógico de volumes (LVM) 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 pressupõe que você tenha:
Uma configuração LVM existente. Para obter mais informações, consulte Configurar o LVM em uma VM Linux.
Discos que já estão criptografados pelo Azure Disk Encryption. Para obter mais informações, consulte Configurar LVM e RAID em dispositivos criptografados.
Experiência com Linux e LVM.
Experiência usando caminhos /dev/disk/scsi1/ para discos de dados no Azure. Para obter mais informações, consulte Solucionar problemas de nome de dispositivo de VM Linux.
Cenários
Os procedimentos neste artigo aplicam-se aos seguintes cenários:
- Configurações LVM e LVM-on-crypt tradicionais
- Encriptação LVM tradicional
- LVM-em-cripta
- Apenas discos de dados. O redimensionamento de disco do SO não é suportado.
Configurações LVM e LVM-on-crypt tradicionais
As configurações LVM e LVM-on-crypt tradicionais estendem um volume lógico (LV) quando o grupo de volumes (VG) tem espaço disponível.
Encriptação LVM tradicional
Na encriptação LVM tradicional, os LVs são encriptados. Todo o disco não está encriptado.
Usando a criptografia LVM tradicional, você pode:
- Estenda o LV quando adicionar um novo volume físico (PV).
- Estenda o LV ao redimensionar um PV existente.
LVM-em-cripta
O método recomendado para encriptação de disco é LVM-on-encrypt. Este método encripta todo o disco, não apenas o LV.
Usando LVM-on-crypt, você pode:
- Estenda o LV quando adicionar um novo PV.
- Estenda o LV ao redimensionar um PV existente.
Nota
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 e LVM-on-crypt. Os exemplos usam valores preexistentes para discos, PVs, VGs, LVs, sistemas de arquivos, identificadores universalmente exclusivos (UUIDs) e pontos de montagem. Substitua esses valores por seus próprios valores para se adequar ao seu ambiente.
Estenda um LV quando o VG tiver espaço disponível
A maneira tradicional de redimensionar 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 com criptografia.
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
Você também pode usar
vgdisplay
:sudo vgdisplay vgname
Identifique qual LV precisa ser redimensionado:
sudo lsblk
Para LVM-on-crypt, a diferença é que essa saída mostra que a camada criptografada está no nível do disco.
Verifique o tamanho do BT:
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 êxito.
Pode verificar novamente a informação do LV para confirmar as alterações ao nível do LV:
sudo lvdisplay lvname
Estenda um volume LVM tradicional adicionando um novo PV
Quando precisar adicionar um novo disco para aumentar o tamanho VG, estenda seu volume 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 VG atuais:
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 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
Este 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, em seguida, usar essa partição parapvcreate
.Verifique se o PV foi adicionado à lista PV:
sudo pvs
Estenda o VG adicionando o novo PV a ele:
sudo vgextend vgname /dev/newdisk
Verifique o novo tamanho VG:
sudo vgs
Use
lsblk
para identificar o VE que precisa ser redimensionado:sudo lsblk
Estenda o tamanho do LV usando
-r
para aumentar o sistema de arquivos on-line: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 LVM tradicionais, a camada criptografada é criada no nível 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.
Estas são algumas das razões pelas quais LVM-on-crypt é 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. Aqui está 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 /etc/fstab
também a entrada do e /etc/crypttab
que você criou.
Siga estes passos para concluir a limpeza:
Desmonte o LV:
sudo umount /mountpoint
Feche a camada criptografada do volume:
sudo cryptsetup luksClose /dev/vgname/lvname
Eliminar o LV:
sudo lvremove /dev/vgname/lvname
Estenda um volume LVM tradicional redimensionando um PV existente
Em alguns cenários, suas limitações podem exigir que você redimensione um disco existente. Saiba como:
Identifique os seus discos encriptados:
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk -fs
Confira as informações do PV:
sudo pvs
Os resultados na imagem mostram que todo o espaço em todos os PVs é usado atualmente.
Confira as informações do VG:
sudo vgs sudo vgdisplay -v vgname
Verifique os tamanhos dos discos. Você pode usar
fdisk
ou listarlsblk
os tamanhos das unidades.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
Neste 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 Linux podem ser redimensionados sem Deslocalizar a VM, marque [Expandir discos rígidos virtuais em uma VM Linux](/azure/virtual-machines/linux/expand-disks? tabs=ubuntu#expand-an-azure-managed-disk) para verificar se seus 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"
Neste caso,
/dev/sdd
foi redimensionado de 5 G para 20 G.Verifique o tamanho atual do PV:
sudo pvdisplay /dev/resizeddisk
Mesmo que 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 para todos os discos que você deseja redimensionar.
Verifique as informações do VG.
sudo vgdisplay vgname
O VG tem agora espaço suficiente para ser alocado aos 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
Estenda um volume LVM-on-crypt adicionando um novo PV
Você também pode estender um volume LVM-on-crypt adicionando um novo PV. Esse método segue de perto 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 você pode criar novos VGs ou LVs.
Verifique o tamanho atual do seu VG:
sudo vgdisplay vgname
Verifique o tamanho do sistema de arquivos e do 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 /"
Eis outra forma 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, consulte Anexar um disco de dados a uma VM Linux.
O esquema de nomes do kernel aplica-se ao dispositivo recém-adicionado. Normalmente, é atribuída a uma nova unidade a próxima letra disponível. Neste caso, o disco adicionado é
sdd
.Verifique os discos para se certificar de que o novo disco foi adicionado:
sudo fdisk -l | egrep ^"Disk /"
sudo lsblk
Crie um sistema de arquivos sobre o disco adicionado recentemente. Combine o disco com os dispositivos vinculados no
/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 criado recentemente 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 unidades de dados.
Gorjeta
Para LVM-on-crypt, recomendamos que você use
EncryptFormatAll
o . Caso contrário, poderá ver uma encriptação dupla enquanto define discos adicionais.Para obter mais informações, consulte Configurar LVM e RAID em dispositivos criptografados.
Eis 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 terminar, você verá uma camada de criptografia no disco recém-adicionado:
sudo lsblk
Desmonte a camada criptografada do novo disco:
sudo umount ${newmount}
Confira as informações atuais do PV:
sudo pvs
Crie um PV sobre a camada criptografada do disco. Pegue o nome do dispositivo do comando anterior
lsblk
. Adicione um/dev/
mapeador na frente do nome do dispositivo para criar o PV:sudo pvcreate /dev/mapper/mapperdevicename
Você verá um aviso sobre como limpar a assinatura atual
ext4 fs
. Este aviso é esperado. Responda a esta 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 espaço livre do VG:
sudo vgdisplay vgname
Observe o aumento da
Total PE
contagem e doFree PE / Size
.Aumente o tamanho do LV e do sistema de ficheiros. Use a
-r
opção emlvextend
. Neste exemplo, estamos adicionando o espaço total disponível no VG ao LV fornecido.sudo lvextend -r -l +100%FREE /dev/vgname/lvname
Siga os próximos passos para verificar as alterações.
Verifique o tamanho do LV:
sudo lvdisplay /dev/vgname/lvname
Verifique o novo tamanho do sistema de arquivos:
df -h /mountpoint
Verifique se a camada LVM está na parte superior da camada criptografada:
sudo lsblk
Se você usar
lsblk
sem opções, então você vê os pontos de montagem várias vezes. O comando classifica por dispositivo e LVs.Você pode querer usar
lsblk -fs
o . Neste 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
Estenda um LVM em um volume de cripta redimensionando um PV existente
Identifique os seus discos encriptados:
sudo lsblk
sudo lsblk -s
Verifique as informações do seu PV:
sudo pvs
Verifique as suas informações VG:
sudo vgs
Verifique as suas informações de BT:
sudo lvs
Verifique a utilização do sistema de arquivos:
df -h /mountpoint(s)
Verifique os tamanhos dos seus 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, consulte a seção de redimensionamento de disco em Expandir discos rígidos virtuais em uma VM Linux.
Importante
Não é possível redimensionar discos virtuais enquanto a VM está em execução. Desaloque sua VM para esta etapa.
Verifique os tamanhos dos seus discos:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
Neste caso, ambos os discos foram redimensionados de 2 GB para 4 GB. Mas o tamanho do sistema de arquivos, LV e PV permanecem os mesmos.
Verifique o tamanho atual do PV. Lembre-se de que, no LVM-on-crypt, o PV é o
/dev/mapper/
dispositivo, não o/dev/sd*
dispositivo.sudo pvdisplay /dev/mapper/devicemappername
Redimensione o PV:
sudo pvresize /dev/mapper/devicemappername
Confira 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 para todos os discos que você deseja redimensionar.
Verifique as suas informações VG:
sudo vgdisplay vgname
O VG tem agora espaço suficiente para ser alocado aos LVs.
Confira as informações do BT:
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
-r
opção para também redimensionar o sistema de arquivos.Confira as informações do BT:
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.