7

I used old LGA775 machine for running geth node. Its mobo has older sata 3gb/s (benchmark showed that ssd bottlenecked there) and only 4gb of DDR2, with windows installed. So syncing is a real pain process, for a week or more..

Now I accidentally have another better candidate, based on LGA1366 with 6gb/s sata and 24gb of DDR3, and I am thinking of installing Debian. It will be installed on a separate drive, so whole SSD could be dedicaded for blockchain needs, with --datadir command. Even --keystore folder and binaries would sit on separate smaller ssd drive, alongside with Debian with ext4 filesystem.

But before performing that bold move, I have to decide filesystem for geth data directory, to make things work their best way right from the start. Possible candidates are:

  • FAT32 (easy to move along PCs with different OSes, or use as external HDD)
  • exFAT (dedicaded to flash-based storage, saves erase-cycles?)
  • Ext4 (native for linux, most stable and supported there)
  • ZFS (i heard that is used for enterprise storage, could be more manageable if i plan reconfigure HW, resize volumes, so on)

What to choose? Why? What tuning/parameters would you recommend? (since we all know that LevelDB stores enormous number of ~2100KB *.ldb files under chaindata directory)

1

I would recommend choosing between ext4 and xfs filesystems

Here is an example of Geth provisioning with some tweaks of ext4 filesystem assuming you are using a Label for the mount (you may change to UUID or device)

echo "--- Mount disk ---"
[ ! -d "/var/lib/geth" ] && /bin/mkdir /var/lib/geth/data
echo "LABEL=Ethereum /var/lib/geth/data  ext4 noatime,i_version,commit=30,inode_readahead_blks=64,errors=remount-ro 1 2" >> /etc/fstab
mount -a
chown ethereum.ethereum /var/lib/geth/data
3
  • what kind of improved performance do you get with these tweaks vs a vanilla EXT4?
    – jopasserat
    Dec 28 '20 at 17:46
  • 2
    I've run a test for the default ext4 configuration, compared it with the default XFS configuration, and found that XFS performs synchronization 10% faster. I don't believe that ext4 optimizations are able to gain the same improvement. Jan 5 at 22:22
  • What do you think of ZFS/freebsd? it has more optimized network stack, so even ping icmp responds a bit faster from bsd host, if i compare latest freebsd and ubuntu distros for example. So maybe its more suitable for network app? but it runs zfs. what do you think, is there a point of having bsd/zfs based setup for that?
    – xakepp35
    Oct 12 at 9:40
0

I ran an ETH node an an older Core i5 (2nd Gen). The main issue was running out of space, so having a volume manager was a big plus. I used debian and ext4. Never ran into I/O bottlenecks. I did run out of space though :)

So having the ability to add more disks and resize the volume across disks is a must, in my opintion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.