O que pode ser feito a quente
- Núcleos: adicionados ao vivo, desde que o tamanho desejado caiba no host atual. Normalmente cabe.
- Memória: adicionada ao vivo, mesma condição.
- NVMe extra: adicionado ao vivo, sempre.
- Disco raiz: ampliado ao vivo, com o filesystem estendido por baixo.
O que não pode: reduzir qualquer coisa e migrar entre famílias. Ryzen para EPYC é uma máquina diferente, então é uma migração em vez de um upgrade — o mesmo procedimento de mudar de site, sem a mudança de cidade.
Como fazer
curl -s -X POST https://paragonvps.com/api/v1/instances/<instance-id>/resize -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"plan":"r-12","mode":"hot"}'"mode":"hot" recusa a alteração em vez de reiniciar quando não pode ser feito ao vivo. Use isso. O padrão permissivo é como as instâncias acabam reiniciando às onze da noite de uma sexta-feira.
Fazendo o convidado perceber
Núcleos novos chegam offline em alguns kernels:
lscpu | head
grep . /sys/devices/system/cpu/cpu*/online
echo 1 > /sys/devices/system/cpu/cpu8/onlineTorne isso automático para que o próximo upgrade não exija nada de você:
cat > /etc/udev/rules.d/80-cpu-hotplug.rules <<EOF
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
EOF
udevadm control --reloadBlocos de memória contam a mesma história:
free -h
echo online > /sys/devices/system/memory/auto_online_blocksEssa configuração não sobrevive a uma reinicialização. Adicione memhp_default_state=online à linha de comando do kernel para manter isso.
Aumentando o filesystem raiz
O dispositivo de bloco fica maior. A partição e o filesystem não acompanham sozinhos:
lsblk
growpart /dev/vda 1
resize2fs /dev/vda1No XFS, o passo final é xfs_growfs /. Ambas as imagens já carregam growpart. A lacuna entre aumentar a partição e redimensionar o filesystem é o único segundo em que uma queda de energia seria inconveniente.
Aplicações também não percebem
A maioria dos daemons lê a contagem de CPUs uma vez, na inicialização. Um servidor web que escolheu quatro workers em uma instância de quatro núcleos ainda está rodando quatro workers na sua nova de doze núcleos. Reinicie os serviços ou defina contagens de workers explicitamente em vez de deixá-los em auto:
nproc
systemctl restart nginxQualquer coisa que segure um pool de memória precisa da mesma atenção. Dobrar a RAM não faz nada por um banco de dados ainda instruído a usar quatro gigabytes de buffer.
Quanto custa
Proporcional ao segundo. A diferença entre o plano antigo e o novo, pelo restante do ciclo, é deduzida do seu saldo, se houver, e faturada se não houver. Downgrades creditam o saldo em vez de pagar em uma rede, porque devolver uma pequena quantia de moeda custa mais em taxas de rede do que o crédito vale.
A data de renovação não muda. Um upgrade no dia 20 renova no dia 20, como antes. As taxas atuais estão na página de preços.
Quando falha
Se o host não suportar o novo tamanho, a API informa e nada muda. A partir daí, vira uma migração: mesmo disco, máquina diferente, alguns minutos de inatividade e a alteração de plano aplicada na outra ponta. Fazemos essa parte; você recebe um email com a janela.