Solana Testnet वैलिडेटर - ज़ीरो डाउनटाइम माइग्रेशन

🚀 ज़ीरो डाउनटाइम माइग्रेशन प्रक्रिया

यह गाइड बताती है कि किसी मौजूदा Solana testnet वैलिडेटर को बिना डाउनटाइम के नए सर्वर पर कैसे माइग्रेट करें।

पूर्व-आवश्यकताएँ

सुनिश्चित करें कि नीचे दिए गए दो वैलिडेटर नोड पहले से सेट अप हैं:
  1. सक्रिय Testnet वैलिडेटर नोड (स्रोत)
  2. नया Testnet वैलिडेटर नोड (गंतव्य)
⚠️ दोनों नोड्स को slv v init कमांड से सेट अप करना ज़रूरी है।
सुनिश्चित करें कि आपके पास पहले से एक स्पेयर सर्वर उपलब्ध है। अगर आपके पास स्पेयर सर्वर नहीं है, तो यह प्रक्रिया चलाने से आपका सक्रिय वैलिडेटर रुक सकता है, जिससे सिस्टम क्रैश हो सकता है।
दोनों नोड्स नवीनतम स्लॉट तक पूरी तरह सिंक होने चाहिए (solana catchup से जाँचें; स्लॉट का अंतर 0 होना चाहिए)।
इस उदाहरण में, वैलिडेटर नोड्स के नाम इस प्रकार हैं:
  • स्रोत (सक्रिय, From) का नाम: main-node
  • गंतव्य (नया, To) का नाम: spare-node
⚠️ IP पते (ansible_host) और नाम को छोड़कर, दोनों नोड्स का कॉन्फ़िगरेशन एक जैसा होना चाहिए।
दोनों नोड्स के लिए इस्तेमाल की जाने वाली सार्वजनिक कुंजी:
yaml
identity_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 › hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV

गंतव्य नोड को डिप्लॉय और सिंक करना

पहले गंतव्य नोड को डिप्लॉय करें:
bash
slv v deploy -n testnet -p spare-node
सत्यापित करें कि सिंक पूरा हो गया है और स्लॉट का अंतर 0 है।

स्रोत और गंतव्य नोड्स के कॉन्फ़िगरेशन सत्यापित करें

निम्न का उपयोग करके पुष्टि करें कि दोनों नोड्स के कॉन्फ़िगरेशन एक जैसे हैं:
bash
cat ~/.slv/inventory.testnet.validators.yml
⚠️ IP पते (ansible_host) और नाम को छोड़कर, दोनों नोड्स की सेटिंग्स एक जैसी होनी चाहिए।
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

वैलिडेटर नोड माइग्रेशन चलाना

नीचे दिए गए कमांड से नोड माइग्रेशन चलाएँ:

1. Solana नेटवर्क चुनें

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

2. स्रोत वैलिडेटर का नाम दर्ज करें

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

3. गंतव्य वैलिडेटर का नाम दर्ज करें

bash
? 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 Identity
आपका वैलिडेटर नोड माइग्रेशन अब पूरा हो गया है।