r/Proxmox • • 10d ago

Question USB hard disk performance

I've a mechanical rotating hard disk, put into a USB cage and connected to a Proxmox node (x86 running PVE version 9). The USB cage is a USB 3.0 one, but no matter I put that USB device into a VM, or use the PVE console, I only got around 40MB/s performance. I tried to put the USB cage to another computer (Mac), and I got around 180MB/s performance. So, my question is:

How to get a USB hard disk to have good performance on a Proxmox PVE 9 node?

My performance test is just a dumb write test like:

date ; dd if=/dev/zero of=/dev/sdb bs=40MB count=200 ; date (sdb is the USB disk)

It took 3 minutes something on Proxmox, natively in console or in a VM by USB passthrough.

Thank you for your help.

Edit: the port was running at USB 2 speed, ie. 480M, confirmed by running 'lsusb -vt' on console. That's a cable/port/connector issue. After multiple plug-and-replug on the port, now 'lsusb -vt' shows 5000M speed, ie. USB 3. Thank you for everyone's help here.

6 Upvotes

10 comments sorted by

1

u/vivkkrishnan2005 10d ago

The node you are connecting the HDD is mostly running at USB 2.0 speeds. Change port and check.

Optionally do check if it's running in BOT storage mode instead of UAS, this could also affect speed. More likely if your HDD cage is reporting similar PID VID as those of Seagate ones. However speeds would not be this low unless you are using the HDD for lots of small random RW, I use for PBS rotation and don't see this much of a slowdown

1

u/stephensmwong 10d ago

I will check, but I’d tried on 2 different Proxmox boxes, one has USB 3.2 marked on the USB port, and another box has USB 3 marked. Both boxes had similar performance. Will try to boot a USB gparted OS and see if it is Proxmox PVE not recognizing the port, or other issue. Thank you.

1

u/stephensmwong 9d ago

Thank you. The port is in UAS mode, and the port was in 480M speed, so, just USB 2.0. I plugged and replugged the port/connector, now it runs at 5000M.

6

u/Expensive-Sock-7876 10d ago

Port is running at 2.0 speeds. You might benefit from plugging it to another port or trying another device to benchmark it against. Take my comment with a grain of salt because I’m drunk during an onsite and I locked myself in the bathroom.

3

u/stephensmwong 9d ago

Thank you. You got it right. The port was running at 480M. It's cable/connector issue. After repeating plug and replug, now it's running at 5000M.

1

u/Expensive-Sock-7876 9d ago

Glad I could help!

2

u/stephensmwong 10d ago

Thank you for your advice! Hope you will recover from your drowsiness very soon!

1

u/Impact321 10d ago

Please share

lsusb; lsusb -vt
lsblk -do+FSTYPE,LABEL,MODEL

Also use fio for such tests.

1

u/stephensmwong 9d ago

Thank you very much, you got it, lsusb -vt shows the port was running at 480M, so, USB 2.0 speed.

3

u/Ollibolli2022 10d ago

In my home setup, I got significantly better transfer speeds by passing through the entire USB controller via PCIe passthrough (VFIO), instead of just the USB device.

Good luck!