I've recently scaled back my home network, with one of the bigger changes being a switch-over to using a BD-RE drive for backup. With years of pictures and home video consuming about 25GB, and [important] documents well under 10GB, this SEEMED like a great way to go.
Everything WORKS perfectly, my only concern is the overhead. I have the disc formatted UDF, and a script running
rsync nightly to sync up selected paths in the filesystem to the drive.
During the sync, My CPU(s) are showing roughly 25% in the wait state. This wouldn't be so bad, but it STAYS at this level for a very long time, and in the process, slows everything down to a crawl. I've even observed my load average spiking to 15.9+ (on a Core 2 Quad). The "actual" CPU utilization during this time is only around 6% (ALL VMs combined), so this is strictly an I/O bottleneck.
Documentation specific to Blu-Ray burners is scarce (under Linux) compared to everything else, and I've never had an I/O bottleneck high enough to warrant any in-depth analysis. Considering the drive is burning at 2x (~9MB/s), it should complete in roughly an hour, but instead runs for many hours.
Is there any way to optimize this to reduce the wait states? Am I simply constrained by kernel drivers/hardware/??? Is this just a nasty side-effect of using UDF that I'm unaware of? Could this have anything to do with running 3 VMs (2x Windows & 1x MythTV) as well as NFS along with this process? Is there any way to determine with certainty which piece of the puzzle is the problem?
Sorry for the barrage of questions at the end; any help is greatly appreciated.
EDIT: After the answer from psusi, I had a thought; is there a way to prioritize I/O on a per-device basis? Something along the lines of "guaranteed XXX PCI card 1MB/s", "limit XXX block device to 20MB/s", etc.???