Running a process within a limited amount of resources, in Linux
Solution 1:
There is one more extreme level of process control than (re)nice: chrt. You may set the process to SCHED_IDLE. In combination with ionice IDLE that should do the job.
There is a really device mapper target which unfortunately didn't make it into the mainline kernel yet which gives you even more control: ioband
Another option would be: Put this process into a VM. Direct VFS access is possible in KVM and you can precisely define how much I/O the VM gets.