Skip to content

Instantly share code, notes, and snippets.

@victorelec14
Forked from yorickdowne/HallOfBlame.md
Created September 17, 2022 08:37
Show Gist options
  • Save victorelec14/5f3bfdc8dbd42fc42c429a6666d5af34 to your computer and use it in GitHub Desktop.
Save victorelec14/5f3bfdc8dbd42fc42c429a6666d5af34 to your computer and use it in GitHub Desktop.
Great and less great SSDs for Ethereum nodes

Overview

Syncing an Ethereum node is largely reliant on IOPS, I/O Per Second. Budget SSDs will struggle to an extent, and some won't be able to sync at all.

This document aims to snapshot some known good and known bad models.

For size, 2TB come recommended as of mid-2022. 1TB can work for now but is getting tight.

High-level, QLC and DRAMless are far slower than "mainstream" SSDs.

IOPS wise, Erigon uses the least by far, then Geth, then Besu, then Nethermind in ascending order of IOPS requirements.

Other than a slow SSD, these are things that can slow IOPS down:

  • Heat. Check with smartctl -x; the SSD should be below 50C so it does not throttle.
  • TRIM not being allowed. This can happen with some hardware RAID controllers, as well as on macOS with non-Apple SSDs

The Good

"Mainstream" models that can sync mainnet Geth in a reasonable amount of time. Use M.2 NVMe if your machine supports it.

Hardware

M.2 NVMe

  • SK Hynix P31 Gold
  • Mushkin Redline Vortex
  • Mushkin Pilot-E
  • WD Black SN750 (but not SN750 SE)
  • HP EX950
  • AData XPG Gammix S50 Lite
  • WD Red SN700
  • Samsung 970 EVO Plus 2TB, pre-rework (firmware 2B2QEXM7)

2.5" SATA

  • WD Blue 3D NAND SATA
  • Crucial MX500 SATA
  • Samsung 870 EVO SATA

Honorable Pi4 mention:

  • Samsung T5 USB - works but is slow, avoid if at all possible and go for M.2 NVMe instead, with Rock5 B or CM4. To clarify: If you stay with Pi4, then T5 USB or USB M.2 NVMe adapter should roughly perform the same. Choose either. Maybe consider going for NVMe and a USB adapter so you can upgrade to a Rock5 B in future.

Performance NVMe will of course also work, like SK Hynix P41 Platinum, Sabrent Rocket 4 Plus, WD Black SN850(X), Samsung 980 Pro, Kingston KC2000, ADATA XPG Gammix S70, &c. Likewise, data center SSD drives will work.

Cloud

  • Netcup RS Servers / VPS Servers. RS is faster; VPS reportedly can sync Geth but not Nethermind.
  • AWS gp3 w/ 10k IOPS provisioned and an m6i/a.xlarge
  • Any baremetal/dedicated server service
  • Contabo NVMe - fast enough but not enough space. 800 GiB is not sufficient.

The Bad

These models are reportedly too slow to sync mainnet Geth. If you have one of these, try Erigon.

Hardware

  • WD Green SN350
  • Kingston NV1 (probably QLC and DRAMless and thus too slow on 2TB, but could be "anything" as Kingston do not guarantee specific components)
  • Anything both QLC and DRAMless will likely not be able to sync at all or not be able to consistently keep up with "chain head"
  • Crucial BX500 SATA, HP S650 SATA, probably most SATA budget drives
  • Samsung T7 USB, even with current firmware

Cloud

  • Contabo SSD

The Ugly

"Budget" models that can sync mainnet Geth, if slowly

Hardware

  • Samsung 970 EVO Plus 2TB, post-rework (firmware 3B2QEXM7 or 4B2QEXM7)
  • Inland Professional 3D NAND, QLC
  • Seagata Barracuda Q5, QLC
  • Samsung 870 QVO SATA, QLC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment