this post was submitted on 08 Apr 2024
180 points (93.7% liked)

Selfhosted

40006 readers
1126 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 24 points 7 months ago (5 children)

Oh no.

Unfortunately I have a lot of experience with this: attaching permanent array members via USB is a bad idea. OP, if it's not too late, and assuming you haven't already and decided to double down on yolo, I'd recommend reading about the downsides of this approach. It is easy to find relevant discussions (and catastrophes) in r/zfs.

Thunderbolt enclosures are a bit more expensive, but they won't periodically fuck up your shit just because.

[–] [email protected] 31 points 7 months ago

Thanks for the warning ⚠️🙏

This isn't my first rodeo with ZFS on USB. I've been running USB for a few years now. Recently I ran this particular box through a battery of tests and I'm reasonably confident that with my particular set of hardware it'll be fine. It passed everything I threw at it, once connected to a good port on my machine. But you're generally right and as you can see I discussed that in the testing thread, and I encountered some issues that I managed to solve. If you think I've missed something specific - let me know! 😊

[–] [email protected] 8 points 7 months ago (1 children)

Is it because USB doesn't expose proper UUIDs or something?

[–] [email protected] 14 points 7 months ago* (last edited 7 months ago) (1 children)

Bus issues usually. Having a disk (or 4) drop out of a ZFS filesystem regularly isn't a good time.

If you can find a combination of enclosure, driver/firmware and USB port that provides you with a reliable connection to the drive then USB is just another storage bus. It's generally not recommended because that combination (enclosure, chipset, firmware, driver, port) is so variable from situation to situation but if you know how to address the pitfalls it can usually work fine.

[–] [email protected] 6 points 7 months ago* (last edited 7 months ago) (1 children)

You want ASMedia ASM1351 (heatsinked) or ASM235CM on the device side 🥹

This box has 4x ASM235CM and from the testing I've conducted over the last week it seems rock solid, so long as it's not connected to the Ryzen's built-in USB controller. It's been flawless on the B350 chipset's USB controller.

[–] [email protected] 4 points 7 months ago (2 children)

so long as it's not connected to the Ryzen's built-in USB controller.

Could you elaborate? Do you happen to have any theories as to why?

I have a zen 3 chip and while I'm not planning anything like this, I'm just curious.

[–] [email protected] 3 points 7 months ago (1 children)

I don’t know, but I’d guess the buffered chipset controller has more stability during certain power state transitions.

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

I think I've seen this hypothesis too and it makes sense to me.

If I'm building a new AMD system today, I'd look for a board that exposes more of the chipset-provided USB ports. Otherwise I'd budget for a high quality 4-port PCIe USB controller, if I'm planning to rely a lot on USB on that system.

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

This article provides some context. Now I do have the latest firmware which should have these fixes but they don't seem to be foolproof. I've seen reports around the web that the firmware improves things but doesn't completely eliminate them.

If you've seen devices disconnecting and reconnecting on occasion, it could be it.

[–] [email protected] 4 points 7 months ago* (last edited 7 months ago) (2 children)

Been on USB enclosures using Linux software raid for 20 years and never lost a bit so far.

Didn't go cheap with USB jbod, and i have no idea if zfs is more sensitive to USB... But I don't use zfs either so don't know.

But again I have been using two jbods over USB:

  • 4 SSDS split on two RAID1s on USB3
  • 2 HDDs on RAID1 on USBC

All three raid are managed by Linux software raid stack.

The original one I think I started in the 2000's, then upgraded disks many times and slowly moving to ssds to lower heat production and power usage.

Keep them COOL that's important.

[–] [email protected] 3 points 7 months ago (1 children)

What an assertion - if you're not using ZFS, how do you know you've "never lost a bit so far"?

[–] [email protected] 2 points 7 months ago (1 children)

I go to my disks and count my bits every morning, the total is always there, never lost one!

[–] [email protected] 2 points 7 months ago (1 children)

You must be reasonably decent at counting!

[–] [email protected] 1 points 7 months ago (1 children)

Yeah, you know there are only 10 types of people in the world: those who can count in binary and the others...

[–] [email protected] 1 points 7 months ago

Found the bit counter

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

I've been on the USB train since 2019.

You're exactly right, you gotta get devices with good USB-to-SATA chipsets, and you gotta keep them cool.

I've been using a mix of WD Elements, WD MyBook and StarTech/Vantec enclosures (ASM1351). I've had to cool all the chipsets on WD because they like bolt the PCBs straight to the drive so it heats up from it.

From all my testing I've discovered that:

  • ASM1351 and ASM235CM are generally problem-free, but the former needs passive cooling if close to a disk. A small heatsink adhered with standard double-sided heat conductive tape is good enough.
  • Host controllers matter too. Intel is generally problem-free. So is VIA. AMD has some issues on the CPU side on some models which are still not fully solved.

I like this box in particular because it uses a very straightforward design. It's got 4x ASM235CM with cooling connected to a VIA hub. It's got a built-in power supply, fan, it even comes with good cables. It fixes a lot of the system variables to known good values. You're left with connecting it to a good USB host controller.

WD PCB on disk

[–] [email protected] 2 points 7 months ago (1 children)

I imagine if someone had to do it this way for whatever reason, Thunderbolt would be more reliable? Assuming it’s true Thunderbolt using a SATA bridge?

[–] [email protected] 2 points 7 months ago

Yes - and unless you treat each enclosure as its own failure domain, it will still be a compromise, but it's a lot better.