1

I've got one 20TB and one 6TB HDDs into an ORICO 6629us3-c USB3->SATA dock.

For some testing purposes I have split the 20TB disk into 18 partitions and the 6TB inton 6 partitions.

I could run bonnie++ on existing XFS file system on the drives. But strangely, trying to create an XFS filesystem results in a error.

Connecting the dock to a Lenovo ThinkCentre 625q:

[ 8636.020479] usb 3-3: new SuperSpeed USB device number 2 using xhci_hcd
[ 8636.037185] usb 3-3: New USB device found, idVendor=152d, idProduct=0565, bcdDevice= 0.09
[ 8636.037258] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[ 8636.037299] usb 3-3: Product: JMS56x Series
[ 8636.037328] usb 3-3: Manufacturer: JMicron
[ 8636.037355] usb 3-3: SerialNumber: RANDOM__9A993A16EF0C
[ 8636.109870] usbcore: registered new interface driver usb-storage
[ 8636.128928] scsi host2: uas
[ 8636.129629] usbcore: registered new interface driver uas
[ 8636.129750] scsi 2:0:0:0: Direct-Access     TOSHIBA  MG10ACA20TE      0009 PQ: 0 ANSI: 6
[ 8636.136168] scsi 2:0:0:1: Direct-Access     WDC WD60 PURZ-85ZUFY1     0009 PQ: 0 ANSI: 6
[ 8636.141573] sd 2:0:0:0: Attached scsi generic sg1 type 0
[ 8636.142119] sd 2:0:0:1: Attached scsi generic sg2 type 0
[ 8636.159694] sd 2:0:0:0: [sdb] 39063650304 512-byte logical blocks: (20.0 TB/18.2 TiB)
[ 8636.160101] sd 2:0:0:0: [sdb] Write Protect is off
[ 8636.160123] sd 2:0:0:0: [sdb] Mode Sense: 67 00 10 08
[ 8636.166799] sd 2:0:0:1: [sdc] 11721045168 512-byte logical blocks: (6.00 TB/5.46 TiB)
[ 8636.167159] sd 2:0:0:1: [sdc] Write Protect is off
[ 8636.167203] sd 2:0:0:1: [sdc] Mode Sense: 67 00 10 08
[ 8636.167249] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 8636.167681] sd 2:0:0:1: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 8636.168028] sd 2:0:0:0: [sdb] Preferred minimum I/O size 4096 bytes
[ 8636.168113] sd 2:0:0:0: [sdb] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 8636.169532] sd 2:0:0:1: [sdc] Preferred minimum I/O size 4096 bytes
[ 8636.169587] sd 2:0:0:1: [sdc] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 8636.250156]  sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6 sdb7 sdb8 sdb9 sdb10 sdb11 sdb12 sdb13 sdb14 sdb15 sdb16 sdb17 sdb18
[ 8636.250408]  sdc: sdc1 sdc2 sdc3 sdc4 sdc5 sdc6
[ 8636.251967] sd 2:0:0:1: [sdc] Attached SCSI disk
[ 8636.255483] sd 2:0:0:0: [sdb] Attached SCSI disk

Here I run sudo mkfs.xfs -f /dev/sdb18:

