Solana Testnet Validator - Zero Downtime 마이그레이션
♨ Zero Downtime 마이그레이션 절차
이 가이드는 기존의 마이그레이션 방법을 설명합니다. Solana testnet validator는 가동 중단 없이 새로운 서버에.
관련 상품
다음 두 validator 노드를 이미 설정한다:
- Active Testnet Validator Node (출처)
- **새로운 Testnet Validator 노드 ** (Destination)
⚠️ 노드 모두 사용해야 합니다.
slv v init 명령.이미 예비 서버를 사용할 수 있는지 확인하십시오. 예비 서버를 가지고 있지 않으면이 절차를 실행하면 시스템 충돌을 유발하는 활성 검증기를 중단 할 수 있습니다.
노드 모두 최신 슬롯에 완전히 동기화되어야 합니다 (과 함께 확인
solana catchup; 구멍 다름은 0이어야 합니다.이 예에서 validator 노드는 다음과 같이 명명됩니다.
- 출처 (Active, From) 이름:
main-node - **Destination (새, 에) 이름 **:
spare-node
⚠️ 두 노드 모두 동일한 구성을 가지고 있어야 합니다. IP 주소 (
ansible_host)와 이름.노드 모두에 사용되는 공개 키:
yaml
identity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLVidentity_account: FgYddqZuWLWiHCxWGG3J7VdzD2TGcCzKEZTHWdeHSLV
vote_account: oY4zjHQuRE1MQYAnQmfrodoXukBkfGVfYWUZNrn7SLV
authority_account: hY9VpH6ahHLS4uhegd16cQ5wNaicejVtv2PxrzRySLV새로운 예비 노드 설정
executing에 의해 새로운 여분 노드를 설정:
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 주소 (
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: 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: agaveValidator Node 마이그레이션
다음 명령과 노드 마이그레이션을 실행:
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. 목적지 Validator 이름 입력
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 Identityvalidator 노드 마이그레이션이 완료되었습니다.