SLOW external hard drive performance

J

jadog

Guest
I installed Proxmox on a HP Proliant N40L server. It has a 1.5Ghz 2-core processor and 8GB of Ram. It also has an HP Smart Array P410 controller with dual 2TB Samsung hard drives configured in a RAID1. I've allocated 7GB to a Windows 2008 R2 virtual machine. I attached a 3TB Seagate Expansion external hard drive and used USB Redirector to passthrough (the only way I have been able to get USB to the client). When transferring any large files, it consistently only gives me around 8-9Mb/sec. I have set the hard drive as virtio and added:

Code:
args: -cpu host

to the VMID.conf. I've verified that Virtualization and AHCI are both turned on in the BIOS. I've also turned the hard drive write cache on in both the bios and the P410 controller. In Proxmox, I've set the VM hard drive to cache=none. When I run pveperf I get:

Code:
CPU BOGOMIPS:      5950.31
REGEX/SECOND:      597188
HD SIZE:           94.49 GB (/dev/mapper/pve-root)
BUFFERED READS:    140.51 MB/sec
AVERAGE SEEK TIME: 19.15 ms
FSYNCS/SECOND:     1601.56
DNS EXT:           125.88 ms
DNS INT:           120.87 ms

When I copy a file between two different partitions in Windows Server 2008, it starts out at around 70-80Mb/sec and then steadily falls to around 50mb/sec. When I move the external Seagate drive to my laptop and attach directly, it gives me around 20-30MB/sec.

Is all of this normal or is there a way to increase this speed?
 
I installed Proxmox on a HP Proliant N40L server. It has a 1.5Ghz 2-core processor and 8GB of Ram. It also has an HP Smart Array P410 controller with dual 2TB Samsung hard drives configured in a RAID1. I've allocated 7GB to a Windows 2008 R2 virtual machine. I attached a 3TB Seagate Expansion external hard drive and used USB Redirector to passthrough (the only way I have been able to get USB to the client). When transferring any large files, it consistently only gives me around 8-9Mb/sec. I have set the hard drive as virtio and added:

Code:
args: -cpu host

to the VMID.conf. I've verified that Virtualization and AHCI are both turned on in the BIOS. I've also turned the hard drive write cache on in both the bios and the P410 controller. In Proxmox, I've set the VM hard drive to cache=none. When I run pveperf I get:

Code:
CPU BOGOMIPS:      5950.31
REGEX/SECOND:      597188
HD SIZE:           94.49 GB (/dev/mapper/pve-root)
BUFFERED READS:    140.51 MB/sec
AVERAGE SEEK TIME: 19.15 ms
FSYNCS/SECOND:     1601.56
DNS EXT:           125.88 ms
DNS INT:           120.87 ms

When I copy a file between two different partitions in Windows Server 2008, it starts out at around 70-80Mb/sec and then steadily falls to around 50mb/sec. When I move the external Seagate drive to my laptop and attach directly, it gives me around 20-30MB/sec.

Is all of this normal or is there a way to increase this speed?
Hi,
USB-passthrough use AFAIK only usb1.1 - this is why your disk access inside the VM is so slow...

Udo
 
So what about if I transfer files across the network. Can I expect faster transfer speeds by sharing a directory on the client computer and then transferring files to that folder from any other pc?
 
So what about if I transfer files across the network. Can I expect faster transfer speeds by sharing a directory on the client computer and then transferring files to that folder from any other pc?
Hi,
yes, why not. Use the right network-driver (virtio or e1000).

But you can try to use the usb-disk as "real" disk inside the vm. Like a line like this in the config (perhaps virtio1 instead of ide1):
Code:
ide1: /dev/disk/by-uuid/0f311879-00c9-44b7-8943-a6ac6890bcbb
to find the right uuid use "blkid".

Udo
 
Thanks for the reply Udo. If I mount it like you say inside of the vm, will windows server 2008 recognize it? Secondly, can I connect and disconnect whenever I want?
 
Hi, sorry to go beyond the thread, but I am very interested in your experience with Proxmox and the HP N40L - I am the satisfied owner of one.

Is Proxmox a good choice instead of another linux flavour with kvm?
 
If Proxmox is capable of mounting a usb hard drive in windows 2008, then I would highly recommend it. I've read various threads of people having difficulty with the hard drive being recognized after mounting. I'm still waiting a reply as to whether this has been corrected in the latest version...
 
Thanks for the reply Udo. If I mount it like you say inside of the vm, will windows server 2008 recognize it? Secondly, can I connect and disconnect whenever I want?
Hi,
you must try it (I assume plug and unplug is not the best idea).

I have no experiences with usb-drives on server. For me are usb-drives nice for home-use but not for "real" work... perhaps i'm a little bit to old school.

Udo
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!