Virtualization Strategy with Oracle VM and Oracle Linux

I’m giving a presentation on this topic on thursday 25 Oct for OracleOpenXperience. Here are the slides for my presentation. Hope you find it interesting.

Oracle OpenXperience – Virtualization Strategy with Oracle VM & Oracle Linux

using ovmd and ovm_vmmessage to (re)configure your virtual machines.

What you need

  • Installation of ovm_utils on your manager ( p13602094_30_Linux-x86-64.zip available on metalink )
  • A VM with ovmd installed. Keep in mind that all OVM3 templates come with OVMD already installed. If you need to install it manually see this manual

How it works

ovmd is a listening process on your vm that allows messages to be send from and to the manager.
ovm_vmmessage is a utility included in ovm_utils that allows you to send messages to a vm in key/value pair.
the ovmd has a script called configure that can be executed to set system information. When you call it manually :

(vm1) # ovmd -s configure
Parameters:

u’com.oracle.linux.network.hostname’:
u’com.oracle.linux.network.host.0′:
u’com.oracle.linux.network.device.0′:
u’com.oracle.linux.network.hwaddr.0′:
u’com.oracle.linux.network.mtu.0′:
u’com.oracle.linux.network.onboot.0′:
u’com.oracle.linux.network.bootproto.0′:
u’com.oracle.linux.network.ipaddr.0′:
u’com.oracle.linux.network.netmask.0′:
u’com.oracle.linux.network.gateway.0′:
u’com.oracle.linux.network.dns-servers.0′:
u’com.oracle.linux.network.dns-search-domains.0′:
u’com.oracle.linux.root-password’: [required]

============================================================================

Input or edit parameter:

To use the current value, press “Enter”.
To input an empty string, input ” and press “Enter”.

Script: network
Key: com.oracle.linux.network.hostname
Description: System host name.
Required: False

Please input new value:

the parameters section will show you which keys the script accepts and recognises.
You can send these key/value pairs from the manager to the vm to skip the dialog.
f.e.

(manager) # ./ovm_vmmessage
Arguments :
-u [user name] Oracle VM Manager admin username (required)
-p [password] admin password (required)
-h [hostname] Oracle VM Manager hostname (required)
-X use secure (ssl) connection to port 54322
-v [vm name] virtual machine name
-U [vm UUID] virtual machine UUID
-k [key] key to send
-V [value] key-value to send (required when using -k)
-q [key] key to query

(manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.hostname -V test_ovmd
(manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.root-password -V rootroot

If you now check on your vm for the values, you’ll see the following :

(vm1) # ovmd -l
{“com.oracle.linux.network.hostname”:”test_ovmd”}
{“com.oracle.linux.root-password”:”rootroot”}

In order to make them active. Just run the ovmd -s configure script again. No dialog will be shown and all settings will be saved and active after a reboot.

(vm1) # ovmd -s configure
(vm1) # reboot

Configuring Templates

Now it becomes interesting!
Some of you might have recognised the questions the ‘ovmd -s configure’ command asked. These are actually the questions a newly created vm asks when it is cloned from the OVM3 templates of oracle. Wouldn’t it be interesting you don’t need to launch the console for each and every vm you create?

Well try this :

  • Create a new VM by cloning it from an OVM3 template/assembly available on edelivery ( f.e. OVM_OL6U2_x86_64_PVM.ova )
  • Boot the vm and let it sit on its dialogs
  • Run the following commands :

    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.hostname -V vm1
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.device.0 -V eth0
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.onboot.0 -V yes
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.bootproto.0 -V static
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.ipaddr.0 -V 10.100.23.36
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.netmask.0 -V 255.255.255.0
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.gateway.0 -V 10.100.23.254
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.network.dns-servers.0 -V 10.0.13.44
    (manager) # ./ovm_vmmessage -u admin -p password -h localhost -v vm1 -k com.oracle.linux.root-password -V rootroot

  • And voila. The minute your root password is set ( remember to do it last ), the information is loaded and the vm becomes active with all these settings applied. No need to launch the console. Awesome for batch creating vm’s.

It can be nice to reset all settings and make sure ovmd boots with the configure script again on next boot. You can do that by editing the /etc/sysconfig/ovmd script and set INITIAL_CONFIG=yes. Now stop the vm and clone it as vm/template, on first boot the dialog will start again and you’ll be able to send the commands or answer the questions.

I would like to point out this was tested on OracleVM 3.2.1 public beta but it should be applicable to 3.1.1 aswell.

You can find more information about this on the blog of Wim Couckaert.

News from Oracle Open World 2012

I’m just back from OOW and the following is a small summary of the items that were hot and new.

Clusterware 12c announced for 2013

  • Flexasm : ASM no longer needs to be on the same node as the database. Allows for HA on ASM level.
  • Flexcluster : Clusterware now has a lightweight mode in the installer for application/middletier setups. You can combine these with the normal clusterware mode to form 1 big cluster. ( hub nodes and leaf nodes )
  • You can now create a Scan vip for each public network.
  • gsd service is removed because there is no support for 9i databases on clusterware 12c.
  • Shared GNS : You can now have a shared GNS over multiple clusters.

Database 12c announced for 2013

  • RAC Application Continuity : First ever database to preserve commit outcome and ensure application continuity during unplanned downtime.
  • Pluggable Databases : Databases can now be plugged in a container. Consolidating the background processes, redo and undo.
  • Xstream : A GUI on streams apply/capture processes is further enhanced but only available when you have Golden Gate license.
  • dbua : now has backup/restore and moving database files during upgrade built in.
  • dbua : Gathering statistics is now optional.
  • dbua : Now runs the upgrade scripts in parallel mode. Speeding up the whole process.
  • smart flash : Can use SSD’s as extention of Buffer Cache.
  • RMAN : can now do recover table
  • RMAN : Standby databases can now use RMAN to apply an incremental backup automatically ( Recover database from for standby )
  • RMAN : Now automatically converts datafiles from 1 platform to the other. ( big-little endian )
  • dbconsole is renamed to “EM Express” and now runs from inside the database.
  • Many more new features but I concentrated on virtualization and linux during OOW while my colleague did 12c.

OVM 3.2.1 in public beta

  • Support for mySQL databases as repository for the OVM Manager
  • OVM Manager now supports OVM on SPARC
  • Statistics of OVM Servers now available in OVM Manager ( Health tab)
  • Minor GUI changes and fixes
  • UEK2 kernel in dom0 for driver compatibility with Oracle Linux
  • OVM CLI now integrated and further enhanced
  • next Beta refresh will contain open Vswitch
  • OVM is now integrated in ODA and Exalogic, but each node has a local OVM cluster. No HA.

Oracle Linux

  • ksplice : allows for kernel upgrades without downtime
  • yum security updates : Now possible to apply only security updates to your system using yum
  • Dtrace : Solaris utility that was ported to Oracle Linux.
  • BTRFS : ZFS-like filesystem for Linux.
  • UEK3 is coming
  • SELinux profiles for every oracle product will be provided in the future
  • Linux Containers : Allows for isolation of applications while maintaining 1 OS.
  • support for swapfile over NFS
  • cgroups : Allows for limiting CPU,IO and memory on process level.

Acquisition of Xsigo was announced

  • Allows for virtualizing of network layer.
  • Will be integrated in OVM Manager in future releases.


    • I’ll try to focus on some of these new things in later Blogposts. As always if you have some questions, feel free to contact me or comment.