AWS Volumes Setup
The bitcoin-data
folder will contain the logs, blocks, UTXO set (stored in chainstate
) and various other files the SV Node needs to function. For mainnet this folder will get very big, around 350GB for the UTXO set and 12TB for the blocks as of January 2024. The UTXO set is used for lookups to validate transactions and should be stored on a high-performant SSD. Depending on your use case, the blocks can be stored on slower, cheaper HDD storage.
If setting up the node in AWS, the recommendation is to use an instance type with strong single threaded performance like r7i and mount 1 or more EBS volumes of sc1
type for the bitcoin-data/blocks
folder and use an EBS mounted io2
for the bitcoin-data
folder including the chainstate
.
For the blocks mount, it is recommended to use LVM to get around the AWS limitation of 16TB per volume, this will be needed as the blocks folder will continue to grow over time.
For io2
be mindful of the pricing: a 500GB disk with 3000 IOPS is $260 per month, a 500GB disk with 64000 IOPS is $3600 per month. 3000 IOPS should suffice, the main advantage io2
will bring is improved latency.
Installation
These commands assume the larger, slower storage is at /dev/nvme1n1
and the fast storage is at /dev/nvme2n1
Step 1: Install LVM2
Step 2: Prepare Physical Volume
Create LVM physical volumes the slower storage:
Step 3: Create a Volume Group
Create a volume group including the relevant devices:
Step 4: Format and Mount the Logical Volume
Format the cached logical volume and mount it:
Step 5: Format and Mount the SSD volume
Format the SSD volume and mount it:
Step 6: Create the symlinks
Step 7: Automount on Startup
Edit /etc/fstab
to automount the logical volume on startup:
Get the UUID:
Add to
/etc/fstab
(replace<your-UUID>
with the actual UUIDs):
Step 9: Testing the Configuration
Reboot your system and test the configuration:
After rebooting, verify the setup:
Last updated