Combining local physical servers with remote VPS accounts using Cloudmin?

Hi, I'm hoping this is the place to post this. I'm hoping for some quick response after purchasing Cloudmin Physical and maybe needing to upgrade that to the "full" Cloudmin...

I currently have servers in 2 locations: my home/office (3 servers) & a remotely hosted dedicated server. The remote server has an OS that's EOL (RHEL 4.. ugh, I know, I know..) running Cpanel and the local servers are all Ubuntu Server 10.04LTS with Virtualmin GPL.

What I was going to do (before I learned about Cloudmin and virtualization stuff), was to migrate all the Cpanel domains off the dedicated server onto a VPS account and let that old server go. However, now I'd like to find a way to link all these puppies up in a much better way, such that I can move sites around and do better load balancing, etc., if possible.

Please advise if this is a good idea, or if you have other suggestions (or if I'm missing something, which I think I am!):

1) I'm wondering if I can somehow install a hypervisor on my local physical machines and then install Ubuntu 12.04LTS (after Cloudmin update is ready) onto VPS accounts set up on these machines.

1a) The reason for this is primarily that I plan to someday just buy up more VPS accounts (or hosted dedicated servers) and I'd like an easy way to migrate sites off of my local machines and out onto the VPS's.

1b) I think this would help a lot in doing database replication, clustering and load balancing of all the sites & databases, potentially... is that true?

2) Additionally, I want to have VPS accounts with Cloudmin on them too, so everything (VPS, hosted servers, local dedicated servers, etc.) are all controlled by this one system.

2a) Main reason here is so I can bring new VPS accounts online quickly and be able to annex them for adding more sites or (hopefully) for spreading the load as database replication or load balancing for Web servers, etc.

... I hope this isn't too much of a mess to ask all this. I hope someone can see what I'm shooting for more clearly than I can explain it!

I thought I could make do with Cloudmin Physical, but I think the 10-instance Cloudmin would be what I'd want, where I could just put Cloudmin on each machine and VPS, and put a single instance on each location. I'd be using 4-5 in the near term, but could scale up from there easier than with the other ways I've done things, I hope.

Very sorry for a bit of babbling. Thank you VERY much for help and advice, as soon as you can.

Paul

Status: 
Closed (fixed)

Comments

Howdy -- with Cloudmin for Physical Servers -- you can migrate domains to and from any server that's managed by Cloudmin.

And what the Cloudmin 10 license would do for you is allow you to provision VPS's onto a dedicated server.

You would only need to install Cloudmin onto one of your servers -- the other servers only need Webmin and/or Virtualmin in order for Cloudmin to be able to manage them.

Hopefully that answers your questions -- if not, or if you have additional questions, feel free to ask!

Thanks for the reply.

I had gotten it in my head during my research about server virtualization, that maybe I would be smart to set up a single VPS on each dedicated machine (or VPS service... so a VPS on a VPS?), managing them with Cloudmin 10. Does that even make sense? I thought maybe I would re-install my servers here with some sort of hypervisor, such that there would be only one VPS per machine.

I have it in my head that this would provide the ability to "back up" whole servers by imaging them, which would also allow me to move the whole thing -- for instance, moving a VPS image from my local machine out to a hosted VPS managed by Cloudmin.

...ugh. I realize I'm struggling to explain my thoughts on this, because it keeps getting confusing as I think about how to handle a setup with several physical and virtual machines under one "roof", but also allowing for a sort of mini-cloud of my own!

Maybe I should ask this: If I just use Cloudmin Physical (because I don't plan to have more than one VPS on a machine or hosted VPS instance) to manage my services with Ubuntu installed, will I be able to do things like add a hosted VPS instance (like from VPS.net or whomever) as an extra database server and then use Cloudmin to set it up as a 2nd database server for replication? Same thing with web servers: can I use Cloudmin Physical to expand my network of servers such that I can spin up extra web server VPS instances to help with load balancing once traffic increases?

I'm sorry for the convoluted questions. I keep thinking I know just what I'll do, and then I get to a roadblock in my brain where I think I'm missing something!

If you have any suggestions about how I might do what I'm looking for (sort of building my own little "cloud" for all my instances/boxes) based on my shaky explanations, I'd appreciate it.

Thanks!! Paul

I think I'm finding answers to some of my questions. For instance: Replication: https://virtualmin.com/documentation/cloudmin/repl

I would still like a suggestion about whether to just install OS directly onto VPS or physical machines and manage with Cloudmin Physical, or to set up a single virtual instance on each machine/VPS instance using Cloudmin 10 (as explained in my lengthy (sorry) post before this.)

However, I'm formulating different issues as I figure out more about all this. For instance, if I wanted to use Cloudmin Physical and I was to try implementing "auto-scaling groups": https://virtualmin.com/documentation/cloudmin/scalegroups ..would I be able to do this with a service like VPS.net or SoftLayer Cloud services for instance, or is this something you can only do on Amazon EC2?

I'm currently thinking EC2 is far more expensive than I would like right now, so I'm looking at other providers. The main three I'm zeroed in on currently are SoftLayer, VPS.net and Zunicore to supplement my existing physical servers.

Again, thanks for any input. I sincerely appreciate the time and will gladly buy beer in return! :) Paul

Well, do you have access to a SAN?

One of the ways Cloudmin handles failover is if you have your VPS image setup on a SAN -- with multiple dedicated servers attached to that one SAN. This could be the one VPS per server that you mentioned, that would work well here.

And if for some reason your server dies, Cloudmin could fire up that VPS image from the SAN, using an alternate physical server.

Regarding auto-scaling groups -- that would work anywhere where Cloudmin has rights to launch a new VPS.

