External USB 3.0 disks have slow write performance with high Wait I/O

  • Hi there,


    at first many thanks for this great product OMV!
    I'm Using OMV 2.2.13 on a Zotac ID18 Mini PC / 6GB RAM with

    • System on an SD card/USB adapter with openmediavault-flashmemory 1.9.2 plugin
    • 1 internal 2,5" - 2TB disk - SATA interface
    • 1 external 3,5" - 3TB disk - USB 3.0 directly connected
    • 1 external 2,5" - 2TB disk - USB 3.0 - USB hub
    • 1 external 3,5" - 8TB archive disk - USB 3.0 - USB hub
    • Lot's of OMV services running, e.g. SMB/CIFS, OpenVPN AS, MiniDLNA, Nginx, SSH. Also running OwnCloud 9.1 directly as installation on the OMV linux.

    Some time ago - with an earlier OMV version the transfer of large files (e.g. Acronis backup files) via SMB went very well with convenient throughput, both, on internal SATA disk, as well as on external USB 3.0 disks.


    Now I tried to transfer a new Acronis backup to the correspondent SMB share on an external USB 3.0 disk (directly connected) of the OMV system and throughput was *very* bad (~10MByte/s, after the RAM buffer was filled).
    The system information pages show, that the CPU usage is very high (> 70%), with a high Wait IO part (> 65% cpu usage).
    When writing to a share on another USB 3.0 disk connected via USB hub was also similarly bad.


    Reading from the USB 3.0 disk-based SMB share was still convenient (~ 70 MByte/s), also both reading and *writing* from/to the internal SATA disk via a correspondent SMB share was fine (~ 70-80MByte/s).


    Any idea, what could be the reason for this performance loss on writing on USB 3.0 disks / the high Wait IO percentage?


    With this performance it is not feasible to use the OMV system as backup file archive...


    Thanks in advance
    FranzX


    PS I looked for similar topics in the forum, but so far found no suitable suggestion how to fix this.

    • Offizieller Beitrag

    I assume you are using the backports 3.16 kernel? I think some of this would be better with newer kernels (like the 4.x kernels).

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Yes, I just wanted to add this info!
    I'm currently using: Debian GNU/Linux, with Linux 3.16.0-0.bpo.4-amd64


    But this only since Saturday. Before - with the standard kernel - I had the same write performance issue.


    Do you suggest returning to the standard kernel?

    • Offizieller Beitrag

    Do you suggest returning to the standard kernel?

    Definitely not. I actually think you need a newer kernel than even the backports 3.16 kernel. OMV 3.x with the backports 4.7 kernel would be a good choice. Otherwise, there are a couple of threads on this forum that have 4.x kernels that people have compiled for OMV 2.x.

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    As long as you aren't using the LUKS plugin, I would say you can use OMV 3.x now.

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • That's good to hear! Should I do a fresh install (which I don't like due to lots of configurations getting lost) or is an upgrade 2.2.13 to 3.x already also feasible?

    • Offizieller Beitrag

    I prefer fresh installs but upgrades are possible. They require manual fixes quite often (like reboot after d-bus error and continue upgrade with apt-get -f install).

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • I downloaded and installed kernels 4.5.7 and 4.7.6 (still with OMV 2.2.13) from the links of the correspondent thread OMV 2 Kernel 4.x Image.
    Still - also when setting a one of the kernels as standard boot kernel in OMV-Extras.org/Kernel in the OMV GUI - it always boots in the 3.16 kernel.
    Any idea?


    PS: Installation of the kernels succeeds, but throws messages on firmware with "possible missing firmware ... module r8169".

  • FranzX, I was just about to write a very similar post, as your first post. Different hardware, very similar performance and observations.
    I also get poor wirte performance on USB 3 HDs, while the same HDs show excellent read performance and excellent performance on other systems.


    Here it is HP Microserver Gen8. Read performance with SMB can be 100 MByte/s +, write performance never exceeds about 10 MByte/s - as in your case, after write cache is filled up. I tried original OMV 2 with all updates and backport kernels, exactly like in your post. I also tried local file access without SMB or anything over the net, still a maximum of about 10 MByte/s write.


    I fear, newer kernels won't help. I also booted debian-live-8.6.0-amd64-gnome-desktop.iso (without installing, boot over HP ILO), which seems the newest release of Debian. Still the same maximum write performance. Also tried ubuntu-16.04.1-desktop-amd64.iso, still the same. As I said, on other systems (I don't have another OMV installation) the HDs work excellently. I tried four different external USB 3 devices (four different brands of the device, Intenso, Seagate, WD, Fantec - did not check the brand of the disks). All show the same behaviour. I tried different formats: NTFS, ext4, ext3 - no really significant difference.



    Do our systems have anything in common?


    Do you guys out there see good write performance with external USB 3 disks with OMV and HP microserver Gen8? With Zotac ID18 Mini PC? With other HW? Please be careful, when testing with lots of RAM. It will take a rather long time, until several GBytes of write cache are filled up ... So copying files, that sum up to significantly more than RAM size should be used when measuring. When logging into the system, the iostat command can be of use, i.e. iostat -k 10.

    OMV 4.1.13-1 (typically everything up to date), only plugin: flash memory; HP Microserver, 4 internal ext4 HDDs, SSD for OS, SD-Card for booting (can't boot on SSD with 4 HDD used …), external USB3 HDDs (ext4 + NTFS)

  • I discovered recently that the issue on bad write performance occurs also when connecting the disk to USB 2.0!
    Surely the read performance decreased to ~30MByte/s as awaited, but write was still at ~10MByte/s, i.e. only 1/3rd of what should be possible.


    So the reason seems to be no dedicated USB 3 problem, but more general external disk on USB.

  • This is an old thread, but anyway, I had experienced almost exactly the same. Write performance of external USB3 disk never exceeded almost exactly 12 MByte/s = ~100 MBit/s. I had read this thread, had tried newest kernels and more. I had LACP configured (HP Microserver with two NICs). When I turned off LACP, write performance of external USB3 disks went up to ~80 MByte/s. It doesn't make any sense to me. With or without LACP, performance of internal disks always was as expected (around 100 MBytes/s read and write, sometimes more like 150 MBytes/s, however never the 200 MBytes/s I typically had seen in typical enterprise environments with LACP back when those environments did not use 10 GBit/s ports).


    The 12 MBytes/s max write performance was also there for internal copies from internal HDD to USB3 HDD without any LAN in between. Very strange.


    It took quite some time, to figure all that out. I cannot absolutely exclude an coincidence, but it really looked, as if LACP was the culprit. An only for USB, not for internal drives.

    OMV 4.1.13-1 (typically everything up to date), only plugin: flash memory; HP Microserver, 4 internal ext4 HDDs, SSD for OS, SD-Card for booting (can't boot on SSD with 4 HDD used …), external USB3 HDDs (ext4 + NTFS)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!