Solana Testnet Geçerlik - Zero Downtime Migration
Zero Downtime Migration Prosedürü
Bu kılavuz, mevcut bir varlığa nasıl göç edeceğini açıklıyor Solana Testnet, alt süre olmadan yeni bir sunucuya geçerli.
Önlemler Önlemler
Aşağıdaki iki geçerlici düğümleri zaten ayarlandığından emin olun:
- Active Testnet Geçerliator Node (Kaynak)
- Yeni Testnet Geçerlikatörü Node (Destination)
Her iki düğüm de kullanarak ayarlanmalıdır
slv v init Komut.Zaten mevcut bir yedek sunucuya sahip olduğunuzdan emin olun. Eğer bir yedek sunucuya sahip değilseniz, bu prosedür aktif geçerlicinizi durdurabilir, bir sistem kazasından kaynaklanan bir sistem kazasından emin olabilirsiniz.
Her iki düğüm de son slota tamamen senkronize edilmelidir (daha sonra da bunu yapmak).
solana catchup; slot farkı olmalıdır 0).Bu örnekte, geçerli olan düğümler aşağıdaki gibi adlandırılır:
- Kaynak (Active, From) Ad:
main-node - Destination (Yeni, To) Name:
spare-node
Her iki düğüm de aynı konfigürasyonlara sahip olmalıdır, hariç IP adresler ( adresler)
ansible_host(Ve isimleri)Her iki düğüm için kullanılan halk anahtarları:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLVidentity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLVYeni Yedek Node'yi kurmak
Yeni yedek düğümü yürütme ile kurmak:
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 › hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLVslv 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İşsizlik ve Hedefi Anlamak
Önce varış yeri işe alın:
bash
slv v deploy -n testnet -p spare-nodeslv v deploy -n testnet -p spare-nodesenkronizasyonu doğrulayın ve slot farkı 0.
Kaynak ve Hedefin Belirlenmesi
Her iki düğüm için yapılandırmalar aynı şekilde kullanılır:
bash
cat ~/.slv/inventory.testnet.validators.ymlcat ~/.slv/inventory.testnet.validators.ymlHer iki düğüm de aynı ayarları olmalıdır, çünkü hariç IP adresi ( adresi)
ansible_host() ve adı.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: agavetestnet_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: agaveGeçerlilikçi Node Migration
Aşağıdaki komutlarla göç etmeyi başaran:
1. seçin 1. Solana Ağ Ağı Ağı Ağı Ağı Ağı
bash
slv v switch
? Select Solana Network (testnet)
❯ testnet
mainnetslv v switch
? Select Solana Network (testnet)
❯ testnet
mainnet2. Source Validator Name
bash
✨ Switching Testnet Validator Identity...
? From Validator Name › main-node✨ Switching Testnet Validator Identity...
? From Validator Name › main-node3. Hedefe Girin Geçerlilikçi Name
bash
? To Validator Name › spare-node? To Validator Name › spare-nodeBaşarılı bir geçişte, çıktıyı benzer göreceksiniz:
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 IdentityPLAY 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 IdentityGeçerliciniz göç artık tamamlanmış.