Validador da Solana Mainnet - Migração em tempo zero

Procedimento de Migração em Tempo Zero

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

Pré-requisitos

Certifique-se de que os seguintes dois nós validadores já estão configurados:
  1. Não de Validador Mainnet Active (Fonte, De)
  2. Novo Não de Validador da Mainnet (Destino, Para)
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 comando; a 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 mainnet -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

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

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

1. Selecione Solana Network

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

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

bash
 Switching Mainnet 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á uma 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 mainnet_validators
 Successfully Switched Validator Identity
Sua migração de nó validador está agora concluída.