Find the answer to your Linux question:
Results 1 to 9 of 9
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Clustering with virtualization noob question.

    Let me start out by saying I am sorry if I am not posting this in the right place because it covers a few topics. Some of what I wish to do may not even be possible and maybe I have the wrong concept on things. Ok here I go.

    I am looking for a list for the best free solution to be able run windows server on linux in a virtual enviornment but in a server cluster. I am tring to find an alternative to microsofts new server 2008 with hyper v for a more cost effective solution. If I can only do this with a paid distro or a paid distro is way better for this please let me know that as well. I honestly don't even know if server 2008 can do what I am about to ask but it sure sounds like it.

    This is where my know how is a little fuzzy and I don't even know if you can do this. I want to be able to cluster a bunch of older servers to make one or more faster virtual servers. I can't seem to find any information on if clustering can do this for me. When I read tutorials and faqs on clustering I hear mostly about load balancing. To me load balancing sounds more like you have many users accessing stuff in a cluster at the load balancing server and the load balancing server then sends the user to the slave server with the least load. But one server alone is providing the power that user needs. Also load balncing clusters are used for redundency and to be fail safe in case a server goes down. Let me give an exact example of what I am looking to do.

    One of the virtual servers on my cluster would say contain windows server running sql. I would like to get the performance increase of more then one server and the redundency factor. Can this be done or will a cluster with virtualization just give me a redundency factor. I am looking to make many virtual servers my cluster of computers to give the most power to the servers that need it. The problem I am currently having is I need a server to run say a simple app that needs almost no power at all but needs its own enviornment because doesn't play nice with other apps (I work for a small bank and you knows how banks run on old technology). While I have other servers that are bogged down and need more power. I would like to combine all my servers into one cluster and have it run many virtual servers so the power goes to where is most needed. I would also like to ge the fail safe environment. Is this even possible and if so what is the best distro to use with the most information available on how to set it up? What software would I use for the virtualization,are there any free solutions? I know this may be complicated and I hope that I made some sense. Thanks for your help. I'm not a noob to computers but I am to linux.

    Also does it matter if my servers are of different specs or do I need something more like a blade server if I can even do this? With Linux I think I have heard people talk about taking old servers and clustering them together.

  2. #2
    Linux Engineer jledhead's Avatar
    Join Date
    Oct 2004
    North Carolina
    first, if you are going to virtualize a windows server you can forget using an old machine. also I believe to cluster windows server (a true windows cluster) you need enterprise edition of windows. if you are trying to cluster or load balance tcp services and can handle the mirroring of windows data on your own, the use lvs, its a very powerful load balancer and when using lvs-nat its based on cisco local director (I believe).

    you can get a free version of vmware server and virtualize whatever you want. if you plan on having more then one windows server virtualized on the same machine and don't plan on it being slow, then I would not get cheap machines.

    for what you are talking about it sounds like you want clustered load balanced servers. clustered so you have server a and server b that do the same thing, but if one goes down the other picks up the slack. and load balancing to handle well, load balancing and detecting failures. I would also not try and put all your mission critical servers on one physical machine, maybe have 2 physical machines in separate locations and cluster and lb your services there. its not cheap to do it right though.

  3. #3
    Thanks for replying to my question. It may have been a little missleading when I said old servers. They aren't all old in therms of technology such as some are xeon 3ghz. I ment old servers as in not having to buy a new blade server and just add blades when I need more performance like adding cpus. See the problem I am having is most of my servers are running at like 3% cpu utilalization just because our apps for the venders to support them need to be on their own servers.

    I would rather combine our servers into a cluster and make different virtual servers in the cluster. This way I don't need to keep buying new machines every time we get a new application. If say the SQL virtual server is doing alot of work I would like all the computers in the cluster to help with SQL for that moment.

    I think I understand how web based load balancing works and with that the user gets sent to a specific server based on load but I want to be able to take all my clustered computers and have them work on one task. My redundency would come from if one computer has a hardware issue I can just isolate it and remove it from the cluster. Just my performance would degrade. I believe this is how blade servers work.

    I guess what I am asking to do for example is say take 3 xeon servers and cluster them together and make a virtual server that all 3 run. Now inside of that virtual server will Iget more performance in server 2003 then if any single server ran it.? I want to get more flops out of virtual server then a single server could do alone in some instances. But for some of the virtual servers created I just need the simple application on it to work (as some of my servers are under utilized and others are over utilized). If one of my 3 servers fails I still have the 2 other servers processing the information at just a hit to performance. Does this make sence? I probably am at fault for making my question originally more complicated then it is. I have more like 15 servers in all actuallity most standing still not doing a thing except running something a pentium 3 could. I want one place where I can start making virtual servers and make it a big reduntant fast cluster.

  4. $spacer_open
  5. #4
    Linux Engineer jledhead's Avatar
    Join Date
    Oct 2004
    North Carolina
    oh, I get it now. you are talking about clustering your servers to act as one. for linux this is probably your best bet beowulf cluster - Google Search

    I don't have much experience there so thats all the info I got

    but, if you have say three servers, and identical vm images running on each server and they are clustered (think shared resources, not supercomputing), and then you load balance those 3 servers, wouldn't your throughput still be better then just one server and you would be able to handle more requests instead of just taxing one computer.

  6. #5
    The short answer to your question is "No."

    Fundamentally, there are 2 ways that "clustering" is done. One is usually called HPC (generically) and the other would be application clustering. HPC (high performance computing ) is where you have many machines running the same OS (think Linux/Beowolf) and a program is written to split one problem into many pieces so that each "node" in the HPC can work on it. These "problems" would be graphics rendering, environment models, etc.

    The other is application clustering - an *application* is enabled across nodes for fault tolerance, load balancing, or both. This is what MSCS, VCS, Sun Clustering, Novell Clustering, etc. all do.

    How I read your question is that you're thinking of having an HPC cluster that runs a VM across multiple nodes at the same time. That's not going to happen because the performance would be too bad trying to have each node pass VM OS info to the other nodes.

    VMWare ESX is the closest setup to what you are thinking of. BUT, to really be effective, you need shared storage between the ESX nodes. At any given time, a VM is running on only ONE of the ESX nodes. But with the VM disk stored on the shared volume, if any ESX node fails, VMotion can bring up the failed VM on another ESX node *seamlessly.* Example, if I am RDP'ed into a Windows VM and the VM is moved to another ESX node, I won't notice anything and the RDP session will not drop.

    ESX and the shared storage are going to be the costly items. You can do something similar with VMWare Server, but there is not going to be any automated recovery/moving. IF each VMWare Server node is running a Windows VM that is load balancing an app with another VM on another node, then you're app is still "UP" even if a Server node fails.


  7. #6
    I just edited this post becuase I think this answered my question while I was adding to it. I will be following up with a reply

  8. #7
    Ok this is where I have gotten confused. How do blade servers work? Is each blade in the enclosure a computer that is being clustered or is each blade just adding more cpus and memory making one bigger super computer I can put a single virtual image or group of VMs on.

    I thought Windows 2008 datacenter addition can make all these blades work as one powerfull VM. If these are seperate computers then microsoft is just handling it and making it work as one machine with the datacenter edition. If blades are just memory and cpus it all makes sence to me now. I was told each blade needs an enterprise license and the entire blade server needs datacenter. If each blade needs enterprise then I wouldnt think they are just cpus since datacenter suports like 40. With a blade server I thought you can add blades for power and get redundency if one goes bad. Oh and if they are all seperate machines they do have shared storage so it should be that slow.

    If a blade server really just works as one powerful server I was just trying to figure out a way to accomplish this with what we already have. People have all talked about clustering a bunch of linux boxes for power and I wanted to keep my options open.

  9. #8
    Each blade is complete computer. The advantage is in the packaging (less size - fit more in a smaller space) and the backplane (faster connection between the blades plugged into the chassis.)

    Windows would essentially cluster all of these blade "nodes" into an MSCS cluster (either load balancing or high-availability (HA)) and one or more *applications* would be clustered.

    AFAIK, there is no web server/file server built to run on an HPC Linux cluster. There are some special file systems that can be spread across nodes, but they do not require a special HPC OS/setup.

    Blade Server - Wikipedia

  10. #9
    Thanks for the help my question on how it all works has been answered 100%. I guess where I got sent in the wrong direction was when my coworker told me blade servers give you more performance to a VM. If I want to try out virtualization on linux just for fun and not all this supercomputer crazy load balancing stuff which is a good distrobution? Once again thanks for the leason in clustering jledhead and HROAdmin26.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts