That's idd a nice idea, but i guess you'd need to start working with a shared storage, drbd, loadbalancers etc for this to work..
Don't forget, to move a site from a busy server you need to:
- move the website (copied from busy server)
- move the mailboxes (mysql) (copied from busy server)
- move the users (mysql) (copied from busy server)
- automagically setup configs (copied from busy server)
- change your dns records
- restart apache
Everything looks possible, though i'm stuck at the point where you need to change the dns records .. you can have a short TTL to have caching servers on the net refresh their records faster, but most won't even allow such a low TTL. They mostlikely ignore it and keep their own TTL
If you add a loadbalancer in the story, it'll make it a lot easier, you could just change the ip where the virtual ip is pointing to, reload LB and you're done.
Besided that, i don't know if you want to do all that on an already busy server. Keeping a DRBD running in the back, to keep a synced copy on the 2nd server and use that data would be much faster imho.
But again, nice idea .. it's functionality V-sphere (VMware) has
There you have a pool of available resources .. and the manager will assign the virtual machines to the resources it needs and the resources who can handle it .. if it get's to busy, it can autom. move the virtual machine to another resource. all without downtime .. the package costs only a few thousand dollars though ;-)