I run a server with md-raid (software) level 1 (2 HDDs mirroring) and several different applications run on it.
The problem arises when file-intensive jobs (e.g. extracting large archives) run while some users are also using realtime applications (e.g. game servers). The file intensive job will fill the IO queue forcing md-raid to block further IO until the two drives are synced, which will starve realtime applications and forces them to pause and wait, which in turn causes major annoyance with users.
The IO intensive job is running on lowest process- and io-priorities (nice -n +19 ionice -c 3 ...
) with CFQ scheduling but other applications are still being starved.
Is there a way to make md-raid to be more lenient on keeping the disks in sync?
Are there other possible solutions to not starve important applications?