Skip to content

Instantly share code, notes, and snippets.

Geth Archive Node using Rocket Pool Docker Setup with lvmcache

Overview

The storage requirements for a geth archive node with a full sync from genesis are >10TB. The initial sync of the chain requires high IOPS that are usually provided by flash storage such as SSDs or NVMEs to process each block. As the archive node stores the entire state of the chain, the space requirements are drastically higher than a regularly-pruned full node.

For many users, having >10TB of SSD or NVME storage is not feasible. It is conceivable that the vast majority of state data is at rest on the node, and as such may benefit from a tiered cache approach where enough IOPS are provided for syncing, with a large HDD backend for ultimate data storage.

Method

@fmoledina
fmoledina / lightningd.service
Last active February 5, 2018 23:21 — forked from Stadicus/lightningd.service
systemd for c-lightning daemon
[Unit]
Description=C-Lightning daemon
Requires=bitcoind.service
Requires=getpubip.service
After=bitcoind.service
[Service]
# get var PUBIP from file
EnvironmentFile=/etc/pubip/pubip
@fmoledina
fmoledina / getpubip.timer
Created February 5, 2018 16:48
systemd timer for getpubip.service
[Unit]
Description=getpubip.sh: get public ip address from ipinfo.io
[Timer]
OnCalendar=hourly
[Install]
WantedBy=timers.target
@fmoledina
fmoledina / getpubip.service
Last active February 5, 2018 16:44 — forked from Stadicus/getpublicip.service
systemd for getpubip.sh
[Unit]
Description=getpubip.sh: get public ip address from ipinfo.io
After=network.target
[Service]
Type=oneshot
ExecStart=/opt/pubip/getpubip.sh
[Install]
WantedBy=multi-user.target
@fmoledina
fmoledina / getpubip.sh
Last active February 6, 2018 13:21 — forked from Stadicus/getpublicip.sh
Write public ip address into file every hour
#!/bin/bash
# getpubip.sh, use with systemd service and hourly timer
PUBIPADDR=$(curl v4.ifconfig.co)
echo "PUBIP_V4=$PUBIPADDR" > /etc/pubip/pubip
PUBIPADDR6=$(curl v6.ifconfig.co)
echo "PUBIP_V6=$PUBIPADDR6" | tee -a /etc/pubip/pubip
@fmoledina
fmoledina / unrarer.sh
Last active June 11, 2019 23:05 — forked from RobertDeRose/unrarer.sh
Transmission unrar script to handle Sonarr from prematurely moving files
#!/bin/bash
# The script could use more testing, but it works well for my needs
extract_rar() {
isRar=$(ls ./*.rar)
if [ -n "$isRar" ]; then
# Handle an edge case with some distributors
isPart01="$(ls ./*rar | grep -E part0*1.rar)"
if [ -n "$isPart01" ]; then
isRar=$isPart01
@fmoledina
fmoledina / snapRAID_helper.sh
Last active April 1, 2016 23:00 — forked from bfg100k/snapRAID_helper.sh
Bash helper script to help with the automation of routine snapRAID tasks. Add it as a cron job to automate the routine tasks of running sync and scrub. Script will optionally send you email of status and issues encountered during the run.
#!/bin/bash
#######################################################################
# This is a helper script that keeps snapraid parity info in sync with
# your data and optionally verifies the parity info. Here's how it works:
# 1) It first calls diff to figure out if the parity info is out of sync.
# 2) If parity info is out of sync, AND the number of deleted files exceed
# X (configurable), it triggers an alert email and stops. (In case of
# accidental deletions, you have the opportunity to recover them from
# the existing parity info)
# 3) If partiy info is out of sync, AND the number of deleted files exceed X