As others have replied, yes this is normal, and
ionice is a good generic way of not letting it affect your system.
A number of times I've seen people
tar things up when they don't need to though. If any percentage of the data you are copying hasn't changed since the last copy then I'd suggest giving
rsync a try.
This will reduce IO by only copying the files that have changed since last copy. you won't be able to reduce the IO by more than half as all the data would still need to be read but you will significantly reduce the amount of data written (which depending on your hardware can be a slower operation as well).
If you want separate copies/backups each time it's run then the most powerful option is –link-dest which allows you to hard link unchanged files to a previous backup. This saves HUGE amounts of space on the backup server. e.g. I backup a machine (Fred), Fred has a 20GB HD and I back up/copy the entire drive excluding /proc and /dev. I now have a 20GB directory on my backup server. The next day I backup Fred again and –link-dest to yesterdays backup. Rsync compares the remote files with the local copy and if exactly the same will not bother transferring them but will hard link the new file to yesterdays file. Any files that have changed are copied down a fresh (or partially copied using yesterdays backup if possible). If only 100MB of files of changed since yesterday I now have two directories both with 20GB of files but only taking up 20.1Gb of space on the backup server!
I hope that helps and still answers your question.