Preparation
There are two key differences to address during
the configuration of your virtual host machines for a true RAC
setup. First, there will be multiple virtual hosts that require both
a coherent and coordinated setup with your usual minimal
installation goal at heart. And second, that this is your first
configuration recipe where it is for much more than just simple
demonstration purposes. One would likely only incur such added
premium costs and additional setup complexities for a real-world
test or production database. Therefore, you need to more carefully
plan and define your underlying or foundational architecture so as
to maximize both its effectiveness and efficiency. It should come as
no surprise that this genuine or real world database virtualization
project requires something more than freeware.
As such, I must strongly recommend that any
virtualized database environment be built using VMwares ESX Server
product line their true enterprise scalable, bare metal
hypervisor solution. Reviewing the comparison from chapter 2 shown
in Figure 4 (next page), ESX essentially provides a pre-canned
mini-OS/hypervisor combination that has been streamlined and
optimized for large scale virtual deployments. Moreover, VMware ESX
provides several features that examines what a virtualized Oracle
RAC database requires and for which there may well be no other or
easier solution. Plus, it removes one extra layer of overhead, i.e.
the host operating system, from your technology stack
Figure 4:
Paravirtualization and Full Virtualization
There are many other advantages to VMware ESX
Server over the free GSX Server. ESX Server is more scalable in
terms of CPU and memory and also runs faster, which permits more
virtual machines per host. Furthermore, ESX Server offers versions
that support many extended enterprise requirements such as VMwares
VMFS cluster file system, high availability, disaster recovery, and
backup/recovery, as this VMware edition feature comparison from
their web site shows on the next page (Figure 5).
Figure 5: VMware
Edition Comparison Chart
As with any complex technical undertaking,
another primary critical success factor is access to the proper
knowledge. Many DBAs will often purchase books to support their
project needs. So an Oracle Linux DBA might buy some Oracle DBA
books, a Linux reference and possibly a book on tuning Oracle for
Linux. There would be nothing special about this practice. So it
should come as no surprise that I strongly recommend adding a couple
of VMware books to your wish list. Two books that I have found
invaluable are:
-
VMware ESX Server: Advanced Technical Design
Guide [ISBN 0-9711510-6-7], an invaluable reference text for all
things related to VMware Server configuration & tuning
-
Robs Guide to Using VMware, 2nd Ed
[ISBN 90-808934-3-9], a concise and informative best practices
and general advice book
Finally, be prepared to apply many new
techniques in the virtualized world and dont be afraid to make a
few educational mistakes along the way!
Special Note: As with the prior chapter,
I am only going to focus on those items of major significance from
the prior two chapters, as it relates to configuration and setup.
VMware Host Settings
While the ESX Server host setup may offer some
additional challenges that I will not cover here, the two issues of
paramount importance relate to the hosts network setup. Looking at
the RAC overview diagram on the following page in Figure 6, you need
at least two, if not three, distinct network segments. So how do you
separate the RAC clusters public, private and storage network
segments? Also, how does one bridge or bind multiple network cards
together to increase overall bandwidth? There has really been
nothing seen so far in the free VMware Server to accommodate these
needs and this is why you must upgrade to VMware ESX Server for
success.
Figure 6: RAC
Overview Diagram
VMware Server ESX offers a feature called
virtual switches to address the network segment separation
issue. Network segments can either be separated using VLAN
segmentation (as with physical switches) or by simply defining
dedicated virtual switches for each different network segments
need. VMware ESX Server also possesses a feature called NIC
Teaming that combines physical network adapters to support the
virtual switches. It is very much like what Linux refers to as
bonding and Windows as bridging.
So now let us examine how just one physical
database server has to be configured to host two individual
instances from two different RAC clusters (Figure 7). Assume that
you have chosen to do three network cards per RAC database instance
- one for the public network and two teamed ones for the private
network - since you know that interconnect traffic and latencies are
critical to RAC performance. Thus, just counting the network
entities alone on this one physical server, you would have to
configure sixteen different items at the hypervisor level. If you
then also counted the client operating system network adapters, you
would now have some twenty network items per node. So for a ten node
RAC cluster, there would be 200 network items to configure!
If you now look back at the cartoon at the very start of this
chapter, it should make a heck of a lot more sense now!
Figure 7: An Example of Hosting Scenario
This is an excerpt from
Oracle on VMWare:
Expert tips for database virtualization
by Rampant TechPress.