פריסת צומת Solana: הגדרה ואופטימיזציה של גישת RPC
למה הפעלת צומת Solana אינה טריוויאלית
בניסיון שלנו, נתקלנו במצבים שבהם לקוח רכש שרת העומד בדרישות המינימום הרשמיות, אך הצומת פיגר אחרי ה-tip תוך שבוע. Solana היא אחת מהבלוקצ'יינים התובעניים ביותר במשאבים: דרישות מערכת מינימליות אינן המלצות מקורבות אלא סף קשיח שמתחתיו הצומת פשוט לא יכול לעמוד בקצב הרשת ומתדרדר. בחירת דיסק שגויה, זיכרון RAM לא מספק, או חיסכון בערוץ הרשת מובילים לפיצולים קבועים ואובדן יציבות RPC. הגדרנו צמתים לפרויקטי DeFi המעבדים אלפי בקשות בשנייה ופיתחנו תצורה ששומרת על פיגור slot מתחת ל-10 slots. עם ניסיון של למעלה מ-5 שנים בתשתית Solana ו-50+ צמתים פרוסים, אנו מבטיחים פעולה אמינה. התצורה האופטימלית שלנו יכולה לחסוך עד 30% בעלויות חומרה בהשוואה לגישות של ניסוי וטעייה, מה שמתורגם לחיסכון שנתי של $3,000–$5,000 עבור צומת RPC טיפוסי. צרו קשר כדי לבחור את החומרה האופטימלית לעומס שלכם.
דרישות חומרה: מה באמת חשוב
דרישות הרשמיות של קרן Solana (מסמכי Solana) והמינימום בפועל בייצור שונים. מספרים מעשיים נכון לעכשיו:
| רכיב | מינימום (RPC) | מומלץ | Validator |
|---|---|---|---|
| CPU | 12 ליבות / 24 threads (AMD EPYC/Threadripper) | 16+ ליבות | 24+ ליבות |
| RAM | 256 GB DDR4 | 512 GB | 512 GB+ |
| אחסון מערכת הפעלה | 500 GB NVMe | 1 TB NVMe | 1 TB NVMe |
| אחסון חשבונות | 2 TB NVMe (PCIe 4.0) | 4 TB NVMe | 4 TB NVMe |
| אחסון Ledger | 8 TB+ NVMe/HDD | 12 TB NVMe | 12 TB+ NVMe |
| רשת | 1 Gbps | 10 Gbps | 10 Gbps |
דרישות RAM: Solana שומרת את מצב החשבונות בזיכרון (מסד נתונים של חשבונות). עם למעלה מ-1.8 מיליארד חשבונות ברשת, זה תופס מאות ג'יגה-בייט. צומת עם 128 GB RAM לא יפעל ביציבות.
דרישות NVMe: מהירות קלט/פלט היא קריטית. הצומת מעבד אלפי עסקאות בשנייה, כותב ל-ledger, ומגיב ל-RPC—כל זאת בו-זמנית. כוננים קשיחים סיבוביים עבור חשבונות/ledger אינם מקובלים: הם איטיים פי 50 בתפוקת גישה אקראית מ-NVMe. NVMe עם PCIe 4.0 מהיר פי 2 מ-PCIe 3.0 עבור עומסי עבודה של Solana.
בחירת תצורה אופטימלית עבור צומת RPC
אם אתם צריכים צומת RPC ללא הצבעה, אפשר לחסוך ב-CPU (12 ליבות מספיקות), אבל לא ב-RAM ובדיסקים. עבור RPC מסחרי המשרת עשרות אלפי בקשות, קחו 512 GB RAM ו-4 TB NVMe עם PCIe 4.0. רשת – בהחלט 10 Gbps, אחרת לקוחות יתלוננו על timeouts. התצורה הנכונה משתלמת בשל היעדר השבתות—דקת השבתה אחת יכולה לעלות $1,000 עבור פרויקט DeFi.
התקנה ותצורה
בצעו את השלבים הבאים כדי לפרוס את הצומת שלכם.
הכנת המערכת
# Ubuntu 22.04 LTS — рекомендуемая OS # Настройка sysctl для высокой нагрузки cat >> /etc/sysctl.conf << EOF net.core.rmem_max = 134217728 net.core.wmem_max = 134217728 net.core.rmem_default = 134217728 net.core.wmem_default = 134217728 net.core.optmem_max = 134217728 net.core.netdev_max_backlog = 65536 EOF sysctl -p # Лимиты для процесса solana-validator cat >> /etc/security/limits.conf << EOF solana soft nofile 1000000 solana hard nofile 1000000 solana soft memlock unlimited solana hard memlock unlimited EOF # Hugepages для улучшения производительности памяти echo 'vm.nr_hugepages = 131072' >> /etc/sysctl.conf התקנת Solana CLI
# Устанавливаем конкретную версию — не latest в production SOLANA_VERSION="v1.18.26" sh -c "$(curl -sSfL https://release.solana.com/${SOLANA_VERSION}/install)" export PATH="/home/solana/.local/share/solana/install/active_release/bin:$PATH" solana --version תצורת צומת RPC
# /home/solana/start-validator.sh #!/bin/bash exec solana-validator \ --identity /home/solana/validator-keypair.json \ --known-validator 7Np41oeYqpe1GAUzqNoFdJ5SAAQhphFp8s6XAXFCLRiE \ --known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \ --known-validator DE1bawNcRJB9rVm3buyMVDbezCfKkKa3aTEnDqeS89UB \ --only-known-rpc \ --rpc-port 8899 \ --private-rpc \ --dynamic-port-range 8000-8020 \ --entrypoint mainnet-beta.solana.com:8001 \ --entrypoint entrypoint2.mainnet.solana.com:8001 \ --entrypoint entrypoint3.mainnet.solana.com:8001 \ --expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \ --wal-recovery-mode skip_any_corrupted_record \ --ledger /mnt/ledger \ --accounts /mnt/accounts \ --snapshots /mnt/snapshots \ --log /home/solana/solana-validator.log \ --limit-ledger-size 50000000 \ --no-voting \ --enable-rpc-transaction-history \ --enable-extended-tx-metadata-storage \ --rpc-bind-address 0.0.0.0 דגלים מרכזיים:
-
# Ubuntu 22.04 LTS — рекомендуемая OS # Настройка sysctl для высокой нагрузки cat >> /etc/sysctl.conf << EOF net.core.rmem_max = 134217728 net.core.wmem_max = 134217728 net.core.rmem_default = 134217728 net.core.wmem_default = 134217728 net.core.optmem_max = 134217728 net.core.netdev_max_backlog = 65536 EOF sysctl -p # Лимиты для процесса solana-validator cat >> /etc/security/limits.conf << EOF solana soft nofile 1000000 solana hard nofile 1000000 solana soft memlock unlimited solana hard memlock unlimited EOF # Hugepages для улучшения производительности памяти echo 'vm.nr_hugepages = 131072' >> /etc/sysctl.conf— צומת RPC, לא validator (אין צורך ב-stake) -
# Устанавливаем конкретную версию — не latest в production SOLANA_VERSION="v1.18.26" sh -c "$(curl -sSfL https://release.solana.com/${SOLANA_VERSION}/install)" export PATH="/home/solana/.local/share/solana/install/active_release/bin:$PATH" solana --version— מגביל את גודל ה-ledger (~200 GB). ללא זה, ה-ledger גדל ללא הגבלה -
# /home/solana/start-validator.sh #!/bin/bash exec solana-validator \ --identity /home/solana/validator-keypair.json \ --known-validator 7Np41oeYqpe1GAUzqNoFdJ5SAAQhphFp8s6XAXFCLRiE \ --known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \ --known-validator DE1bawNcRJB9rVm3buyMVDbezCfKkKa3aTEnDqeS89UB \ --only-known-rpc \ --rpc-port 8899 \ --private-rpc \ --dynamic-port-range 8000-8020 \ --entrypoint mainnet-beta.solana.com:8001 \ --entrypoint entrypoint2.mainnet.solana.com:8001 \ --entrypoint entrypoint3.mainnet.solana.com:8001 \ --expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \ --wal-recovery-mode skip_any_corrupted_record \ --ledger /mnt/ledger \ --accounts /mnt/accounts \ --snapshots /mnt/snapshots \ --log /home/solana/solana-validator.log \ --limit-ledger-size 50000000 \ --no-voting \ --enable-rpc-transaction-history \ --enable-extended-tx-metadata-storage \ --rpc-bind-address 0.0.0.0— שמירת היסטוריית עסקאות (נדרש עבור--no-voting) -
--limit-ledger-size 50000000— validators מהימנים לסנכרון ראשוני. חובה לאבטחה, אחרת הצומת עלול לסנכרן לפיצול
השקה ראשונה – סנכרון Snapshot
סנכרון מ-genesis לוקח שבועות. השתמשו ב-snapshot — זה מהיר פי 10:
# Скачиваем последний snapshot с официальных источников # Список available snapshots: https://api.mainnet-beta.solana.com/ solana-validator \ --ledger /mnt/ledger \ download-latest-snapshot \ --snapshot-dir /mnt/snapshots \ --trusted-validators 7Np41oeYqpe1GAUzqNoFdJ5SAAQhphFp8s6XAXFCLRiE לאחר הורדת ה-snapshot (~100+ GB), הצומת מתחיל ומדביק את הפער ל-tip תוך מספר שעות.
ניטור צומת
# Статус ноды solana-validator --ledger /mnt/ledger monitor # Информация о здоровье curl -s http://localhost:8899 -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' | jq . # Отставание от tip (должно быть < 100 слотов в норме) solana catchup --our-localhost 8899 מדדים קריטיים: פיגור slot, slots שדולגו, שימוש בזיכרון (צריך להיות < 90% RAM), המתנת קלט/פלט. מדדים נפוצים כוללים לוחות זמנים של leader, שידורים חוזרים של turbine, ונגישות gossip.
Prometheus + Grafana: ה-solana-exporter מפרסם מדדים בפורמט Prometheus. לוחות מחוונים זמינים ב-Grafana Marketplace.
מדדים מרכזיים המעידים על בעיות
אם פיגור ה-slot עולה על 1000 slots ו-slots שדולגו גדלים, זה מאותת שהצומת לא יכול להתמודד עם העומס. בדקו את המתנת הקלט/פלט: אם > 30%, הדיסק הוא צוואר הבקבוק. כאשר ה-RAM עמוס לחלוטין במסד נתוני החשבונות – ניטרו התקרבות ל-90%. הגדירו התראות ב-Grafana עבור ספים אלה.
בעיות טיפוסיות
הצומת מפגר ולא יכול להדביק את הפער: בדרך כלל בעיית קלט/פלט – מסד נתוני החשבונות לא עומד בקצב. בדקו את --enable-rpc-transaction-history, אם await > 50 ms, אתם צריכים NVMe מהיר יותר.
ה-OOM killer הורג את התהליך: 256 GB RAM נמצא בגבול. פתרון: הוסיפו swap על NVMe (לא HDD), הגדירו getTransaction.
הצומת מתפצל: בדקו את --known-validator ו-# Скачиваем последний snapshot с официальных источников # Список available snapshots: https://api.mainnet-beta.solana.com/ solana-validator \ --ledger /mnt/ledger \ download-latest-snapshot \ --snapshot-dir /mnt/snapshots \ --trusted-validators 7Np41oeYqpe1GAUzqNoFdJ5SAAQhphFp8s6XAXFCLRiE . צומת ללא validators מהימנים פגיע להתקפות eclipse.
איך אנו מגדירים צומת Solana: שלבי עבודה
אנו מציעים פריסת צומת Solana במפתח מלא, מניתוח דרישות ועד מסירה.
| שלב | משך | מה אנו עושים |
|---|---|---|
| אנליטיקה | 1–2 ימים | דיון במשימות: RPC או validator, עומס צפוי, תקציב |
| עיצוב | יום אחד | בחירת חומרה, תצורת רשת, תוכנית ניטור |
| יישום | 2–3 ימים | הגדרת שרת: מערכת הפעלה, sysctl, hugepages, דיסקים; התקנת solana-validator, יצירת שירות systemd |
| בדיקות | יום אחד | בדיקת סנכרון, בדיקת עומס RPC, ניטור |
| פריסה | יום אחד | השקה בייצור, הגדרת התראות, מסירת תיעוד |
לוחות הזמנים הם משוערים: 4 עד 8 ימי עבודה. עלות: מ-$5,000 עבור הגדרת צומת RPC בסיסית (לא כולל חומרה). צרו קשר להערכת פרויקט.
תוצרים ומה כלול
- הכנת שרת: sysctl, limits, hugepages, חלוקת דיסקים
- התקנה ותצורה של
# Статус ноды solana-validator --ledger /mnt/ledger monitor # Информация о здоровье curl -s http://localhost:8899 -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' | jq . # Отставание от tip (должно быть < 100 слотов в норме) solana catchup --our-localhost 8899 - סנכרון ראשוני באמצעות snapshot
- הגדרת שירות systemd והפעלה מחדש אוטומטית
- ניטור: מדדי Prometheus, לוח מחוונים Grafana, התראות על פיגור slot
- תיעוד: מדריך תצורה ותחזוקה מפורט
- גישה: SSH ופרטי מנהל
- הדרכה: מפגש של שעתיים לצוות שלכם
- תמיכה: 30 יום לאחר ההשקה
הזמינו הגדרת צומת Solana — אנו מבטיחים גישת RPC יציבה עם מינימום השבתות. קבלו ייעוץ ממהנדס.







