diff --git a/defaults/main.yml b/defaults/main.yml index 9fc8117..0d7f667 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,9 +1,9 @@ --- # defaults file for Solana RPC -solana_version: "v1.13.5" +solana_version: "v1.14.17" ledger_disk: "nvme1n1" setup_disks: "true" download_snapshot: "true" -ramdisk_size: 300 +# ramdisk_size: 300 swap_mb: "100000" diff --git a/files/validator.sh b/files/validator.sh index e8122f3..565167c 100644 --- a/files/validator.sh +++ b/files/validator.sh @@ -18,18 +18,17 @@ exec /mnt/solana/target/release/solana-validator \ --enable-cpi-and-log-storage \ --account-index program-id \ --enable-rpc-transaction-history \ ---no-duplicate-instance-check \ --wal-recovery-mode skip_any_corrupted_record \ --log /mnt/logs/solana-validator.log \ --accounts /mnt/solana-accounts \ --ledger /mnt/solana-ledger \ --snapshots /mnt/solana-snapshots \ ---no-snapshot-fetch \ --limit-ledger-size 400000000 \ --rpc-send-default-max-retries 3 \ --rpc-send-service-max-retries 3 \ --rpc-send-retry-ms 2000 \ --full-rpc-api \ +--enable-accounts-disk-index \ --accounts-index-memory-limit-mb 350 \ --account-index-exclude-key kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6 \ --tpu-use-quic \ diff --git a/tasks/disks.yaml b/tasks/disks.yaml index 4d0164a..88cb904 100644 --- a/tasks/disks.yaml +++ b/tasks/disks.yaml @@ -2,25 +2,45 @@ become: true become_user: root shell: df -h | grep mnt/solana-ledger - ignore_errors: yes + ignore_errors: true register: mount_mnt -- name: format disks with ext4 +- name: Get list of NVMe drives over 750GB that are not mounted + become: true + become_user: root + shell: > + lsblk -ln -o NAME,SIZE -d -b | grep nvme | awk '$2 > 750*1024*1024*1024 {print $1}' | + while read drive; do + if ! grep -qs "/dev/$drive " /proc/mounts; then + echo $drive + break + fi + done + register: ledger_disk_raw + when: mount_mnt.rc != 0 + +- name: Set ledger_disk variable + set_fact: + ledger_disk: "{{ ledger_disk_raw.stdout }}" + when: mount_mnt.rc != 0 + +- name: Format disks with ext4 become: true become_user: root shell: mkfs.ext4 /dev/{{ ledger_disk }} when: mount_mnt.rc != 0 -- name: mount disks for ledger +- name: Mount disks for ledger become: true become_user: root shell: mount /dev/{{ ledger_disk }} /mnt/solana-ledger && chown -R solana:solana /mnt/solana-ledger when: mount_mnt.rc != 0 -- name: add mounted disk to fstab +- name: Add mounted disk to fstab become: true become_user: root lineinfile: dest: /etc/fstab state: present line: "/dev/{{ ledger_disk }} /mnt/solana-ledger ext4 defaults 0 1" + when: mount_mnt.rc != 0 \ No newline at end of file