Expanda o disco do sistema ou de dados de um nó online, sem necessidade de reinicialização.
Se o nó executar o ContainerOS, consulte Redimensionar o disco do sistema de um nó ContainerOS online .
Como funciona
A expansão de disco de um nó envolve duas camadas:
Aumentar a capacidade do disco: redimensione o disco do Elastic Compute Service (ECS) no console do ECS.
Estender a partição e o sistema de arquivos: torne o novo espaço visível para o SO do nó.
Após concluir ambas as etapas, reinicie o kubelet para que o Kubernetes atualize a capacidade de ephemeral-storage do nó.
O procedimento varia ligeiramente entre discos do sistema e discos de dados:
|
Tipo de disco |
Extensão de partição necessária? |
Extensão de sistema de arquivos necessária? |
|
Disco do sistema (por exemplo, |
Sim — execute |
Sim — execute |
|
Disco de dados (por exemplo, |
Não — o disco não possui partição extra |
Sim — execute |
Pré-requisitos
Certifique-se do seguinte:
Ter acesso SSH ao nó.
Ler a visão geral de redimensionamento de disco sobre limites de capacidade e faturamento. O redimensionamento gera cobranças.
Identificar o disco de destino: disco do sistema ou disco de dados.
Expandir o disco do sistema
Verificar o estado atual do disco
Acesse o nó e verifique o uso atual do disco e o layout de partições.
-
Verifique o uso atual do sistema de arquivos:
df -hl -
Liste as partições do disco:
sudo fdisk -luSaída esperada:
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: FD47CD2F-8911-47B3-94A7-76CAE693CF78 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 41940991 41525248 19.8G Linux filesystemEstenda a partição do sistema de arquivos Linux (
/dev/vda3).Solução de problemas: se
/dev/vdanão estiver listado, verifique se o disco está anexado ao nó no console do ECS.
Aumentar a capacidade do disco no ECS
Acesse o console do ECS e redimensione o disco do sistema.
Use o redimensionamento online para evitar a reinicialização do nó.
Estender a partição e o sistema de arquivos
Após a conclusão do redimensionamento do disco no ECS, execute estes comandos no nó.
-
Estenda a partição (
/dev/vda, partição3):sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 3Solução de problemas: se o
growpartinformar que a partição já está no tamanho máximo, o redimensionamento do ECS pode não ter sido propagado. Aguarde alguns minutos e tente novamente. Se o problema persistir, verifique o novo tamanho no console do ECS. -
Estenda o sistema de arquivos:
sudo resize2fs /dev/vda3Solução de problemas: se o
resize2fsretornar um erro "bad magic number" ou "No such file or directory", confirme se o dispositivo da partição (/dev/vda3) corresponde à saída do fdisk acima. -
Verifique a nova capacidade:
df -hlSaída esperada (
/dev/vda3deve mostrar ~200 GiB neste exemplo):Filesystem Size Used Avail Use% Mounted on devtmpfs 3.7G 0 3.7G 0% /dev tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs 3.7G 20M 3.7G 1% /run tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/vda3 197G 4.5G 184G 3% / ... -
Reinicie o kubelet para atualizar a capacidade de armazenamento efêmero do nó:
systemctl restart kubeletImportanteReiniciar o kubelet pode afetar brevemente as cargas de trabalho no nó. Programe esta etapa fora dos horários de pico.
-
Confirme se o Kubernetes relata o novo tamanho de armazenamento efêmero (substitua
cn-qingdao.192.XX.XX.88pelo nome do seu nó):kubectl get node cn-qingdao.192.XX.XX.88 -o yaml | grep ephemeral-storageO valor de
ephemeral-storagedeve ser ~200 GiB.
Expandir o disco de dados
Verificar o estado atual do disco
Acesse o nó e verifique o layout atual das partições.
-
Liste as partições do disco:
sudo fdisk -luSaída esperada:
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: FD47CD2F-8911-47B3-94A7-76CAE693CF78 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 41940991 41525248 19.8G Linux filesystem Disk /dev/vdb: 45 GiB, 48318382080 bytes, 94371840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytesO disco de dados (
/dev/vdb) não possui partições. Estenda o sistema de arquivos diretamente, sem usargrowpart.Solução de problemas: se
/dev/vdbnão estiver listado, verifique se o disco de dados está anexado ao nó no console do ECS.
Aumentar a capacidade do disco no ECS
Acesse o console do ECS e redimensione o disco de dados para o tamanho desejado (por exemplo, 50 GiB).
Use o redimensionamento online para evitar a reinicialização do nó.
Estender o sistema de arquivos
Após a conclusão do redimensionamento do disco no ECS, execute estes comandos no nó.
-
Estenda o sistema de arquivos:
sudo resize2fs /dev/vdbSolução de problemas: se o
resize2fsretornar um erro sobre o tipo de sistema de arquivos, confirme se o disco de dados usa ext4. Caso utilize outro sistema de arquivos, use a ferramenta de redimensionamento correspondente. -
Reinicie o kubelet para atualizar a capacidade de armazenamento efêmero do nó:
systemctl restart kubeletImportanteReiniciar o kubelet pode afetar brevemente as cargas de trabalho no nó. Programe esta etapa fora dos horários de pico.
-
Verifique a nova capacidade:
df -hlSaída esperada (
/dev/vdbdeve mostrar ~50 GiB neste exemplo):Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 3.7G 0 3.7G 0% /dev tmpfs tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs tmpfs 3.7G 20M 3.7G 1% /run tmpfs tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/vda3 ext4 197G 4.5G 184G 3% / /dev/vda2 vfat 200M 5.8M 195M 3% /boot/efi /dev/vdb ext4 49G 2.7G 44G 6% /var/lib/container ...A entrada
/dev/vdbagora mostra ~50 GiB, confirmando a expansão bem-sucedida.
Próximos passos
Estender as partições e sistemas de arquivos de discos em uma instância Linux: orientações detalhadas, incluindo cenários avançados.