Solana ตัวตรวจความถูกต้องของเครือข่าย - การลดความเร็วของ Zero Downtime
○ การ ลด ความ เสี่ยง
มัคคุเทศก์ ผู้ นี้ อธิบาย วิธี อพยพ คน หนึ่ง Solana ตัวตรวจสอบเครือข่ายไปยังเซิร์ฟเวอร์ใหม่โดยไม่มีเวลาลดลง
พรีครีชีต
แน่ใจว่า โหนดตรวจสอบต่อไปนี้ได้ถูกตั้งค่าไว้แล้ว 2 โหนดนี้:
- ** ตรวจสอบความถูกต้องของเครือข่าย (Source) ** (Source)
- ** เครือข่ายตรวจความถูกต้อง # (Destination)
○ ต้อง ตั้ง โหนด ทั้ง สอง แบบ โดย ใช้
slv v init คําสั่งโปรดตรวจสอบว่าคุณยังมีแม่ข่ายสํารองอยู่อยู่แล้ว หากคุณไม่มีแม่ข่ายสํารองอยู่ การดําเนินการในกระบวนการนี้อาจจะทําให้ตัวตรวจความถูกต้องของคุณหยุดทํางานได้ ทําให้ระบบทํางานล้มเหลว
โหนดทั้งคู่จะต้องปรับให้ตรงกันอย่างเต็มที่กับช่องล่าสุด (ตรวจสอบด้วย
solana catchup2; ช่องว่างต้องมีค่า 0)ในตัวอย่างนี้ โหนดตัวตรวจความถูกต้อง ถูกตั้งชื่อดังต่อไปนี้
จดหมายจากพระเจ้าmain-node- "การแบ่งเขต (ใหม่, ถึง) ชื่อ:
spare-node
○ โหนด ทั้ง สอง ต้อง มี การจัดเรียง ที่ เหมือน กัน ยก เว้น IP ที่อยู่ (
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 ที่อยู่ (
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: 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การย้ายโหนดตรวจสอบของคุณเสร็จสมบูรณ์แล้ว