I found a workaround, that is to mount HDD to blocks folder and SSD to the index folder. (I found some people use a network folder for blocks folder but sometimes they failed cuz levelDB doesn’t go along with Samba.)
- Create additional partition on SSD
I tried to decrease one of 3 original partitions on SSD to create additional partition, but it leaded to fatal error to filesystem. I didn’t know how to fix it so I reinstalled Ubuntu.
During reinstall I made 4 partitions, but Ubuntu was not installed on SSD due to the Logical Volume Manager of former Ubuntu. I had to remove 3 original partitions, create 1 whole partition, format that partition, and then install new Ubuntu with 4 partitions. LVM forced me to use a whole disk so I gave up using them, and just installed Ubuntu without LVM.
/dev/sdc1 - BIOS boot
/dev/sdc2 - mounted at /
/dev/sdc3 - mounted at /boot
/dev/sdc4 - unmounted
-
Install Umbrel and Bitcoin, then stop them
curl -L https://umbrel.sh | bash
~/umbrel/scripts/app install bitcoin
~/umbrel/scripts/stop -
Mount HDD to blocks folder
mount /dev/sdb1 ~/umbrel/app-data/bitcoin/data/blocks -
Mount SSD to index folder
mount /dev/sdc4 ~/umbrel/app-data/bitcoin/data/blocks/index -
Edit /etc/fstab
echo “/dev/sdb1 ~/umbrel/app-data/bitcoin/data/bitcoin/blocks ext4 defaults 1 1” >> /etc/fstab
echo “dev/sdc4 ~/umbrel/app-data/bitcoin/data/bitcoin/blocks/index ext4 defaults 1 1” >> /etc/fstab -
It was a long journey for noob who uses Linux for the first time but I learned a lot through it. One hard lesson is just use one 1TB or 2TB SSD. I wish Umbrel support separating blocks directory from data directory at application level as Bitcoin core program does.