Solana Testnet Validator - शून्य डाउनटाइम माइग्रेशन
🚀 शून्य डाउनटाइम माइग्रेशन प्रक्रिया
यह गाइड बताता है कि कैसे एक मौजूदा माइग्रेट करने के लिए Solana बिना किसी समय के एक नए सर्वर के लिए testnet सत्यापनकर्ता।
पूर्वापेक्षा
सुनिश्चित करें कि निम्नलिखित दो सत्यापनकर्ता नोड पहले से ही स्थापित हो चुके हैं:
- ** सक्रिय टेस्टनेट वैलिडेटर नोड* (स्रोत)
- ** नया टेस्टनेट वैलिडेटर नोड* (डेस्टिनेशन)
A Objection of the Objects of the Objects of the Objects of the Objects, the Objects of the Objects of the Objects.
slv v init आदेशसुनिश्चित करें कि आपके पास पहले से ही एक अतिरिक्त सर्वर उपलब्ध है। यदि आपके पास एक अतिरिक्त सर्वर नहीं है, तो इस प्रक्रिया को निष्पादित करने से आपके सक्रिय सत्यापनकर्ता को रोक सकता है, जिससे सिस्टम दुर्घटना हो सकती है।
दोनों नोड्स को नवीनतम स्लॉट में पूरी तरह से सिंक्रनाइज़ किया जाना चाहिए (के साथ सत्यापित करें)
solana catchup(s) स्लॉट अंतर 0 होना चाहिए।इस उदाहरण में, सत्यापनकर्ता नोड्स को निम्नानुसार नाम दिया गया है:
- ** स्रोत (सक्रिय, से) नाम*:
main-node - ** गंतव्य (न्यू, टू) नाम*:
spare-node
दोनों नोड्स में समान विन्यास होना चाहिए, सिवाय इसके कि इसके लिए IP (d)
ansible_host) और नाम।दोनों नोड्स के लिए इस्तेमाल की जाने वाली सार्वजनिक कुंजी:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLVidentity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLVनई स्पेयर नोड की स्थापना
निष्पादन द्वारा नए अतिरिक्त नोड को सेट करें:
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गंतव्य नोड को परिनियोजित और सिंक्रनाइज़ करना
पहले गंतव्य नोड को तैनात करें:
bash
slv v deploy -n testnet -p spare-nodeslv v deploy -n testnet -p spare-nodeसत्यापित सिंक्रनाइज़ेशन पूरा हो गया है और स्लॉट अंतर 0 है।
स्रोत और गंतव्य नोड्स के विन्यास को सत्यापित करें
दोनों नोड्स के लिए विन्यास की पुष्टि समान है:
bash
cat ~/.slv/inventory.testnet.validators.ymlcat ~/.slv/inventory.testnet.validators.ymlदोनों नोड्स में समान सेटिंग्स होनी चाहिए, सिवाय इसके कि इसके अलावा IP पता (a)
ansible_host(a) और नाम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: agaveएक्सक्यूटिंग वैलिडेटर नोड माइग्रेशन
निम्नलिखित आदेशों के साथ निष्पादित नोड माइग्रेशन:
1. चयन Solana नेटवर्क
bash
slv v switch
? Select Solana Network (testnet)
❯ testnet
mainnetslv v switch
? Select Solana Network (testnet)
❯ testnet
mainnet2. स्रोत वैलिडेटर नाम दर्ज करें
bash
✨ Switching Testnet Validator Identity...
? From Validator Name › main-node✨ Switching Testnet Validator Identity...
? From Validator Name › main-node3. डीस्टिनेशन वैलिडेटर नाम दर्ज करें
bash
? To Validator Name › spare-node? To Validator Name › spare-nodeसफल प्रवास के बाद, आप आउटपुट को इसी तरह देखेंगे:
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 Identityआपका सत्यापनकर्ता नोड माइग्रेशन अब पूरा हो गया है।