validador de Solana Testnet - Zero Downtime Migration

🚀 Cero Procedimiento de Migración en tiempo de inactividad

Esta guía explica cómo migrar un validador de testnet Solana existente a un nuevo servidor sin tiempo de inactividad.

Prerrequisitos

Asegúrese de que los dos nodos validadores siguientes ya están establecidos:
  1. Nodo de validador de testamento activo (Fuente)
  2. Nuevo Validator de Testnet Nodo (Destinación)
Los dos nodos deben establecerse usando el slv v init Comando.
Asegúrese de que ya tiene un servidor de repuesto disponible. Si usted no tiene un servidor de repuesto, ejecutar este procedimiento podría detener su validador activo, causando un fallo del sistema.
Ambos nodos deben ser totalmente sincronizados con la última slot (verificar con solana catchup; la diferencia de slot debe ser 0).
En este ejemplo, los nodos validadores son nombrados como sigue:
  • Fuente (Activa, De) Nombre: main-node
  • Destino (Nuevo, A) Nombre: spare-node
NOVED Ambos nodos deben tener configuraciones idénticas, excepto las direcciones IP (ansible_host) y nombres.
Claves públicas utilizadas para ambos nodos:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV

Configuración del nuevo Nodo de Spare

Establecer el nuevo nodo de repuesto ejecutando:
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

Despliegue y sincronización del Nodo de Destino

Despliegue el nodo de destino primero:
bash
slv v deploy -n testnet -p spare-node
Verificar la sincronización es completa y la diferencia de slot es 0.

Verificar Configuración de Nodos Fuente y Destino

Las configuraciones de confirmación para ambos nodos son idénticas utilizando:
bash
cat ~/.slv/inventory.testnet.validators.yml
Los dos nodos deben tener configuraciones idénticas, excepto la dirección IP (ansible_host) y nombre.
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

Ejecutando la migración de Node Validator

Ejecute la migración de nodos con los siguientes comandos:

1. Select Solana Network

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

2. Introduce el nombre del validador fuente

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

3. Introduce el nombre del validador del destino

bash
? To Validator Name › spare-node
Tras una migración exitosa, verás salida similar a:
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
Su migración de nodos validador está ahora completa.