Solana Validation Manager – Advanced Manual
- Node requirements
- What does it do with your Validator Node exactly
- How to install Ansible
- How to configure Solana Validator Manager
- How to use
- Which functions are supported
- How can you support this project
- History
- Roadmap
Node requirements
- We have tested it only with Ubuntu 20.04, but every linux distro with apt and systemd should be supported.
- Support for other Linux-Distributives will be implemented soon.
- Check Solana Validator requirements
What does it do with your Validator Node exactly
Configure Ubuntu
that role configures your ubuntu node to be more performant and stable with validation
- Create ansible user
- Create solana user
- Create swap file
- Create ram disk for accounts db
- Set cpu governor to performance
- Configure firewall
Bootstrap Solana cli
that role installs or updates solana cli
Configure node monitoring
that role configures sending of validator and node metrics to our grafana dashboard
How to install Ansible
On macOS
brew update; brew install ansible
On Ubuntu
apt-get update; apt-get install ansible
On Windows
unfortunately ansible is not directly supported on Windows, we are working on a docker image which will directly provide a support for Solana Validator Manager, until that you can use ansible docker image on your own.
How to configure Solana Validator Manager
!only testnet configuration is supported now!
- clone git repository git clone …
- copy or rename inventory_example directory to directory named inventory
- add to your inventory/hosts.yaml
- validator name
- ip-address of your validator node
all:
children:
local:
vars:
become: false
ansible_connection: local
ansible_python_interpreter: ""
hosts:
localhost
remote:
vars:
ansible_user: root
children:
validator:
vars:
validator_name: <- HERE
# keybase_username: ""
# validator_homepage: ""
upload_validator_keys: False <- Set it to True if you want to upload your keys
# secrets_path: /home/solana/.secrets
# set_validator_info: True
# service_user: solana
# ledger_path: /home/solana/ledger
# lvm_enabled: False
# lvm_vg: vg00
# solana_validator_service: restarted <- Set it to stopped if you want to check your setup
# swap_file_size_gb: 64
# ramdisk_size_gb: 64
# cluster_environment: testnet
# cluster_rpc_address: https://api.testnet.solana.com
hosts:
0.0.0.0 <- HERE
in case you have already identity keys (the most of you will have at least a validator identity key)
- copy your validator identity key, if any, into .secrets//solana
- copy your vote account identity key, if any, into .secrets//solana
- set upload_validator_keys to True
How to use
from local machine
- make sure you have access to you validator node as a root user via ssh-key
- configure hosts.yaml
- start playbook
ansible-playbook install_validator.yaml -v
if you run an ubuntu server with more or less standard configuration than in few minutes your validator node should be up, and you can observe your metrics on our metrics dashboard
from Validator Node
coming soon!
Which functions are supported
Install Validator Node
ansible-playbook pb_install_validator.yaml -v
Update Solana Version
- bump solana version in group_vars/all.yaml
...
validator:
version: v1.6.7 <- set new version here
...
-
start ansible playbook
ansible-playbook pb_update_validator.yaml -v
Install or update Monitoring
- if you just want to use monitoring
- or want update monitoring library
How to install monitoring with ansible
ansible-playbook pb_install_monitoring.yaml -v
How to install monitoring manually
From server command line, user root, paste the whole command and run it:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/mfactory-lab/sv-manager/latest/install/install_monitoring.sh)”
Migrate your current setup to supported by sv-manager
How to migrate your setup semi-automatically
coming soon
How to migrate your setup manually
coming soon