Help me decide what I need...

I’ve been trying to figure out what I need, whether Cloudmin or Virualmin (or something else).

Here’s my setup:

  • Ubuntu 8.04 instance at Linode running webmin and virtualmin gpl (Primary)
  • Ubuntu 8.04 instance at FSCKVps running webmin and virtualmin gpl (Backup)
  • MySQL master/slave replication from Linode to FSCKVps
  • rsync of /home from Linode to FSCKVps - every 5 minutes
  • rsync of some other important files from Linode to FSCKVps - every 5 minutes

Ideally, if something were to happen to my Linode, I could recover at FSCKVps without too much trouble. Since the IPs are on different subnets, I understand I would have to do some DNS configurations, but I would want FSCKVps to be easily configurable as the new “master” for all the domains. That would include DNS, Apache, MySQL, FTP, etc.

Until a disaster occurs, I want my Linode to be the master, and FSCKVps to be receiving replication data.

Can Cloudmin help me out this way? Can it remove the cron rsyncs? Can it help with IP Failover across data centers? Can it make it easier to add a new domain and have it automatically sync across data centers?

To be even more ideal, is there a way to do two-way sync with load balancing?

Cloudmin doesn’t support (see note below) Linode or FSCKVps at this point in time (and it would require them to have APIs that we could use in the way we currently support Amazon Web Services…I won’t rule it out for the future, but it’s not in our current plans), and it is not at all focused on syncing or load balancing. Cloudmin can make regular backup images, and those backups can be spun up in a minute or so, and so those backup images could be thought of as backup machines.

Load balancing is an orthogonal problem…and a quite easy one; there are dozens of high quality Open Source load balancing proxies and L4-L7 network routing tools, and as many commercial ones. They are easy to install and easy to use. The hard part is on the backend (i.e. your application) and the network, and we have no control over the backend or the network.

We will be spending more time on database replication features among other things…but the hardest parts really are on your application.

We’re also working on some HOWTO guides for large-scale, low-cost, deployments of both Cloudmin and Virtualmin.

Note: When I say “support” I mean, Cloudmin cannot spin up new virtual machines at the providers you’ve mentioned. However, Cloudmin has two very distinct sets of capabilities. One of those capabilities is managing existing machines (physical or virtual) that are running Webmin or Virtualmin (you get more capabilities the more of the stack you have installed). So, moving Virtualmin virtual server domain accounts across two machines that are under management of Cloudmin is easy. Since you have “root” on both of your virtual machines, you could install Webmin and Virtualmin and have the ability to use those features. This isn’t exactly what you’re after. Just something I thought worth mentioning.

Given that description, Cloudmin could help with the failover/recovery of my sites? If I handle all the data sync, and tell Cloudmin about my two Virtualmin servers, Cloudmin will be able to move all my sites from Linode to FSCKVps if my Linode fails?

I’m not looking to manage my Linode or FSCKVps instances through Cloudmin. I’m looking for a single way to manage sites - failover being the primary management activity.

Given that description, Cloudmin could help with the failover/recovery of my sites?

Yes, and no. Cloudmin does not yet address failover issues. It will…but it’s not the tool for the job today.

If I handle all the data sync, and tell Cloudmin about my two Virtualmin servers, Cloudmin will be able to move all my sites from Linode to FSCKVps if my Linode fails?

Somewhat, but not really. :wink:

Here’s what Cloudmin can do today:

Backup Virtualmin virtual servers automatically and copy the backup to another Virtualmin machine, which could then be restored on the other server, either via the Virtualmin UI or via a command run from the command line. This is actually possible without Cloudmin. Just setup Virtualmin on each server to make backups via ssh to the other server. All the work is happening in Virtualmin…Cloudmin just happens to make it slightly easier to navigate between the two machines.

Or, and this one requires Cloudmin:

When told to do so, Cloudmin can migrate a Virtualmin virtual server from one machine to another (via a backup/restore). This requires both machines to be running, however…it’s not intended (currently) to provide failover capabilities. It is entirely intended to make it easier to move Virtualmin virtual servers between machines in a Cloudmin cloud.

Both of these ignore the hard problems (the hard problems are databases, dynamic data that changes from minute to minute on your site, email spools, etc., all of which are not safe to just turn off and on on different machines at random because data will be lost during the time between backup and restore as well as the transition period to the failover and probably during the return to normal server).

All that said, it would obviously be a nice feature to have some sort of automatic recovery and failover. But, as I mentioned, the hard parts are not in our control. The easy stuff is easy, regardless of our support for it (which is why we’ve never spent a lot of time on it). The hard stuff is hard because it requires infrastructure that most of our customers simply don’t currently have (and the hard stuff simply cannot be solved satisfactorily between systems without high speed links between them).

We’re tinkering now with cluster filesystems, like Red Hat’s GFS, and I’ve also heard that replication has gotten much easier in recent versions of MySQL, so that’ll get us part of the way to a good solution that works on off-the-shelf hardware, and even (to some degree) across slow links between data centers like you’re working with.

So, basically, all I can really say is that we’re working on it. :wink:

Well, then your answer is that cloudmin isnt the solution for you. Nor is any other management app that i can think of.