mirror of
https://github.com/openoms/bitcoin-tutorials.git
synced 2025-12-21 22:04:20 +01:00
2.6 KiB
2.6 KiB
Snapshot and mount a cloned bitcoin datadir
Create the snapshot, clone and mount
# create snapshot of /mnt/hdd - fourdiskpool/hdd@hdd-snapshot
sudo zfs snap fourdiskpool/hdd@hdd-snapshot
# display snapshots
zfs list -t snap
# clone snapshot (fourdiskpool/hdd/hdd-snapshot-clone)
sudo zfs clone fourdiskpool/hdd@hdd-snapshot fourdiskpool/hdd/hdd-snapshot-clone
# see if mounted
zfs list
# delete lockfile
sudo rm /mnt/hdd/hdd-snapshot-clone/bitcoin/.lock
# delete bitcoin.conf
sudo rm /mnt/hdd/hdd-snapshot-clone/bitcoin/bitcoin.conf
sync an existing snapshot
# make sure the source bitcoind is stopped
# it is faster to just create a new snapshot
sudo -u bitcoin rsync -v -r /mnt/hdd/bitcoin/blocks/ /mnt/hdd/hdd-snapshot-clone/bitcoin/blocks/
sudo -u bitcoin rsync -v -r /mnt/hdd/bitcoin/chainstate/ /mnt/hdd/hdd-snapshot-clone/bitcoin/chainstate/
Start bitcoind with the cloned db to test
sudo -u bitcoin bitcoind --listen=0 --server=0 --datadir=/mnt/hdd/hdd-snapshot-clone/bitcoin
Remote bitcoin-qt
# to use the bitcoin-qt GUI use the password_B to log in with the bitcoin user (might need to permit it in the ssh settings)
ssh -X bitcoin@raspiblitz_ip
bitcoin-qt --listen=0 --server=0 --datadir=/mnt/hdd/hdd-snapshot-clone/bitcoin
Prepare a Raspiblitz SSD
# choose the disk to be prepared
lsblk
# !! careful here to choose the right disk !!
hdd=sdf
# create the filesystem and label
# sudo /home/admin/config.scripts/blitz.datadrive.sh format ext4 /dev/${hdd}
sudo parted -s /dev/${hdd} mklabel gpt
sudo parted -s /dev/${hdd} mkpart primary ext4 1024KiB 100%
sudo mkfs.ext4 -F -L BLOCKCHAIN /dev/${hdd}1
# mount
sudo mount /dev/${hdd}1 /media/usb
sudo mkdir /media/usb/bitcoin
sudo chown -R bitcoin:bitcoin /media/usb/bitcoin
## to delete an old chain
#cd /media/usb/bitcoin/
#sudo rm -r ./chainstate ./blocks ./indexes ./testnet3
# work in tmux
tmux
cd /mnt/hdd/hdd-snapshot-clone/bitcoin/
# use time to compare disks (see below)
time sudo -u bitcoin cp -rv ./chainstate ./blocks ./indexes ./testnet3 /media/usb/bitcoin/
# monitor disk load in a split pane (CTRL+B, ")
sudo iotop
# remove disk
sudo umount /media/usb
OFF
zfs list
# destroy the clone filesystem
sudo zfs destroy fourdiskpool/hdd/hdd-snapshot-clone
# destroy the snapshot
sudo zfs destroy fourdiskpool/hdd@hdd-snapshot
zfs list
Measurements
WD Blue 1TB
real 49m35.539s
user 0m8.089s
sys 15m20.593s
Samsung 870 QVO 1TB
real 113m42.488s
user 0m8.947s
sys 16m33.474s
Samsung 870 EVO 1TB
real 53m11.247s
user 0m9.899s
sys 17m36.942s