Base de connaissances

Mettre à niveau un plan avec le moins de temps d'arrêt possible

Les cœurs, la mémoire et le disque peuvent être augmentés pendant que l'instance fonctionne ; un changement de famille ne le peut pas. Ce que le système invité doit faire avant de remarquer le nouveau matériel.

Ce qui peut être fait à chaud

  • Cœurs : ajoutés à chaud, à condition que la taille cible tienne sur l'hôte actuel. C'est généralement le cas.
  • Mémoire : ajoutée à chaud, même condition.
  • NVMe supplémentaire : ajouté à chaud, toujours.
  • Disque racine : agrandi à chaud, le système de fichiers étant étendu sous vos yeux.

Ce qui ne peut pas l'être : réduire quoi que ce soit, et passer d'une famille à l'autre. Ryzen vers EPYC est une machine différente, c'est donc un déplacement plutôt qu'une mise à niveau — la même procédure que pour changer de site, moins le changement de ville.

Pour le faire

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" refuse le changement plutôt que de redémarrer lorsque cela ne peut pas être fait à chaud. Utilisez-le. Le défaut permissif est la raison pour laquelle des instances finissent par redémarrer à onze heures un vendredi.

Pour que l'invité s'en aperçoive

Les nouveaux cœurs arrivent hors ligne sur certains noyaux :

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

Rendez cela automatique pour que la prochaine mise à niveau ne nécessite rien de votre part :

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

Les blocs mémoire racontent la même histoire :

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

Ce réglage ne survit pas à un redémarrage. Ajoutez memhp_default_state=online à la ligne de commande du noyau pour le conserver.

Agrandir le système de fichiers racine

Le périphérique bloc devient plus grand. La partition et le système de fichiers ne suivent pas tout seuls :

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

Sur XFS, l'étape finale est xfs_growfs /. Les deux images contiennent déjà growpart. L'écart entre l'agrandissement de la partition et le redimensionnement du système de fichiers est la seconde où une coupure de courant serait gênante.

Les applications ne s'en aperçoivent pas non plus

La plupart des démons lisent le nombre de CPU une fois, au démarrage. Un serveur web qui a choisi quatre workers sur une instance à quatre cœurs tourne toujours avec quatre workers sur votre nouvelle instance à douze cœurs. Redémarrez les services, ou définissez explicitement le nombre de workers plutôt que de les laisser sur auto :

nproc
systemctl restart nginx

Tout ce qui détient un pool mémoire nécessite la même attention. Doubler la RAM ne fait rien du tout pour une base de données qui a toujours pour instruction d'utiliser quatre gigaoctets de tampon.

Ce que cela coûte

Au prorata à la seconde. La différence entre l'ancien plan et le nouveau, pour le reste du cycle, est déduite du solde de votre compte s'il y en a un, et facturée sinon. Les rétrogradations créditent le solde plutôt que de payer une chaîne, car renvoyer une petite quantité de pièces coûte plus en frais de réseau que ne vaut le crédit.

La date de renouvellement ne bouge pas. Une mise à niveau le vingtième renouvelle le vingtième, comme avant. Les tarifs actuels sont sur la page de tarification.

En cas d'échec

Si l'hôte ne peut pas prendre la nouvelle taille, l'API le dit et rien ne change. À partir de là, cela devient un déplacement : même disque, machine différente, quelques minutes d'indisponibilité, et le changement de plan appliqué à l'autre extrémité. Nous faisons cette partie ; vous recevez un e-mail avec la fenêtre.

Prêt quand vous l'êtes

Choisissez une ville. Choisissez une taille. Payez en crypto.

Aucun formulaire sur votre identité, pas d'attente d'approbation humaine, pas d'appel téléphonique pour vérifier quoi que ce soit. La facture est réglée et les identifiants arrivent dans votre boîte mail.