My current setup is eight 18TB Exos drives, all purchased from Amazon's refurb shop, and running in a RAIDz2. I'm pulling about 450MB/s through various tests on a system that is in use. I've been running this about a year now and smartd hasn't detected any issues. I have almost never run new drives for my storage and the only time I've ever lost data was back when I was running mdadm and a power glitch broke the sync on multiple drives so the array couldn't be recovered. With zfs I have even run a RAID0 with five drives which saw multiple power incidents (before I got a redundant power supply) and I never once lost anything because of zfs' awesome error detection.
So yes, used drives can be just fine as long as you do your research on the drive models, have a very solid power supply, and are configured for hot-swapping so you can replace a drive when they fail. Of course that's solid advice even for brand new drives, but my last set of used drives (also from ebay) lasted about a decade before it was time to upgrade. Sure, individual drives took a dump over that time, this was another set of eight and I replaced three of them, but the data was always safe.
I got the same setup with eight 18TB Exos drives running in a RAIDz2 with an extra spare. Added to this though I got another vdev of eight 12 WD reds with another spare.
With this I can have 2 drives fail in a vdev at any point and still rebuild the pool. Though if more than 2 drives all fail at the same time the whole pool is gone.
But if that happens I have a second NAS offsite at my bro's place that I backup specific datasets. This is connected with tailscale and a zfs replication task.
I dunno, like I said zfs is pretty damn good at recovery. If the drives simply drop out but there's no hardware fault you should be able to clear the errors and bring the pool back up again. And the chances of two drives failing at the same time are pretty low. One of these days I do need to buy a spare to have on hand though. Maybe I'll even swap out one drive just to see how long it takes to rebuild.
"Tired of having two hands but only one dick? Get your second hand dicks here! Big or small. Black or white. Our state of the art facility has dicks of every shape and size! Call now to order today! The first 30 callers will receive a bonus Mystery Dick! CALL 1-800-2ND-DICK NOW!"
This sounds pretty great. If reliability can be mitigated via software, which it seems it can, then using old parts might even be more environmentally friendly than buying new ones. 🤔
If you keep an eye out for sales, you can get new drives for not much more than used. I got two Seagate Exos X20 20TB drives for around US$240 each on sale. One from Newegg and one from ServerPartDeals.
Regardless of if you buy new or used, buy the drives from multiple different suppliers as it makes it likely that they'll come from two different batches. You don't want an array where all drives came from the same batch since it increases risk (if there was a manufacturing issue with that batch, it's possible all drives will fail in the same way)
I would check out serverpartdeals as they’re pretty reputable. But for any used drive, I would make sure that you have a limited warranty or at least some sort of return policy. Once you get the drive, run badblocks on it, which will check for… bad blocks.
Regardless of where you get your secondhand drives do yourself a favor and make sure they package them correctly (antistatic bag, 1-2inches of bubblewrap and a cardboard box) by messaging for that. That's my biggest complain when I brought used drives. Think Serverpartdeals and goharddrive are the main eBay sellers with great reps but I sadly haven't done business with them so can't verify
Make sure there is a warranty/decent return policy and test obviously as others have said...but I've bought more 3 and 4TB HGST drives than I care to admit and have very rarely had any issues. At the price you can find even larger TB sizes for I personally consider it worth the gamble for certain use cases.
Like everyone else I'd be skeptical of used disks. I'd also go for a larger array than 4 drives to have less of it redundant. Like 6+2 or 5+3 instead of 2+2.