Validador Solana Testnet - Migração em tempo zero

Procedimento de Migração em Tempo Zero

Este guia explica como migrar um validador Solana testnet existente para um novo servidor sem tempo de inatividade.

Pré-requisitos

Assegure-se de que os seguintes dois nós validadores já estão configurados:
  1. Nó Validador da Testnet Activa (Fonte)
  2. Novo Nó de Validador da Testnet (Destino)
Ambos os nós devem ser configurados usando o slv v init Comando.
Certifique-se de que já tem um servidor disponível. Se não tiver um servidor sobressalente, a execução deste procedimento poderá interromper o seu validador activo, causando uma falha no sistema.
Ambos os nós devem ser totalmente sincronizados com o último slot (verificar com solana catchup; diferença de slot deve ser 0).
Neste exemplo, os nós validadores são nomeados da seguinte forma:
  • Fonte (Ativa, De) Nome: main-node
  • Destino (Novo, Pará) Nome: spare-node
Ambos os nós devem ter configurações idênticas, exceto para endereços IP (ansible_host) e nomes.
Chaves públicas usadas para ambos os nós:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV

Configurar o Novo Nó Sobressalente

Configurar o novo nó sobressalente executando:
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

Colocando e sincronizando o nó de destino

Implantar primeiro o nó de destino:
bash
slv v deploy -n testnet -p spare-node
Verificar a sincronização está completa e a diferença de slot é 0.

Verificar a Configuração dos Nós de Origem e Destino

Confirmar as configurações para ambos os nós são idênticas usando:
bash
cat ~/.slv/inventory.testnet.validators.yml
Ambos os nós devem ter configurações idênticas, exceto para o endereço IP (ansible_host) e nome.
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

Executando a Migração do Nó do Validador

Executar a migração de nós com os seguintes comandos:

1. Selecione Solana Network

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

2. Digite o nome do validador de código fonte

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

3. Digite o nome do validador do destino

bash
? To Validator Name › spare-node
Após a migração bem sucedida, você verá saída semelhante 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
Sua migração de nó validador está agora concluída.