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?
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.
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. :)
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!!
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?
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.
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
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.
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.
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.
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