I'm not recommending running anything mission critical off USB.
If you insist on using a USB attached SSD you ideally want a USB 3.x one that supports UASP and does trim pass through.
I did three automated Lubuntu vm installs in parallel at the same time on a few mini pcs in some USB scenarios:
PC #1 N3450
Celeron N3450 (4 core, 4 thread)
4 GB ram
Lubuntu host os installed on 32GB eMMC
Each guest has 1 cpu and 750MB ram.
On PC #1 I've done two tests:
- All guests installed on a USB 3 attached ancient SATA 3 laptop hard drive.
- All guests installed on a Sandisk Extreme 32GB USB 3 key. This is a good USB key. Most USB keys are pure garbage for random read/write performance and writes in general. Unless you know for sure your USB is one of the very few good ones don't even bother. And don't expect it to live a long life either way.
As expected, during the operating system install the disk is hammered. Cpu is pretty much pegged over 90%. I don't have performance numbers, but it wasn't too terrible in either scenario. Wasn't great either.
I've also did the same install on a very similar Intel Nuc:
PC #2
Celeron J3455 (4 core, 4 thread)
16 gb ram
Lubuntu host os installed on a 240GB sata attached Kingston ssd
Each guest has 1 cpu and 1.8 GB of ram.
Guests are also installed on the same internal Kinston SATA SSD hard drive.
I don't have any exact numbers, but as expected, faster internal SATA SSD runs better during the install.
But once everything is up and running and just sitting there idle, all the vms individually run okay. Application launching had noticeable speed differences. Sata attached SSD, as expected was best, then anything usb attached. With the old laptop drive being worst.
The other reliability factor for USB is gizmos and cables dangling off the USB ports. Accidentally bumping or unplugging a USB drive that's in Use. People randomly stacking stuff on your desk on top of your still-spinning mission critical hard disk shouldn't be a real thing. Lets just pretend that never happens.
For kicks I made a script that glues two attached storage devices...a faster and slower device together into one tiered "lvm cached" drive. I did a test with the Sandisk Extreme 32 USB caching the USB attached laptop drive. In "writeback" caching mode the disk IO to the laptop hard drive went from constant to me thinking the laptop drive must be unplugged...almost nothing hit the laptop drive everything hit the cache. I didn't measure performance, but the lack of constant hard drive rattling was almost worth the time looking up how lvm caching worked.
If you have a slow mechanical hard drive...using some of your SSD storage to cache it something to consider.
Yes...yes...using usb for any mission critical VM makes no sense. But it is convenient for doing some quick tests.