Part 2: Where Does Guest VM HA Fit-in Versus Other HA Software: RAC and Guest VM HA
By Adam Hawley on Mar 26, 2009
As part 2 in this series of blog entries about HA techniques in a virtualized environment, I’m going to focus on considerations when thinking about using Oracle Real Application Clusters (RAC) with- (or without) Oracle VM HA. For databases, Oracle RAC is the ultimate: Continuous availability and ability to handle workloads that are larger than what a single physical server can handle. If you need continuous uptime for your database applications, then you need RAC. Others are claiming that a single instance database with their flavor of clusterware or with their flavor of virtualization is equivalent to RAC. Ummm…No. Sorry: That is a terrible blurring of lines to force-fit the wrong solution. Again, the question is, do you need continuous availability? No one’s guest VM HA or clusterware solution provides continuous availability in a way that is practical for production databases today except RAC. Period*. (I’ll get a comment or two for that statement but let me get to that in a minute). Even if you don’t need continuous availability, do you need to support database workloads greater than a single physical (or virtual) machine could support? If so, again, you need RAC. No one’s clusterware or virtualization-based HA can do that today. So, if faced with these claims just ask two very simple questions:
1. Will that give me continuous availability?
2. Will that allow workloads that will scale larger than a single physical node?
If the answer to either one is “no”, then it is not equivalent to RAC and they are trying to fool you.
*On that continuous availability thing…OK…so there are some projects and some vendors starting to claim they have a “fault tolerant” or “continuous availability” mode for their virtualization product here or coming soon, but these are no where near ready for production use. These appear to be uniprocessor-only, very slow, and unproven in the reliability of their methodology for assuring there will be no corruption…these are simply not ready to host things like databases and not yet even worth talking about for use in the “real world”. Someday, the technology may get there but when that changes, then I’ll blog about that. Also, no flames/comments from the proprietary hardware crowd on how they’ve been doing fault tolerant stuff since before I was born and before wood was invented or whatever. That stuff was/is great, but this blog is about virtualization on industry standard components that are about the only stuff mere mortals can afford these days.
Now let’s get back to positioning HA techniques in the stack. What about using RAC and HA at the virtualization layer, i.e. with guest VM HA / auto-restart enabled? There is definitely some value here. Virtualization, by definition, abstracts you from many of the constraints of the underlying hardware meaning it allows you to do things like automatically restarting a node on different, healthy hardware when the original hardware fails. In this scenario, if you have a physical server failure that takes down a node, the RAC database will continue service based on the surviving nodes, while, in parallel, Oracle VM Guest HA will restart the VM (RAC node) hosted on the failed physical server on another, healthy server in the pool. The node can then quickly and automatically rejoin the RAC cluster, bringing it to full capacity faster than any manual process. One thing to keep in mind is that you should specify what is known as “Preferred Server Policies” for your RAC nodes (VMs) in such a way as to prevent two RAC VMs from the same instance being hosted on a single physical server at any time to assure the best performance and service levels.
So that’s Oracle VM Guest HA and Oracle RAC. In the next installment in this series on HA, we’ll discuss the more general (i.e. non-database specific) case of HA cluster software and how it compares and complements Oracle VM Guest HA.
And, by the way, if you want to read a whitepaper on RAC and Oracle VM, go here and find it in the "Whitepapers" section.