0

I would like to know how to setup a cluster of virtual machines to host a web application. We are expecting a high volume of clients connecting.

I would like a cluster of virtual machines (or physical if it makes more sense) that host this web application and lets say one machines load is too high, any new client connecting after that point will fall over to the next machine.

However I need all the databases to be in sync so I am guessing I will need some of our virtual servers to be dedicated to databases only.

In the future, I will probably have multiple different locations and would like to know how to have all data be in sync between the locations as well.

I have experience with VMware/vCenter but I do not know how I would share this application across multiple machines in multiple locations.

Do I just make one VPS and have it use all resources from all of the hosts in the cluster? If so that might solve the first half of the question but I still do not know how to share data between the two locations.

If anyone can help me by pointing me to some useful resources it would be much appreciated.

5
  • What do you mean by the statement: "Do I just make one VPS and have it use all resources from all of the hosts in the cluster?"? Do you mean using DRS? Also, you've got hardware layer redundancy/availability aspects and application layer redundancy/availability aspects, which are for all intents and purposes two different things. How do you make the host VM resilient and how do you make the application resilient should be two different questions.
    – joeqwerty
    Jan 14, 2013 at 23:16
  • What I mean by that is: In the experience I have with VMware clusters, Their are multiple hosts (physical machines) and virtual servers are installed across said hosts. (For this example lets say we have 1 virtual server per host and all virtual servers are separate webapplications) When ever server load is too high they borrow the resources from one of the other hosts. I will have ONE web application hosted on a virtual machine. I would like the best way to ensure up time. Do I mirror the virtual machines across the hosts?Or Do i just make one virtual server with access to allhostsresources
    – Marc
    Jan 14, 2013 at 23:23
  • I do not know DRS is. I do not know which would be better for my situation...hardware layer redundancy/availability or application layer redundancy/availability. These are the answers I'm looking for. I'm not sure where to start and would appreciate being pointed into the right direction.
    – Marc
    Jan 14, 2013 at 23:26
  • You seem to think that you can use all of the physical resources in a vSphere cluster for a single OS image. That is not the case for any VMware products.
    – mfinni
    Jan 14, 2013 at 23:37
  • Ok thank you. If it is not the case then how can I share the resources to ensure maximum up-time? I would like to know how to have redundancy and fail-overs in one rack. (if i'm not using the correct lingo please correct me) with the possibility of using a 2nd location in the future)
    – Marc
    Jan 14, 2013 at 23:57

1 Answer 1

3
  • Use an external hardware or clustered software load balancer.
  • Use VMWare DRS disaffinity/anti-affinity rules to ensure your actual application servers and load balancers run on different hosts in your cluster.
  • Do the same for your databases... Use some form of DB clustering or replication.
  • If you expand to another facility or availability-zone, the same concepts apply.
1
  • One key point is to split your problem into pieces. First, you need a redundant, fault-tolerant database. Second, you need a redundant, fault-tolerant web server. Jan 15, 2013 at 9:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .