Thanks for the replies!
I ended up getting a SSD based server instead, only £5 extra a month and raid0 produces 1.5GB/s reads. This presented the problem that I couldn't do an exact copy as the available space was considerably less.
However, it was still pretty easy!
I used the OVH manager to install the OS, but basically just using it to make my partitions/raid quickly - making them similar to old system. You could use a gparted live ISO with the KVM but that's not always reliable. (I use a RHEL based distro, but I think this can apply to nearly all others?)
I then had
/boot
/
/home
I put both servers into rescue so I could do the copy, I figured a non-live system would be easier. And for me I had two servers in a load-balanced setup so taking one offline isn't an issue. Leaving it online shouldn't be a problem but it would depend on your use case.
First you gotta note down the new systems UUIDs for the disks/raid! This is the only
important step really. Log into the new system (not rescue) and perform:
For example this produces:
lrwxrwxrwx 1 root root 9 Oct 10 18:07 8567dd7-5e06-4d2e-aa95-e5efc8990b6c -> ../../md2
lrwxrwxrwx 1 root root 9 Oct 10 18:07 9567c3b2-ff9e-4acb-b493-941e32484b3d -> ../../md3
lrwxrwxrwx 1 root root 9 Oct 10 18:07 9678471e-e172-4df4-aa2b-d95f63422ad7 -> ../../md1
If your system doesn't used UUIDs I believe regular /dev/sdX or /dev/mdX notation is used?
Then I left the /boot partition untouched since its got a kernel and all UUIDs for raids are already setup in grub etc (i dont use a custom kernel so didnt see any point touching this), but wiped / and /home which I then copied from original server.
Rsync was used so that different in disk size was not an issue, and it preserved file perms, works over ssh etc.
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} ./* :/mnt/raid2
Once you've copied a system only two things need changing, /etc/fstab and your network config.
/etc/fstab just needs to have its UUIDs updated to match those on the new system, otherwise none of your raids/disks will mount and you'll get a dracut shell.
Then update your network config to use the new servers IP, you only need to edit eth0/p4p1 if you move the rest of your IP failover with you. And if you're using VRACK i suggest you remove the old server and add the new one now, before you reboot.
In theory when you boot up everything should just work, the system has the same hostname, same internal IPs etc - it's nearly identical. As long as you got everything copied, made the changes, there's no reason why it won't work. For me I had no major issues, MySQL replication restarted no problems etc. Only problem I did have was gluster couldn't mount locally, but this was because it was doing a DNS (reverse)lookup on the ip/hostname which (thanks to DNS TTL) was still pointing to the old machine.
Hopefully this is clear enough for anyone else wanting to do something similar, apologies for my writing I know it's terrible...
Thanks all.