more on OracleVM

Virtualization technologies

two different approaches

1) server virtualization – you allow multiple operating systems to run on one server (OracleVM, VMWare, IBM LPAR, Sun Domains)

2) server pooling – you aggregate many physical server into a single logical server (RAC, Grid/PVM/Linda)

both work but they address two different problems.

server virtualization

– hardware partitions (physical, dynamic, or shared partitions)

– virtual machines (binary translation, paravirtualization, hardware assisted)

– os level (os partitioning, resource managers)

For
the hardware assisted, Intel and AMD are working at solving the problem
in hardware. We are currently at release 1A of this effort with about
3-4 years to get to the optimum solution. The hardware assist is still
not the fastest in the world. Things like memory swap going between os
images is not very efficient. The hardware wants to swap out a block
the size of the memory management unit controller. Most software
partitions are much smaller than this so the end result is that the
hardware swaps out to access a few blocks then has to swap out again. 

customer value for looking at vm

1) it saves money. server consolidation and data center space/power requirements

2) server rebuild and application load went from 20-40 hours to 15-30 minutes

3) availability – live migration and virtual machine failover

For
live migration, you must have shared storage. It needs to be NAS or SAN
with a good network connection. You need to have the ability to
transfer the memory of server A to server B across the network. To do a
live migration I copy all of the memory from box A to box B while
recording the memory updates on box A. I then repeat this process and
only copy the changed bytes between boxes. At some point I move the
operation from box A to box B. There are some states where the bytes
changing over a period is not converging. The number of bytes that
change can at some times exceed the bandwidth of the network.

For
the VMWare product there are severe restrictions on the computer
requirements when you look at live migration. You can not live migrate from a Xeon to an Opteron
system. It must be between the same chip set with similar
configurations. With Xen, this is not the case. You can live migrate
between boxes because we do not insert hypercode into the instruction
stream but rely upon the paravirtualized operating system or hardware
assist for ring 0 management issues.

What does it mean for an application to support virtualization?

1) static configuration support – it runs in a vm and expects nothing to change

2) dynamic reconfiguration support – the program does not fail if resources change

3)
dynamic reconfiguration aware – the program is designed to recognize
and dynamically adapt to resource changes. (change the number of
parallel threads depending upon the number of cpu resources available
for example)

4) optimized and integrated – the program has been modified to deliver new or optimized capabilities in a vm.  

some
questions to ask are how frequent does change occur? how radical do
they happen? do they fluxuate frequently or gradually over time?

We
currently support the Xen port on the Intel architecture. Xen support
the same software on the Power series chips. Oracle can support this
but there has not been sufficient demand for this to happen. There is
no technical reason why Oracle does not support the Power series chips.

One change that has occurred is that OracleVM support hardware
partitioning for systems. In a configuration file you can restrict the
number of processors that a system can use. This has huge implications
on the Oracle database license cost. If you purchase an 8 CPU system
and create three hard partitions for 2 CPU, 2 CPU, and 4 CPU. If you
run the Oracle database on one of the 2 CPU systems, you only need to
have a 2 CPU license for the database and not the 8 required before.
This is a change in policy that should go up on the web site this month.

We
have seen a slowdown for VMWare running Oracle benchmarks.
Unfortunately, we can not state how much because the VMWare license
prohibits us from stating how much of a slow down and what benchmarks
have been run. We have seen a slowdown of 10% for a Linux
paravirtualized kernel for the same benchmarks running in OracleVM. We
can not publish these benchmarks based on the VMWare licensing
restrictions but are looking at publishing tpc like benchmark numbers
for OracleVM. 

There are a variety of ways to sahre disk on a
virtual server. Raw Disk, VMFS, OCFS. It is recommended to go with Raw
Disk because a database does not run well on a clustered file system
because it does not like waiting for locks or for synchronization.

2007 year in review

Picking up the idea to present “my blog-year in review”, by taking just the first complete sentence of each month’s post. 37 posts for a year isn’t much. I promise to do better this year. It also appears that the first post of every month is not my most interesting topic. My first sentence of every month is not very topical either. I once heard that if you loose someone in the first five minutes, you will never get them back. I need to work on better opening sentences (make it like a newspaper lead) and be more consistent with posting stuff.

January – 4 posts – I was reading a blog earlier today and the author wrote about how many machines that she used today.
February – 9 posts – for the next few weeks I am going to look at two topics
March – 3 posts – in playing with our new library system, I got distracted by questions from customers.
April – 2 posts – so for the past few days I have been playing with contentDB installation.
May – 3 posts – It is amazing how friendships help business relations.
June – 1 post – My wife and I agree that there are two things that we need to stay married.
July – 0 posts
August – 4 posts – I have had a discussion at a number of customers of how to expand their existing footprint.
September – 0 posts
October – 0 posts
November – 6 posts – Some things that I found interesting (at OpenWorld)…..
December – 5 posts – Ok, time to get back to an old topic that I need to finish. My kids school needs a library system.