Oracle VM

Oracle VM

The idea started with cheap commodity hardware and enterprise manager. The idea was that we could deploy the database across cheap hardware in a RAC environment. If you take low cost components you can build a large database on multiple computers. You then use enterprise manager to measure and monitor these systems.

The natural question is what is the next step. We can move parts and pieces of a database across cheap commodity. We can deploy to operating systems. Taking this to the next layer we would like to have a base hardware component that you can blast an image to and treat the hardware like a RAC service but generalize this.

We considered using VMWare. Unfortunately, we found that 30-40% of the box was consumed by the virtualization layer. This does not make sense. The second factor was that VMWare cost a lot of money. The final thing was that we wanted complete support. If we had to link into another product, we could not support this. The philosophy is that the Linux team combined with the database and middleware team can come up with a solution that is better. The measured penalty for Oracle VM is 10%. This is the typical price to pay for virtualization.

The biggest benefit for the Oracle products is that the software is free and support is substantially cheaper than purchasing VMWare and paying for their support.

Question: what is Oracle’s support policy for VMWare
Answer: we do not test our products on VMWare. If a customer calls with an issue and the issue exists on native hardware, we will support the issue. If it is not a known issue, we will ask you to call VMWare first then us.

Question: what is the 30% overhead going to
Answer: I/O and context switching are the leading issues. The Oracle VM is a little more scalable based on our tests. Most of this is being driven by requirements from OnDemand. The Austin data center is currently constrained based on power. The solution is to expand resources through the virtualization layer rather than paying the estimated $70M to expand the data center.

The operating systems that we currently certify are RHEL4, RHEL5, and Windows. Windows does not have paravirtualized drivers. It does work on Oracle VM but it is currently slow. I would not use it in production. I might use a limited functionality that is not compute bound on Windows and put the rest of it on Linux.

We will be publishing the benchmark numbers but we did not have enough time before the announcement.

Oracle VM is managed with a standalone console. In 2008 it will move into enterprise manager and the standalone console will still be shipped. The way to manage is through the management console.

Question: there are problems with RAC and virtualization. What is being done with thiss
Answer: The database is certified on VM. RAC is currently not certified on VM. We are working on this but it currently is not supported. We will solve this. It is high on our list and should be out in 2008.

Wim Cokerts – new manager of Oracle VM

The code is based on the Xen technology. We compared our deployment to VMWare ESX.

The layout of the solution is a Hypervisor running on the host hardware. The Oracle VM Agent runs on top of the hypervisor. The guest operating systems run as domains on the agent. There is a VM Manager that manages the virtual images and can ship it to the agent when requested. The Manager is an OC4J container and Express Edition of the database. The box needed for the manager does not need to be very big. The sample that was used during Charles Phillip’s presentation was a 1G single CPU machine with 1G of memory. The OC4J is small as well as Express Edition being small. It asks for two passwords and some ports for communication.

This is different that what RedHat and SuSE is doing with Xen. Instead of embedding this in the operating system, we are putting it on a management server with an agent to communicate from the host. The machines are registered in the repository and can be placed into a group. It is important to make sure that the group has the same architecture so that virtual machines can easily be migrated from one machine to another. The software comes with the Fedora style license so that there is no redistribution rights to worry about.

When the software is deployed there is a master server, a utility server, and a vm server. There is one master server that everyone attaches to. The utility server is typically used to clone machines, distribute images to targets, and offload the manager or target servers from overloading their I/O system.

The linux kernel is a 2.6.18 kernel. Basically anything that runs RHEL4 or RHEL5 should be good enough to run this machine.

The manager interface is a typical Oracle interface. When you login you have a list of virtual machines that are being managed. There is a resource tab that allows you to create templates, push vm images, manage ISO files, and manage shared virtual disks. The servers tab show the servers that have been registered. This allows you to reboot, poweroff, and migrate services. You can also create server pools that have specific jobs. The Administration tab allows you to create userid for server pools and allow these users to manage the pool.

In the VM tab, you can look at the virtualized machines that have been created and how they are running. VNC is used as the console of the guest operating system. Standard VNC Viewer can be used to manage the guest OS. The actions button allows you to deploy, live migrate, clone, save as template, pause, unpause, suspend, and result. For Oracle University, for example, we can clone a classroom image and push it out to all of the desktops in the classroom. This is typically done and has been done with scripts. It can now be done by the instructor using standard templates for the class.

There is no Workstation edition, server edition. The full box gets taken over by the agent. We can not install this on top of an operating system.

One of the features that will go into OEM will be monitoring of how well a guest is run and how much it is used. There currently is no monitoring to make this happen. There currently is not a way to clone a machine and exec post install scripts to do things like change root password or rehost an ip address. We try not to go into the guest os to make this happen.

The network currently ties to a network connection. There is currently not a vlan support in the vm engine. The network configuration is a slave to the linux kernel that vm is running on. This is an area worth looking into more because it sounded like the management interface does not allow you to manage this but the tools do exist on the VM agent to make this happen.

We will be tracking the Xen development group and tracking the code changes in Xen. We will push bugs back into the Xen code base.

question: what shared storage is supported
answer: anything supported on RHEL5 will be supported.

You can select from the target hardware which vmimage that you want to run. This can be done using pre-installed images on the local disk or using the wget command to download the image and run it.

The licensing model has not changed. The license is based on the number of CPUs on the system and not the number of CPUs in the virtual image. Nothing has changed from the previous model. You can show that you are only binding to a hard number you similar to hard partitioing/lpars/or domains then you can be licensed on the fewer number.

If you have a Windows system you are currently better running on ESX until we have the drivers to make Windows run faster. Long term we want to run faster in Oracle VM.