Just for dummies
If I have 2 Virtualmin servers, can I set up a domain which uses those 2 with the following.
Each server has a synced version of the same domain, both databases (MySQL) and files.
If one fail the other one are called in stead
If we use the one server to update code and DB structure while maintaining the site, then it will replicate automatically to the other.
Can I do this with Virtualmin?
This is called failover not load balancing. Yes you can but you will need software who can synchronize files on both servers, like Rsync. Then you must properly set your DNS, emails… and so on. Then again depending what type of failover, do you want files to be synchronized in real time (really intensive task on busy server) or at a certain time, e.g. every day at midnight.
Load balancing is something else, when you off-load your server and move some functions to another like database, files for download, videos for streaming… or you can do load balancing based on amount of people visiting your website or the location from where they come.
Either way both solutions require high level of knowledge and they are costly. Better solution would be to check hosting companies who offer cloud as you can get both things at one place… add to that robust and secure external backup and CDN you should be fine. Still much more expensive than “normal” hosting but cheaper than to build your own cloud.
I will talk to my servercenter about this, cause we have some customers who are getting more intense load on their pages.