this post was submitted on 25 May 2024
42 points (95.7% liked)

Selfhosted

39964 readers
601 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
 

I have an 11th gen Framework mainboard which I would like to repurpose as a server. Unfortunately, (unless I do some super janky stuff) I can only connect 1 drive to it over M.2 and any additional ones must be over USB.

I am thinking of just using some portable hard drives and plugging them in over USB. I plan to RAID1 them and use them as boot drives and data storage, and use the M.2 slot for something unrelated.

In your experiences, is USB reliable enough nowadays to run a RAID array for a server like this? If it is, does it depend on the specific drive used?

all 40 comments
sorted by: hot top controversial new old
[–] [email protected] 20 points 5 months ago* (last edited 5 months ago)

Well, nothing is reliable over USB type A. If you don't want to DIY you can get a USB JBOD with type-c like this one or that one or this cheaper one. They'll get the job done for a price. :)

However, there are easy ways to get reliable SATA ports from m2 slots that your framework has. NVME to 6 SATA ports: https://www.aliexpress.com/item/1005004263885851.html

To power the disks you can use ANY standard ATX power supply (get something brand-gold second hand for 20$). To make sure the PSU stays ON, just plug a wire between the green and any black wire.

Another option for power is to get a cheap 12V power supply and a step down DC/DC to provide 5V. If you don't have it a SATA cable like this is helpful. Simply cut the white plug and attach the red cable (5v) to the output of the DC/DC and the yellow one (12V) directly to the power supply.

There's also these dual output power supplies that you can regulate to 12v+5v but frankly I would just go for the option above as it will be safer.

Make sure you check every voltage and polarity before plugging anything into your power supply!!

[–] [email protected] 20 points 5 months ago (2 children)

In my experience, noooooo.

I've had too many momentary disconnects with USB devices to trust that on a 24/7 server.

An early server I built had a large USB backup drive for a RAID5 array and every month there was usually something that went wrong.

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

I've been doing USB with raid on several servers for 10 years. No random disconnects.

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

Because I have a total of 28 drives and it works really well and is flexible.

12 of them are in a Synology though

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

Sata extension cards aren't expensive you should know.

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

Agreed. You’re at the mercy of your USB controllers as well as southbridge in that case.

You’re adding more things that can go wrong.

Generally HBA/RAID cards are usually built for enterprise rather than consumer so they’re usually more reliable as well.

[–] [email protected] 9 points 5 months ago

Today's CPUs usually expose some USB connections directly. Ryzen 7000 desktop CPUs expose 4 USB 3.2 Gen 2 directly on their on-package I/O die for example. So if you connect your USB drives directly to the ports your mainboard connects directly to the CPU, the chipset ("southbridge") and any third-party USB controllers are out of the equation.

This is just information, I'm not advising to use USB for fixed storage.

[–] [email protected] 14 points 5 months ago

I do not recommend it. I ran two USB hard drives for over a year in BTRFS RAID1, and I had millions of errors repaired every month when I scrubbed it.

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

There should be an m.2 port for the wifi chip,you can buy sata expansion cards there, sthg like this:

Search for "m.2 key e sata". Use wired net on a usb dongle, if it doesn't have an ethernet port

[–] [email protected] 3 points 5 months ago* (last edited 5 months ago) (2 children)

Any way to power the drives if you don't have any more free power cables? Just have to buy a new PSU?

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

You can get splitters for power cables.

[–] [email protected] 4 points 5 months ago* (last edited 5 months ago) (1 children)

Friendly reminder: Molex to SATA, Lose all of your data

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

Thanks, bought one!

[–] [email protected] 4 points 5 months ago

You can find an external SATA power supply

[–] [email protected] 8 points 5 months ago

I’ve been running some external drives on my server for about a year now. In my experience, hard drives with an external power supply suffer less from random disconnects. The specific PC also makes quite a large difference in reliability. My server is just a regular desktop and has very little problem staying connected and powering my 3 external drives. My seedbox is an old laptop, and has been having almost constant problems with random disconnects and power issues. Maybe test how well your framework does with some external drives before committing to the plan?

[–] [email protected] 6 points 5 months ago* (last edited 5 months ago) (2 children)

