RAID 1 with USB SATA Drives
Don't, it's a bad idea.
I tried with 3 different USB to SATA enclosures, but none of them worked. It is not clear if USB is the issue or just every USB-C enclosure is just of mediocre quality. This was a really frustrating experience, because an array worked just fine for 2 weeks and then broke on a random occasion. The system would mark it as a read-only or kick it out of an array. When I re-added it again, the synchronization would work just fine, but only with the second set of enclosures, the first would randomly work, sometimes the synchronization speed would be tens of kB (and then be kicked out of array), other times worked just fine. Also usually it broke after writing 40GB to a Samba share.
In the end I bought AsRock N100DC-ITX with two SATA ports and fullsize DDR4 (which I already had and also later bought for a normal price) and also had the 19V "Asus" power brick from before. NVMe drives could work much better in enclosures, but I wasn't able to get them with a good price (start of 2026). And now it's even worse - SATA drives are 2x2TB and I bought them years ago, in 2022. 2TB TLC NVMe are just too expensive to justify them. Also it sucks that SBCs usually have so little IO for NAS. I also checked NAS devices, but they suck. Either they had a very old ARM board with non mainline Linux kernel which they can shove into their asses (I won't use fucking Ubuntu 18 or 22, always mainline Debian for servers) or had x86 N150, but only M.2 ports. Or I could not buy them in EU and did not want to pay customs, VAT and the process. I just cannot understand how in 2026 are so many ARM boards still closed to mainline Linux as this has been the state at least from 2014 when I got my first ARM device HTC Desire and had to install ROMs, x86 board are much more practical.
[22168.229005] md: check of RAID array md0
[22425.969022] perf: interrupt took too long (2541 > 2500), lowering kernel.perf_event_max_sample_rate to 78500
[23409.178440] usb 1-5: USB disconnect, device number 4
[23409.178464] usb 1-5.1: USB disconnect, device number 6
[23409.178471] usb 1-5.1.1: USB disconnect, device number 8
[23409.262283] usb 2-2: USB disconnect, device number 2
[23409.262298] usb 2-2.1: USB disconnect, device number 3
[23409.262606] sd 2:0:0:0: [sda] tag#2 uas_zap_pending 0 uas-tag 2 inflight: CMD
[23409.262617] sd 2:0:0:0: [sda] tag#2 CDB: Read(10) 28 00 16 a6 74 80 00 02 00 00
[23409.262642] sd 2:0:0:0: [sda] tag#2 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
[23409.262647] sd 2:0:0:0: [sda] tag#2 CDB: Read(10) 28 00 16 a6 74 80 00 02 00 00
[23409.262651] I/O error, dev sda, sector 380007552 op 0x0:(READ) flags 0x0 phys_seg 64 prio class 0
[23409.362592] sd 2:0:0:0: [sda] Synchronizing SCSI cache
[23409.686607] sd 2:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[23409.692708] usb 2-2.2: USB disconnect, device number 4
[23409.693237] sd 3:0:0:0: [sdb] tag#27 uas_zap_pending 0 uas-tag 1 inflight: CMD
[23409.693254] sd 3:0:0:0: [sdb] tag#27 CDB: Read(10) 28 00 16 a6 6d 00 00 03 80 00
[23409.693275] sd 3:0:0:0: [sdb] tag#3 uas_zap_pending 0 uas-tag 2 inflight: CMD
[23409.693283] sd 3:0:0:0: [sdb] tag#3 CDB: Read(10) 28 00 16 a6 70 80 00 04 00 00
[23409.693292] sd 3:0:0:0: [sdb] tag#0 uas_zap_pending 0 uas-tag 3 inflight: CMD
[23409.693299] sd 3:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 16 a6 74 80 00 02 00 00
[23409.693308] sd 3:0:0:0: [sdb] tag#1 uas_zap_pending 0 uas-tag 4 inflight: CMD
[23409.693314] sd 3:0:0:0: [sdb] tag#1 CDB: Read(10) 28 00 16 a6 67 00 00 02 00 00
[23409.693323] sd 3:0:0:0: [sdb] tag#2 uas_zap_pending 0 uas-tag 5 inflight: CMD
[23409.693329] sd 3:0:0:0: [sdb] tag#2 CDB: Read(10) 28 00 16 a6 69 00 00 04 00 00
[23409.693407] sd 3:0:0:0: [sdb] tag#27 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
[23409.693417] sd 3:0:0:0: [sdb] tag#27 CDB: Read(10) 28 00 16 a6 6d 00 00 03 80 00
[23409.693423] I/O error, dev sdb, sector 380005632 op 0x0:(READ) flags 0x0 phys_seg 112 prio class 0
[23409.693496] sd 3:0:0:0: [sdb] tag#3 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
[23409.693505] sd 3:0:0:0: [sdb] tag#3 CDB: Read(10) 28 00 16 a6 70 80 00 04 00 00
[23409.693510] I/O error, dev sdb, sector 380006528 op 0x0:(READ) flags 0x4000 phys_seg 128 prio class 0
[23409.693550] sd 3:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
[23409.693560] sd 3:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 16 a6 74 80 00 02 00 00
[23409.693565] I/O error, dev sdb, sector 380007552 op 0x0:(READ) flags 0x0 phys_seg 64 prio class 0
[23409.693600] sd 3:0:0:0: [sdb] tag#1 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
[23409.693609] sd 3:0:0:0: [sdb] tag#1 CDB: Read(10) 28 00 16 a6 67 00 00 02 00 00
[23409.693614] I/O error, dev sdb, sector 380004096 op 0x0:(READ) flags 0x0 phys_seg 64 prio class 0
[23409.693650] sd 3:0:0:0: [sdb] tag#2 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
[23409.693659] sd 3:0:0:0: [sdb] tag#2 CDB: Read(10) 28 00 16 a6 69 00 00 04 00 00
[23409.693664] I/O error, dev sdb, sector 380004608 op 0x0:(READ) flags 0x0 phys_seg 128 prio class 0
[23409.693939] device offline error, dev sdb, sector 380005632 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 0
[23409.694365] md: md0: check interrupted.
[23409.694530] device offline error, dev sdb, sector 380006656 op 0x1:(WRITE) flags 0x0 phys_seg 112 prio class 0
[23409.694782] device offline error, dev sdb, sector 380004096 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 0
[23409.694904] md: super_written gets error=-5
[23409.694913] md/raid1:md0: Disk failure on sda1, disabling device.
md/raid1:md0: Operation continuing on 1 devices.
[23409.694947] device offline error, dev sdb, sector 2064 op 0x1:(WRITE) flags 0x9800 phys_seg 1 prio class 2
[23409.694959] md: super_written gets error=-19
[23409.695015] md: super_written gets error=-19
[23409.695042] md: super_written gets error=-19
[23409.695073] md: super_written gets error=-19
[23409.695099] md: super_written gets error=-19
[23409.695155] md: super_written gets error=-19
[23409.695181] md: super_written gets error=-19
[23409.695205] md: super_written gets error=-19
[23409.695258] md: super_written gets error=-19
[23409.695285] md: super_written gets error=-19
[23409.695310] md: super_written gets error=-19
[23409.695359] md: super_written gets error=-19
[23409.695385] md: super_written gets error=-19
[23409.695411] md: super_written gets error=-19
[23409.695465] md: super_written gets error=-19
[23409.695492] md: super_written gets error=-19
[23409.695518] md: super_written gets error=-19
[23409.695569] md: super_written gets error=-19
[23409.695589] md: super_written gets error=-5
[23409.695606] md: super_written gets error=-5
[23409.695647] md: super_written gets error=-5
[23409.695663] md: super_written gets error=-5
[23409.695678] md: super_written gets error=-5
[23409.695716] md: super_written gets error=-5
[23409.695732] md: super_written gets error=-5
[23409.695747] md: super_written gets error=-5
[23409.695783] md: super_written gets error=-5
[23409.695799] md: super_written gets error=-5
[23409.695814] md: super_written gets error=-5
[23409.695850] md: super_written gets error=-5
[23409.695866] md: super_written gets error=-5
[23409.695881] md: super_written gets error=-5
[23409.695917] md: super_written gets error=-5
[23409.695933] md: super_written gets error=-5
[23409.695948] md: super_written gets error=-5
[23409.695982] md: super_written gets error=-5
[23409.695990] md: super_written gets error=-5
[23409.695996] md: super_written gets error=-5
[23409.696016] md: super_written gets error=-5
[23409.696024] md: super_written gets error=-5
[23409.696030] md: super_written gets error=-5
[23409.696049] md: super_written gets error=-5
[23409.696056] md: super_written gets error=-5
[23409.696063] md: super_written gets error=-5
[23409.696081] md: super_written gets error=-5
[23409.696088] md: super_written gets error=-5
[23409.696094] md: super_written gets error=-5
[23409.696115] md: super_written gets error=-5
[23409.696122] md: super_written gets error=-5
[23409.696128] md: super_written gets error=-5
[23409.696151] md: super_written gets error=-5
[23409.696159] md: super_written gets error=-5
[23409.696165] md: super_written gets error=-5
[23409.696184] md: super_written gets error=-5
[23409.696191] md: super_written gets error=-5
[23409.696197] md: super_written gets error=-5
[23409.696216] md: super_written gets error=-5
[23409.696223] md: super_written gets error=-5
[23409.696229] md: super_written gets error=-5
[23409.696248] md: super_written gets error=-5
[23409.696255] md: super_written gets error=-5
[23409.696261] md: super_written gets error=-5
[23409.696280] md: super_written gets error=-5
[23409.696287] md: super_written gets error=-5
[23409.696293] md: super_written gets error=-5
[23409.696312] md: super_written gets error=-5
[23409.696319] md: super_written gets error=-5
[23409.696325] md: super_written gets error=-5
[23409.696343] md: super_written gets error=-5
[23409.696350] md: super_written gets error=-5
[23409.696356] md: super_written gets error=-5
[23409.696375] md: super_written gets error=-5
[23409.696382] md: super_written gets error=-5
[23409.696388] md: super_written gets error=-5
[23409.696407] md: super_written gets error=-5
[23409.696414] md: super_written gets error=-5
[23409.696421] md: super_written gets error=-5
[23409.696441] md: super_written gets error=-5
[23409.696448] md: super_written gets error=-5
[23409.696454] md: super_written gets error=-5
[23409.696472] md: super_written gets error=-5
[23409.696479] md: super_written gets error=-5
[23409.696485] md: super_written gets error=-5
[23409.697052] md: super_written gets error=-5
[23409.697071] md: super_written gets error=-5
[23409.718308] md: super_written gets error=-5
[23409.718348] md: super_written gets error=-5
[23409.738642] md: super_written gets error=-5
[23409.738680] md: super_written gets error=-5
[23409.758639] sd 3:0:0:0: [sdb] Synchronizing SCSI cache
[23410.078602] sd 3:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[23410.080779] r8152-cfgselector 2-2.4: USB disconnect, device number 5
[23413.926410] md: super_written gets error=-5
[23413.926443] md: super_written gets error=-5
[23414.114500] BTRFS error (device md0): bdev /dev/md0 errs: wr 1, rd 0, flush 0, corrupt 0, gen 0
[23418.978522] md: super_written gets error=-5
[23421.548849] BTRFS error (device md0): bdev /dev/md0 errs: wr 2, rd 0, flush 0, corrupt 0, gen 0
[23421.548901] BTRFS error (device md0): bdev /dev/md0 errs: wr 3, rd 0, flush 0, corrupt 0, gen 0
[23421.548998] BTRFS error (device md0): bdev /dev/md0 errs: wr 4, rd 0, flush 0, corrupt 0, gen 0
[23421.549021] BTRFS error (device md0): bdev /dev/md0 errs: wr 5, rd 0, flush 0, corrupt 0, gen 0
[23421.549173] BTRFS error (device md0): bdev /dev/md0 errs: wr 6, rd 0, flush 0, corrupt 0, gen 0
[23421.549194] BTRFS error (device md0): bdev /dev/md0 errs: wr 7, rd 0, flush 0, corrupt 0, gen 0
[23421.549239] BTRFS error (device md0): bdev /dev/md0 errs: wr 8, rd 0, flush 0, corrupt 0, gen 0
[23421.549260] BTRFS error (device md0): bdev /dev/md0 errs: wr 9, rd 0, flush 0, corrupt 0, gen 0
[23421.549389] BTRFS error (device md0): bdev /dev/md0 errs: wr 10, rd 0, flush 0, corrupt 0, gen 0
[23421.549410] BTRFS error (device md0): bdev /dev/md0 errs: wr 11, rd 0, flush 0, corrupt 0, gen 0
[23421.552433] BTRFS: error (device md0) in btrfs_commit_transaction:2541: errno=-5 IO failure (Error while writing out transaction)
[23421.552462] BTRFS info (device md0 state E): forced readonly
[23421.552470] BTRFS warning (device md0 state E): Skipping commit of aborted transaction.
[23421.552477] BTRFS error (device md0 state EA): Transaction aborted (error -5)
[23421.552492] BTRFS: error (device md0 state EA) in cleanup_transaction:2028: errno=-5 IO failure
[23429.474735] btrfs_dev_stat_inc_and_print: 56 callbacks suppressed
[23429.474753] BTRFS error (device md0 state EA): bdev /dev/md0 errs: wr 68, rd 0, flush 0, corrupt 0, gen 0
[27373.583990] perf: interrupt took too long (3185 > 3176), lowering kernel.perf_event_max_sample_rate to 62750
[37587.259918] perf: interrupt took too long (3983 > 3981), lowering kernel.perf_event_max_sample_rate to 50000
root@tiger:~#
And that's it.
Add Comment