Validateur de testnet Solana - Migration zéro temps d'arrêt

Procédure de migration du temps d'arrêt zéro

Ce guide explique comment migrer un validateur Solana testnet existant vers un nouveau serveur sans temps d'arrêt.

Préalables

Assurez-vous que les deux nœuds de validation suivants sont déjà configurés:
  1. Œud actif de validation du testnet (Source)
  2. Nouveau principe de validation du testnet (destination)
Les deux nœuds doivent être configurés en utilisant le slv v init commande.
Assurez-vous d'avoir déjà un serveur de rechange disponible. Si vous n'avez pas de serveur de secours, l'exécution de cette procédure pourrait arrêter votre validateur actif, provoquant un accident du système.
Les deux nœuds doivent être entièrement synchronisés à la dernière slot (vérifier avec solana catchup; différence de slot doit être 0).
Dans cet exemple, les nœuds de validation sont nommés comme suit:
  • Source (active, de) Nom: main-node
  • Nom de destination (nouveau, à): spare-node
Les deux nœuds doivent avoir des configurations identiques, sauf pour les adresses IP (ansible_host) et les noms.
Clés publiques utilisées pour les deux nœuds:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV

Configuration du nouveau nœud de rechange

Configurez le nouveau nœud de secours en exécutant:
bash
slv v init
.
.
? Do you want to create a new identity key now? (Y/n) › No
? Please Enter Your Identity Public Key › FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
? Enter Inventory Name (FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV) › epics-spare-node
? Do you want to create a new vote account key now? (Y/n) › No
? Please Enter Your Vote Account Public Key › oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
? Please Enter Your Vote Account's Authority Key › hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV

Déployer et synchroniser le nœud de destination

Déployez le nœud de destination d'abord:
bash
slv v deploy -n testnet -p spare-node
Vérifier la synchronisation est complète et la différence de slot est 0.

Vérifier la configuration des nœuds source et destination

Confirmer que les configurations des deux nœuds sont identiques en utilisant:
bash
cat ~/.slv/inventory.testnet.validators.yml
Les deux nœuds doivent avoir des paramètres identiques, sauf pour l'adresse IP (ansible_host) et nom.
yaml
testnet_validators:
  hosts:
    main-node:
      name: main-node
      ansible_host: XXX.XXX.XXX.XXX
      ansible_user: solv
      ansible_ssh_private_key_file: ~/.ssh/id_rsa
      identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
      vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
      authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV
      validator_type: agave
    spare-node:
      name: spare-node
      ansible_host: YYY.YYY.YYY.YYY
      ansible_user: solv
      ansible_ssh_private_key_file: ~/.ssh/id_rsa
      identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
      vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
      authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV
      validator_type: agave

Exécuter la migration des nœuds de validation

Exécuter la migration des nœuds avec les commandes suivantes:

1. Sélectionnez le réseau Solana

bash
slv v switch
? Select Solana Network (testnet)
 testnet
  mainnet

2. Entrez le nom du validateur source

bash
 Switching Testnet Validator Identity...
? From Validator Name › main-node

3. Entrez le nom du validateur de destination

bash
? To Validator Name › spare-node
Lors d'une migration réussie, vous verrez une sortie similaire à:
bash
PLAY RECAP ********************************************************************
main-node : ok=3 changed=1 unreachable=0 failed=0 skipped=2 rescued=0 ignored=0
spare-node : ok=4 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0

Successfully swapped hosts spare-node and main-node in testnet_validators
 Successfully Switched Validator Identity
Votre migration des nœuds de validation est maintenant terminée.