Base di conoscenza

Aggiorna un piano con il minor downtime possibile

Core, memoria e disco possono crescere mentre l'istanza è in esecuzione; un cambiamento di famiglia non può. Cosa deve fare il guest prima di notare il nuovo hardware.

Cosa si può fare a caldo

  • CPU: aggiunte a caldo, a condizione che la dimensione target rientri nell'host corrente. Di solito ci rientra.
  • RAM: aggiunta a caldo, stessa condizione.
  • NVMe extra: aggiunto a caldo, sempre.
  • Disco di root: espanso a caldo, con il filesystem esteso sotto i vostri piedi.

Cosa non si può: ridurre qualsiasi cosa e spostarsi tra famiglie. Da Ryzen a EPYC è una macchina diversa, quindi è uno spostamento più che un upgrade: la stessa procedura del cambio sede, senza il cambio di città.

Come si fa

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" rifiuta la modifica piuttosto che riavviare quando non può essere fatta a caldo. Usatelo. Il default permissivo è il motivo per cui le istanze finiscono per riavviarsi alle undici di venerdì.

Come far accorgere il guest

Nuove CPU arrivano offline su alcuni kernel:

lscpu | head
grep . /sys/devices/system/cpu/cpu*/online
echo 1 > /sys/devices/system/cpu/cpu8/online

Rendetelo automatico così il prossimo upgrade non richiede nulla da voi:

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 --reload

I blocchi di memoria raccontano la stessa storia:

free -h
echo online > /sys/devices/system/memory/auto_online_blocks

Quell'impostazione non sopravvive a un riavvio. Aggiungete memhp_default_state=online alla riga di comando del kernel per mantenerla.

Come espandere il filesystem di root

Il device a blocchi diventa più grande. La partizione e il filesystem non lo seguono da soli:

lsblk
growpart /dev/vda 1
resize2fs /dev/vda1

Su XFS il passo finale è xfs_growfs /. Entrambe le immagini contengono già growpart. Il divario tra l'espansione della partizione e il ridimensionamento del filesystem è quel secondo in cui un'interruzione di corrente sarebbe scomoda.

Anche le applicazioni non se ne accorgono

La maggior parte dei daemon legge il numero di CPU una volta, all'avvio. Un web server che ha scelto quattro worker su un'istanza a quattro core sta ancora eseguendo quattro worker sulla vostra nuova istanza a dodici core. Riavviate i servizi, oppure impostate i conteggi dei worker esplicitamente invece di lasciarli su auto:

nproc
systemctl restart nginx

Qualsiasi cosa che detiene un memory pool richiede la stessa attenzione. Raddoppiare la RAM non fa nulla per un database che ha ancora istruzioni di usare quattro gigabyte di buffer.

Quanto costa

Proporzionato al secondo. La differenza tra il vecchio piano e il nuovo, per il resto del ciclo, viene prelevata dal saldo del vostro account se c'è, altrimenti viene fatturata. I downgrade accreditano il saldo piuttosto che pagare su una chain, perché restituire una piccola quantità di coin costa più in fee di rete di quanto valga il credito.

La data di rinnovo non si sposta. Un upgrade il ventesimo rinnova il ventesimo, come prima. Le tariffe attuali sono nella pagina dei prezzi.

Quando fallisce

Se l'host non può accettare la nuova dimensione, l'API lo dice e nulla cambia. Da lì diventa uno spostamento: stesso disco, macchina diversa, qualche minuto di downtime e il cambio di piano applicato all'estremità opposta. Quella parte la facciamo noi; ricevete una email con la finestra.

Pronto quando lo sei

Scegli una città. Scegli una dimensione. Paga in criptovaluta.

Nessun modulo su chi sei, nessuna attesa per l'approvazione di una persona, nessuna chiamata per verificare nulla. La fattura viene saldata e le credenziali arrivano nella tua casella di posta.