You could launch additional VPS's using your dedicated servers, or you could do that using EC2. I don't believe there's currently a way to do that with other services as of yet.

Sorry for the delayed response, but I hope that answers all of your questions! If you have any others, please feel free to let us know. And that beer sounds mighty tempting :-)

Great help again, thanks.

I do not have a SAN currently... in fact, my local network is a bit amateur, to be honest. I understand the points you're making though, and will record them for future reference. Great tips on that front.

The auto-scaling groups thing is what may end up steering me into Cloudmin 10 vs. Cloudmin Physical, in the end. I still have some planning & research to do to see what direction I may take there. Ultimately though, I should be able to upgrade to *10 at any time, if/when I end up needing it, right? I see this looking like:

Start out now with my physical servers and a single hosted VPS. Each of these will have Ubuntu Server (10.04 for now, but 12.04 soon, I hope?) on them as I'm used to (not going to do the VPS-per-server thing just now, I think, even though it sounds slick). I'll put Webmin/Virtualmin on each of these, with Cloudmin Physical on one of the machines to manage everything.

Sometime down the road, if I want to get into auto-scaling group setups, I can upgrade to Cloudmin 10 and set up to either use a physical server for VPS instantiation or set up a hosted VPS instance with Ubuntu Server on it and spin up VPS instances on there using Cloudmin. (I'm currently doubting I'll go the AWS/EC2 route due to costs vs other VPS hosts. I've got a pretty limited budget currently.)

...lol!! Does that sound right? Nesting VPS's seems ridiculous, but I don't want to go back to renting dedicated servers in data centers anymore, I think. VPS's seem so slick these days with all the cloud stuff going on in data centers.

For now, I'll be able to do a sort of "manual-scaling group", where I can manually spin up a new VPS instance with a host and get Webmin/Virtualmin on it, add it to my Cloudmin Physical group and set up replication from there to get the extra load balancing, etc. Am I wrong on that?... I hope I'm not just confusing myself in thinking this is feasible. I know downtime is going to happen here, but it is at least better than my current setup.

....I'm really sorry for the long messages. I hope that being more specific and verbose will help others down the road. I need to write an article about what I come up with! :)

Thank you VERY much for the time and help! I hope I'm being clear and not just... well, missing something along the way.

Paul

I should be able to upgrade to *10 at any time, if/when I end up needing it, right?

Yup! You can upgrade anytime you like.

Each of these will have Ubuntu Server (10.04 for now, but 12.04 soon, I hope

Ubuntu 12.04 support should be available within the next week or so.

Does that sound right? Nesting VPS's seems ridiculous, but I don't want to go back to renting dedicated servers in data centers anymore, I think. VPS's seem so slick these days with all the cloud stuff going on in data centers

Yup! Though I don't know that I'd use the term "nesting" -- scaling is just bringing up a new system as needed.

Auto-Scaling would most frequently be used when there's one site (or multiple related sites) that just can't fit on one server -- there's just not enough resources to handle the needs of that domain or domains. So to handle that, you'd fire up a new VPS to offset the load.

A new product launch is an example of when auto-scaling comes into play -- if a new product is launching, and you think the system might get hammered for a few days, having Cloudmin be able to auto-scale your system to be able to handle that load is a great way to do that, rather than trying to guess at how many systems are needed ahead of time.

If you have a wide variety of sites running on your server, and one day you discover that this one system just doesn't have the resources to handle all the sites -- rather than auto-scaling, it's more common to manually setup a second VPS from within Cloudmin, and move some sites to that second server.

So you'd have two servers with different domains, different configs, and such.

I'll be able to do a sort of "manual-scaling group", where I can manually spin up a new VPS instance with a host and get Webmin/Virtualmin on it, add it to my Cloudmin Physical group and set up replication from there to get the extra load balancing, etc. Am I wrong on that?

Well, what's your goal with your setup?

Every moving part you use in the mix may add to the ultimate reliability of your setup, but also makes it more complex to setup and maintain.

So you could absolutely setup replication if that's what you want.

Or you could just setup durn good backups -- many folks have a standby system where they generate a backup once a day from Virtualmin, copy it to that standby, and import the backups. That standby is then ready to take over at any point, with data no more than 24 hours old.

Having a standby is a simple, both to setup and maintain. Though it's not necessarily what everyone wants, that all depends on their needs.

But the few number of moving parts makes it appealing.

Fantasterrific responses! Thank you very much. I really have enough to base my decisions on in the near and mid-term, I think.

In response to your notes/questions about replication and auto-scaling:

The auto-scaling thing seemed like what I was mostly gaining by moving into a cloud (or cloud-like) setup, and also what I wasn't accustomed to before this. I have been, for a decade, tied to a single dedicated machine before the changes I implemented over the past year with more servers. Being able to -- either manually or automatically -- provision more resources and move/replicate either a single domain or a whole server is pretty sweet. (Understatement.)

I think with my new understanding of things, I'll be mostly looking to start by managing the location of domains/sites more manually and then later, moving towards the automated route as I figure out what I need with future development. Either setting up replication or just placing domains onto resources more carefully... either way, I think I have a grip on how it all could work.

With that, I will let you go from this thread! Ha! I'm SO appreciative of the patience and the generous time to help me. I sincerely hope some other people will gain some information from this, thereby helping the community.

If I do end up writing about my setup in an article somewhere, I'll be sure to let you know in case you want to reference it.

Best regards, Paul

I think it makes sense to close this issue. I've resolved my decisions based on these questions & responses, but I'm not sure if I'm supposed to close this or not.

I just figured fewer "active" issues is always a good thing, right? :)

Thanks!