Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis
Este artigo aborda a expansão de discos e discos de dados do sistema operacional (SO) para uma VM (máquina virtual) linux. Você pode adicionar discos de dados para fornecer mais espaço de armazenamento e também pode expandir um disco de dados existente. O tamanho do disco rígido virtual padrão para o sistema operacional normalmente é de 30 GB em uma VM Linux no Azure. Este artigo aborda a expansão de discos do sistema operacional ou discos de dados.
Esse disco de sistema operacional tem uma capacidade máxima de 4.095 GiB. No entanto, muitos sistemas operacionais são particionados com um registro mestre de inicialização (MBR) por padrão. O MBR limita o tamanho utilizável a 2 TiB. Se precisar de mais de 2 TiB, considere anexar discos de dados para armazenamento de dados. Se você precisar armazenar dados no disco do sistema operacional e exigir espaço extra, converta-os em uma TABELA de Partição GUID (GPT).
Aviso
Sempre verifique se o sistema de arquivos está em um estado íntegro e se o tipo de tabela de partição de disco (GPT ou MBR) pode dar suporte ao novo tamanho. Faça backup de seus dados antes de executar operações de expansão de disco. Para obter mais informações, consulte o Início rápido de Backup do Azure.
Identificar um objeto de disco de dados do Azure dentro do sistema operacional
Quando você expande um disco de dados que tem vários discos de dados na VM, pode ser difícil relacionar os LUNs (números de unidade lógica) do Azure aos dispositivos Linux. Se o disco do sistema operacional precisar de expansão, ele será claramente rotulado no portal do Azure como o disco do sistema operacional.
Comece identificando a relação entre a utilização do disco, o ponto de montagem e o dispositivo com o comandodf.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
Aqui você pode ver, por exemplo, que o /opt/db/data sistema de arquivos está quase cheio e está localizado na /dev/sdd1 partição. A saída de df mostra o caminho do dispositivo, se o disco estiver montado usando o caminho do dispositivo ou o UUID (preferencial) no fstab. Observe a coluna Tipo, que indica o formato do sistema de arquivos. O formato será importante mais tarde.
Agora localize o LUN que se correlaciona com /dev/sdd examinando o conteúdo de /dev/disk/azure/scsi1. A saída do comando a seguir ls mostra que o dispositivo conhecido como /dev/sdd dentro do sistema operacional Linux está localizado em LUN1 no portal do Azure.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
Expandir um disco gerenciado do Azure
Expandir sem tempo de inatividade
Você pode expandir seus discos gerenciados sem desalocar sua VM. A configuração do cache de host do disco não altera se você pode ou não expandir um disco de dados sem desalocar sua VM.
Este recurso tem as seguintes limitações.
Importante
Essa limitação não se aplica ao SSD Premium v2 ou ao Ultra Disks.
Se um HDD Standard, SSD Standard ou disco SSD Premium tiver 4 TiB ou menos, desaloque sua VM e desconecte o disco antes de expandi-lo além de 4 TiB. Se um desses tipos de disco já for maior que 4 TiB, você poderá expandi-lo sem desalocar a VM e desanexar o disco.
- Há suporte apenas para discos de dados.
- Não há suporte para discos compartilhados.
- Deve ser instalado e usar uma das seguintes opções:
- A CLI mais recente do Azure.
- O módulo mais recente do Azure PowerShell.
- O Portal do Azure.
- Um modelo do Azure Resource Manager com uma versão de API
2021-04-01ou mais recente.
- Não está disponível em algumas VMs clássicas. Use esse script para obter uma lista de produtos de VM clássicos que dão suporte à expansão sem tempo de inatividade.
Expandir com Discos Ultra e SSD Premium v2
A expansão de Discos Ultra e SSD Premium v2 sem tempo de inatividade tem as seguintes limitações adicionais:
- Você não pode expandir um disco enquanto uma cópia em segundo plano de dados também está ocorrendo nesse disco. Um exemplo é quando um disco está sendo reabastecido a partir de instantâneos.
Você pode expandir discos Ultra Disks e Premium SSD v2 anexados a VMs usando controladores NVMe sem tempo de inatividade em todas as regiões que dão suporte a qualquer um desses tipos de disco usando o Portal do Azure, a CLI do Azure ou o módulo do Azure PowerShell para fazer a alteração.
Aguarde até dez minutos para que o tamanho correto seja refletido nas VMs do Windows e do Linux. Para VMs do Linux, execute uma função de nova verificação do Linux. Para uma VM do Windows que não tem uma carga de trabalho, você deve executar uma função de rescan do Windows. Você pode escanear novamente imediatamente, mas se o tempo estiver dentro de 10 minutos, talvez seja necessário escanear outra vez para exibir o tamanho correto. Se uma nova verificação não funcionar corretamente, você poderá repetir a nova verificação ou reiniciar a VM para exibir o tamanho correto.
Expandir o disco gerenciado do Azure
Verifique se você tem o CLI do Azure mais recente do Azure instalada e está conectada a uma conta do Azure usando az login.
Este artigo requer uma VM existente no Azure com, pelo menos, um disco de dados anexado e preparado. Se você ainda não tem uma VM que possa ser usada, consulte Criar e preparar uma VM com discos de dados.
Nos exemplos a seguir, substitua os nomes de parâmetro de espaço reservado, como myResourceGroup e myVM , por seus próprios valores.
Importante
Se o disco atender aos requisitos em Expandir sem tempo de inatividade, você poderá ignorar as etapas 1 e 3.
Não há suporte para o encolhimento de um disco existente e pode resultar em perda de dados.
Depois de expandir os discos, expanda o volume no sistema operacional para aproveitar o disco maior.
Operações em discos rígidos virtuais não podem ser executadas com a VM em execução. Desaloque a VM com az vm deallocate. O exemplo a seguir desaloca a VM chamada myVM no grupo de recursos chamado myResourceGroup:
az vm deallocate --resource-group myResourceGroup --name myVMA VM deve ser desalocada para que o disco rígido virtual seja expandido. Parar a VM com
az vm stopnão libera os recursos do computador. Para liberar os recursos de computação, useaz vm deallocate.Veja uma lista de discos gerenciados em um grupo de recursos com az disk list. O exemplo a seguir mostra uma lista de discos gerenciados no grupo de recursos chamado myResourceGroup:
az disk list \ --resource-group myResourceGroup \ --query '[*].{Name:name,size:diskSizeGB,Tier:sku.tier}' \ --output tableExpanda o disco necessário com az disk update. O exemplo a seguir expande o disco gerenciado denominado myDataDisk para 200 GB:
az disk update \ --resource-group myResourceGroup \ --name myDataDisk \ --size-gb 200Quando você expande um disco gerenciado, o tamanho atualizado é arredondado para o tamanho de disco gerenciado mais próximo.
Inicie a VM com az vm start. O exemplo a seguir inicia a VM chamada myVM no grupo de recursos chamado myResourceGroup:
az vm start --resource-group myResourceGroup --name myVM
Expanda uma partição de disco e o sistema de arquivos
Você pode usar muitas ferramentas para executar o redimensionamento de partição. As ferramentas detalhadas no restante deste artigo são as mesmas que determinados processos automatizados usam, como cloud-init. Conforme descrito aqui, as ferramentas com os pacotes growpart e gdisk fornecem compatibilidade universal com discos GPT porque as versões mais antigas de algumas ferramentas, como por exemplo fdisk, não dão suporte a GPT.
Detectar uma alteração no tamanho do disco
Se você usou o procedimento mencionado anteriormente para expandir um disco de dados sem tempo de inatividade, o tamanho do disco relatado não será alterado até que o dispositivo seja verificado novamente. A nova verificação normalmente ocorre somente durante o processo de inicialização. Para chamar esta nova verificação sob demanda, use o procedimento a seguir. Ao usar os métodos neste artigo, observe que, neste exemplo, o disco de dados está atualmente /dev/sda e foi redimensionado de 256 GiB para 512 GiB.
Identifique o tamanho atualmente reconhecido na primeira linha da saída de
fdisk -l /dev/sda:sudo fdisk -l /dev/sdaDisk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 LinuxInsira um caractere
1no arquivo de novo exame para este dispositivo. Observe a referência aosdano exemplo. O identificador de disco será alterado se um dispositivo de disco diferente for redimensionado.echo 1 | sudo tee /sys/class/block/sda/device/rescanVerifique se o novo tamanho do disco agora é reconhecido.
sudo fdisk -l /dev/sdaDisk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
O restante deste artigo utiliza o disco do sistema operacional nos exemplos do procedimento para aumentar o tamanho de um volume no nível do sistema operacional. Se o disco expandido for um disco de dados, use as orientações anteriores para identificar o dispositivo do disco de dados. Siga estas instruções como uma diretriz. Substitua o dispositivo de disco de dados (por exemplo, /dev/sda), números de partição, nomes de volume, pontos de montagem e formatos de sistema de arquivos, conforme necessário.
Considere todas as diretrizes de sistemas operacionais Linux como genéricas e que elas podem se aplicar a qualquer distribuição, mas normalmente seguem as convenções do editor do marketplace nomeado. Consulte a documentação do Red Hat para obter os requisitos do pacote em qualquer distribuição com base no Red Hat ou que declara compatibilidade com o Red Hat.
Aumentar o tamanho do disco do sistema operacional
As instruções a seguir se aplicam a distribuições Linux endossadas.
Antes de continuar, faça uma cópia de backup completa da VM ou, no mínimo, tire um instantâneo do disco do sistema operacional.
No Ubuntu 16.x e mais recente, a partição raiz do disco do sistema operacional e dos sistemas de arquivos é expandida automaticamente para usar todo o espaço contíguo gratuito no disco raiz por cloud-init. Uma pequena quantidade de espaço livre deve estar disponível para a operação de redimensionamento. Nesse caso, a sequência é:
- Aumente o tamanho do disco do sistema operacional conforme descrito anteriormente.
- Reinicie a VM e acesse a VM usando a conta de usuário raiz .
- Verifique se o disco do sistema operacional agora exibe um tamanho maior do sistema de arquivos.
Conforme mostrado no exemplo a seguir, o disco do sistema operacional foi redimensionado do portal para 100 GB. O sistema de arquivos /dev/sda1 montado no / agora exibe 97 GB.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
Expansão sem tempo de inatividade para máquina virtual clássica com suporte a SKU
Se você estiver usando uma SKU de VM clássica, talvez ela não dê suporte à expansão de discos sem tempo de inatividade.
Use o seguinte script do PowerShell para determinar com quais SKUs de VM ele está disponível:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}