I plan to RAID1 them and use them as boot drives

This will not work unless the mainboard is handling the RAID control in firmware. If you are doing software RAID then the OS must boot before the array can be accessed.

If you just want to set up a NAS, you can get a used PowerEdge tower for very little money, and it will work a lot better than what you have planned.

[–] [email protected] 6 points 5 months ago

This isn't true. You can boot from raid without issue.

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

In the past I have used Proxmox with ZFS raid on a basic mini PC. With ZFS raid it syncs everything except /boot. Proxmox has a tool called "proxmox-boot-tool-refresh" which will syncs /boot between drives. ZFS kernel module can be loaded in the initramfs so it will boot fine, even if missing a drive.

For this project I do not plan to use ZFS, but AFAIK software raid is now standard. Here is a popular video from Level1Techs talking about the flaws of hardware RAID: https://youtu.be/l55GfAwa8RI

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

Here is an alternative Piped link(s):

https://piped.video/l55GfAwa8RI

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] [email protected] 5 points 5 months ago

The big factor is the chip make in the USB enclosure/adapter. Realtek is most reliable, followed by Asmedia. JMicron is garbage (will get hot and drop connection).

What's your goal by using RAID1? Do you really need redundancy — keep the system alive if the main drive good down?

If you only need backup then you don't need RAID, and that should fare much better — just take an incremental snapshot to the USB drive periodically and let it sleep the rest of the time.

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

You should probably only do this if you’re using an enclosure that connects all the disks over a single cable. That way if it gets unplugged or otherwise disconnected, all the disks get disconnected, and they remain in sync. Otherwise, get very familiar with resyncing drives.

[–] [email protected] 4 points 5 months ago

Been running raid1 on USB for over a decade. Avoid chaeap USB stuff, get foot brand USB boxes and preferably a JBOD multi-disk enclosure, since they tend to be the best quality.

Never had a disconnect.

Beware to properly label your driver tough, as Linux software raid (I use that) tend to hiccup on boot if the kernel reassign USB devices after a reboot.

[–] [email protected] 3 points 5 months ago

You are quite likely to regret going down this route. Should do what you have to to get the drives properly connected.

[–] [email protected] 3 points 5 months ago* (last edited 5 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
NAS Network-Attached Storage
PSU Power Supply Unit
RAID Redundant Array of Independent Disks for mass storage
SATA Serial AT Attachment interface for mass storage
ZFS Solaris/Linux filesystem focusing on data integrity

[Thread #760 for this sub, first seen 25th May 2024, 08:25] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago) (1 children)

I am using a terramaster d6-320 connected with usb-c.

It has been running zfs disks for proxmox via a geekom a5 mini pc since February. It has lost contact with the drives twice so far, more than a month between each time so I don't know the cause. I am mostly happy with the setup, but of course it is annoying when it fails

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

Check the kernel logs

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

I did see a m.2 based expansion card based on ASM1166 chipset, or failing that a sata port multiplier, but those depend on the data port supporting it

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

I have minipc that only has one drive slot. I use an external thunderbolt enclosure with a eNVM drive in it

It works ok for me but don't expect great performance and reliability.

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

Erasure coding may be a better option than RAID.

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

No. USB is not designed to be reliable. It's designed to be plug and play. Don't plug and play with your data.

[–] [email protected] 5 points 5 months ago

Plug and play means you don't have to fiddle with drivers or IRQs or whatever.

[–] [email protected] 4 points 5 months ago

That sentence does not make any sense whatsoever. SATA and SAS are hot pluggable as well.

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

Plug and play alone is not the reason. Nvme is plug and play.

[–] [email protected] 4 points 5 months ago

Plug and play is not any reason at all.

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

USB-storage isn't reliable.

Period.

ANY fscking thing that bumps any connection, can break the dam link.

Then your kernel can re-label the device when it re-connects,

and you've got to reassemble your RAID.

just my experience.

use ANY other method you can, other than USB.

stick a SATA adaptor on there somewhere, if you can.

Get a different motherboard.

ANYthing, but not USB.

[–] [email protected] 6 points 5 months ago

Always use /dev/disk/* (I use by-id) for RAID, as those links will stay constant even if a disk is renamed (for example, from sdb to sdd).