Solana Testnet Validator - Migration ohne Ausfallzeit

🚀 Ablauf der Migration ohne Ausfallzeit

Dieser Leitfaden erklärt, wie Sie einen bestehenden Solana-Testnet-Validator ohne Ausfallzeit auf einen neuen Server migrieren.

Voraussetzungen

Stellen Sie sicher, dass die folgenden zwei Validator-Knoten bereits eingerichtet sind:
  1. Aktiver Testnet-Validator-Knoten (Quelle)
  2. Neuer Testnet-Validator-Knoten (Ziel)
⚠️ Beide Knoten müssen mit dem Befehl slv v init eingerichtet sein.
Stellen Sie sicher, dass bereits ein Ersatzserver verfügbar ist. Wenn Sie keinen Ersatzserver haben, könnte die Ausführung dieses Verfahrens Ihren aktiven Validator anhalten und einen Systemabsturz verursachen.
Beide Knoten müssen vollständig auf den neuesten Slot synchronisiert sein (prüfen Sie dies mit solana catchup; die Slot-Differenz muss 0 sein).
In diesem Beispiel heißen die Validator-Knoten wie folgt:
  • Name der Quelle (aktiv, „From“): main-node
  • Name des Ziels (neu, „To“): spare-node
⚠️ Beide Knoten müssen bis auf die IP-Adressen (ansible_host) und die Namen identische Konfigurationen haben.
Öffentliche Schlüssel, die für beide Knoten verwendet werden:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV

Neuen Ersatzknoten einrichten

Richten Sie den neuen Ersatzknoten mit folgendem Befehl ein:
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

Zielknoten bereitstellen und synchronisieren

Stellen Sie zuerst den Zielknoten bereit:
bash
slv v deploy -n testnet -p spare-node
Prüfen Sie, ob die Synchronisierung abgeschlossen ist und die Slot-Differenz 0 beträgt.

Konfiguration von Quell- und Zielknoten prüfen

Prüfen Sie mit folgendem Befehl, ob die Konfigurationen beider Knoten identisch sind:
bash
cat ~/.slv/inventory.testnet.validators.yml
⚠️ Beide Knoten müssen bis auf die IP-Adresse (ansible_host) und den Namen identische Einstellungen haben.
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

Migration des Validator-Knotens ausführen

Führen Sie die Knotenmigration mit den folgenden Befehlen aus:

1. Solana-Netzwerk auswählen

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

2. Namen des Quell-Validators eingeben

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

3. Namen des Ziel-Validators eingeben

bash
? To Validator Name › spare-node
Nach erfolgreicher Migration sehen Sie eine Ausgabe ähnlich der folgenden:
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
Die Migration Ihres Validator-Knotens ist jetzt abgeschlossen.