[ 8658.594644] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX
[ 8688.683344] sd 2:0:0:0: [sdb] tag#15 uas_eh_abort_handler 0 uas-tag 8 inflight: CMD OUT 
[ 8688.683430] sd 2:0:0:0: [sdb] tag#15 CDB: Write(16) 8a 00 00 00 00 09 0c 30 20 20 00 00 04 00 00 00
[ 8688.683957] sd 2:0:0:0: [sdb] tag#14 uas_eh_abort_handler 0 uas-tag 7 inflight: CMD OUT 
[ 8688.684007] sd 2:0:0:0: [sdb] tag#14 CDB: Write(16) 8a 00 00 00 00 09 0c 30 1c 20 00 00 04 00 00 00
[ 8688.686178] sd 2:0:0:0: [sdb] tag#13 uas_eh_abort_handler 0 uas-tag 6 inflight: CMD OUT 
[ 8688.686267] sd 2:0:0:0: [sdb] tag#13 CDB: Write(16) 8a 00 00 00 00 09 0c 30 18 20 00 00 04 00 00 00
[ 8688.686827] sd 2:0:0:0: [sdb] tag#12 uas_eh_abort_handler 0 uas-tag 5 inflight: CMD OUT 
[ 8688.686885] sd 2:0:0:0: [sdb] tag#12 CDB: Write(16) 8a 00 00 00 00 09 0c 30 14 20 00 00 04 00 00 00
[ 8688.687426] sd 2:0:0:0: [sdb] tag#11 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD OUT 
[ 8688.687479] sd 2:0:0:0: [sdb] tag#11 CDB: Write(16) 8a 00 00 00 00 09 0c 30 10 20 00 00 04 00 00 00
[ 8688.688069] sd 2:0:0:0: [sdb] tag#10 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD OUT 
[ 8688.688135] sd 2:0:0:0: [sdb] tag#10 CDB: Write(16) 8a 00 00 00 00 09 0c 30 0c 20 00 00 04 00 00 00
[ 8688.688488] sd 2:0:0:0: [sdb] tag#9 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD 
[ 8688.688541] sd 2:0:0:0: [sdb] tag#9 CDB: Write(16) 8a 00 00 00 00 09 0c 30 08 20 00 00 04 00 00 00
[ 8688.688600] sd 2:0:0:0: [sdb] tag#8 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD OUT 
[ 8688.688653] sd 2:0:0:0: [sdb] tag#8 CDB: Write(16) 8a 00 00 00 00 09 0c 30 24 20 00 00 04 00 00 00
[ 8688.694136] scsi host2: uas_eh_device_reset_handler start
[ 8688.814763] usb 3-3: reset SuperSpeed USB device number 2 using xhci_hcd
[ 8688.828797] usb 3-3: device firmware changed
[ 8688.837304] scsi host2: uas_eh_device_reset_handler FAILED err -19
[ 8688.837358] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837422] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837448] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837474] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837500] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837524] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837546] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837570] sd 2:0:0:0: Device offlined - not ready after error recovery
[ 8688.837613] sd 2:0:0:0: [sdb] tag#8 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.837648] sd 2:0:0:0: [sdb] tag#8 CDB: Write(16) 8a 00 00 00 00 09 0c 30 24 20 00 00 04 00 00 00
[ 8688.837679] I/O error, dev sdb, sector 38859187232 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[ 8688.837744] sd 2:0:0:0: [sdb] tag#9 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.837785] sd 2:0:0:0: [sdb] tag#9 CDB: Write(16) 8a 00 00 00 00 09 0c 30 08 20 00 00 04 00 00 00
[ 8688.837826] I/O error, dev sdb, sector 38859180064 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 2
[ 8688.837841] sd 2:0:0:0: rejecting I/O to offline device
[ 8688.837890] sd 2:0:0:0: [sdb] tag#10 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.837896] I/O error, dev sdb, sector 38859188256 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 2
[ 8688.837934] sd 2:0:0:0: [sdb] tag#10 CDB: Write(16) 8a 00 00 00 00 09 0c 30 0c 20 00 00 04 00 00 00
[ 8688.837983] I/O error, dev sdb, sector 38859189280 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[ 8688.838003] I/O error, dev sdb, sector 38859181088 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[ 8688.838065] I/O error, dev sdb, sector 38859190304 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 2
[ 8688.838093] sd 2:0:0:0: [sdb] tag#11 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.838213] sd 2:0:0:0: [sdb] tag#11 CDB: Write(16) 8a 00 00 00 00 09 0c 30 10 20 00 00 04 00 00 00
[ 8688.838237] I/O error, dev sdb, sector 38859191328 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[ 8688.838252] I/O error, dev sdb, sector 38859182112 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 2
[ 8688.838349] sd 2:0:0:0: [sdb] tag#12 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.838399] sd 2:0:0:0: [sdb] tag#12 CDB: Write(16) 8a 00 00 00 00 09 0c 30 14 20 00 00 04 00 00 00
[ 8688.838441] I/O error, dev sdb, sector 38859183136 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[ 8688.838496] sd 2:0:0:0: [sdb] tag#13 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.838539] sd 2:0:0:0: [sdb] tag#13 CDB: Write(16) 8a 00 00 00 00 09 0c 30 18 20 00 00 04 00 00 00
[ 8688.838579] I/O error, dev sdb, sector 38859184160 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 2
[ 8688.838628] sd 2:0:0:0: [sdb] tag#14 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.838672] sd 2:0:0:0: [sdb] tag#14 CDB: Write(16) 8a 00 00 00 00 09 0c 30 1c 20 00 00 04 00 00 00
[ 8688.838717] sd 2:0:0:0: [sdb] tag#15 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=30s
[ 8688.838760] sd 2:0:0:0: [sdb] tag#15 CDB: Write(16) 8a 00 00 00 00 09 0c 30 20 20 00 00 04 00 00 00
[ 8688.838834] usb 3-3: USB disconnect, device number 2
[ 8688.847307] sd 2:0:0:0: [sdb] Synchronizing SCSI cache
[ 8688.967180] sd 2:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[ 8688.980177] sd 2:0:0:1: [sdc] Synchronizing SCSI cache
[ 8689.100362] sd 2:0:0:1: [sdc] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK

The same operation works well on my more modern laptop.

Any idea why the ThinkCentre is failing and possible fixes to that?

3
  • 1
    You could try disabling UAS (first completely, then ponder partially) and see if it works then: example Q/A (where I made an answer): unix.stackexchange.com/questions/437036/… , unix.stackexchange.com/questions/418326/…
    – A.B
    Mar 22 at 7:15
  • @A.B, actually before I saw this, I figured that usb-storage.quirks=152d:0565:u on kernel cmdline workarounds the issue and performance impact doesn't appear to be significant. But in your answer I see more flags available that I'm gonna try. + the docs link is very useful! Since these are HDDs, they don't support TRIM anyway. Mar 22 at 15:19
  • 1
    I tried the whole bunch of other options usb-storage.quirks=152d:0565:fgjt to save uas to no avail. So resorting back to usb-storage. But as I said, bonnie++ doesn't show a significant difference in performance or CPU load. I may add a question with the results if anybody is interested. Mar 22 at 16:31

1 Answer 1

1

Ok, I'll post an answer thanks to th excellent comment of @A.B and his answer https://unix.stackexchange.com/a/437087/14907

In my particular situation, what helped was usb-storage.quirks=152d:0565:u. The other options listed in his answer didn't help. Basically usb-storage.quirks=152d:0565:fgjt had no apparent effect on what I was observing.

But also performance hit doesn't seem to be significant. Here are some bonnie++ results. The ones marked usbs use the option and are using usb-storage instead of uas. Then end results use drive's very last TB instead of the first one. d stands for Direct IO. The 'laptop' result is the same benchmark on a modern laptop. I wonder whether lower results are due to using much bigger file so caches were better evaded.

Not a thorough test, but I think good enough to indicate there are no huge performance losses. A lot of randomness I believe in latency reports. Actually I would mostly trust the sequential write results and a little the requential read, because everything else seems to be hugely affected by cache and CPU speed.

btw the "Sequential in/out" -> "Per Char" -> "M/sec" is actually "k/sec" but bon_csv2html tool is probably hardcoded to M.

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .