Deploying Templates with Oracle Restart on OVM

I decided to post this after investigating how to use these templates in our demo room setup. You would think it’s straight forward but it appears the deploycluster tool, used to deploy these templates, is not yet compatible with OVM 3.3.1 and higher. That surprised me because it has been out for 3+ months now and with Oracle putting the emphasis on templates, it is strange that they do not work out of the box with the 2 most recent OVM versions. ( 3.3.1 & 3.3.2 )

Preparing the template

Let’s start with preparing everything for deployment

  • Download the template on oracle support patch nr: 18888811
    1
  • Unzip the 3 files resulting in 3 *.gz files
  • Join file 2A and 2B together
    (root) # cat OVM_OL6U6_X86_64_12102DBRAC_PVM-2of2-partA.tar.gz  OVM_OL6U6_X86_64_12102DBRAC_PVM-2of2-partB.tar.gz > OVM_OL6U6_X86_64_12102DBRAC_PVM-2of2.tar.gz
  • Place file 1 and the newly joined file 2 on a webserver ready for import into OVM.
  • Import the template
    2

Creating the VM

Follow the readme to create a VM, I decided to use 2 ASM disks in 1 diskgroup instead of the minimum of 5. I’m also deploying the oracle restart and not the RAC at this time.

  • Create the disks needed for ASM
    3
  • Create the VM based on the template
    4
  • Edit the VM and remove a network card, the second card is normally for interconnect in a rac deployment.
    5
  • Add the newly created disks to the VM
    7

Deploying it with deploycluster tool

  • Download the DeployCluster Tool
  • Place it on any linux machine, I normally place it on the OVM manager because of why not.
  • Configure netconfig.ini, start the VM and run the tool
    (root) # ./deploycluster.py -u admin -p password -M BNS -N netconfig.ini
    INFO: Oracle VM Client  (3.2.9.746) protocol (1.9) CONNECTED (tcp) to
          Oracle VM Manager (3.3.1.1065) protocol (1.10) IP (10.100.23.6) UUID (0004fb00000100008948135041eef83e)
    
    ERROR: This deploycluster.py version (v2.1.0) does not support connecting to Oracle VM Manager higher than 3.2; found Oracle Manager version 3.3. See My Oracle Support Note #1185244.1 and OTN for deployment options on this version.

So we see here there is a problem with compatibility. If we go to the mentioned note we see :

The Deploycluster tool currently only supports Oracle VM version 3.2 and below
Manual or Message based deployment is possible on Oracle VM 3.3.1

But no guidelines on manual deployment.

Deploying it with message based or manual deployment

  • Download and install ovm_utils on the ovm manager ( Patch: 13602094 )
  • Boot the VM and send the necessary messages ( or open console and do it manually ), KEYS :
    • com.oracle.racovm.netconfig.arguments => “-n1”
    • com.oracle.racovm.netconfig.contents.0 => send the content of netconfig.ini, this is for initial network setup
    • com.oracle.racovm.params.contents.0 => send the content of params.ini, we’ll leave this empty for now
    • com.oracle.racovm.racowner-password => password for oracle user
    • com.oracle.racovm.racowner-password => password for grid user
    • com.oracle.linux.root-password => password for root user
    • com.oracle.racovm.netconfig.interview-on-console => NO ( do not boot with the rac interview screen )

    Results in :

    export CMD="/u01/app/oracle/ovm-manager-3/ovm_utils/ovm_vmmessage -h 10.100.23.6 -u admin -p password -v BNS"
    
    $CMD -k "com.oracle.racovm.netconfig.arguments" -V "-n1"
    $CMD -k "com.oracle.racovm.netconfig.contents.0" -V "
    # Sample Single Instance or Single Instance/HA (Oracle Restart)
    NODE1=BNS
    NODE1IP=10.100.23.161
    PUBADAP=eth0
    PUBMASK=255.255.255.0
    PUBGW=10.100.23.254
    DOMAINNAME=labo.exitas  # May be blank
    DNSIP=10.100.23.20  
    CLONE_SINGLEINSTANCE_HA=yes  # Setup Single Instance/HA (Oracle Restart)"
    $CMD -k "com.oracle.racovm.params.contents.0"  -V ""
    $CMD -k "com.oracle.racovm.racowner-password" -V "oracle"
    $CMD -k "com.oracle.racovm.gridowner-password" -V "oracle"
    $CMD -k "com.oracle.linux.root-password" -V "ovsroot"
    $CMD -k "com.oracle.racovm.netconfig.interview-on-console" -V "NO"
    
  • Run the script and the machine will boot with a complete functional network
  • Logon as root with the previous specified password
  • Open /u01/racovm/params.ini and modify it for our environment, this file is very well commented and clearly explains every parameter, go wild 😉
    • Change GIHOME and DBHOME ( do not forget to move the clone files on the vm aswell if you change it )
    • Change the ASM settings, because we work with 2 disks
      RACASMDISKSTRING="/dev/xvd[c-d]1"
      ALLDISKS="/dev/xvdc /dev/xvdd"
      ASM_MIN_DISKS=2
    • Change DBNAME and SIDNAME
  • When you are done, perform the build :
    # ./buildsingle.sh
    Are you sure you want to install Single Instance/HA? YES
    Do not run if software is already installed and/or running.. [yes|no]? yes
    ...
    INFO (node:BNS): This entire build was logged in logfile: /u01/racovm/buildsingle.log
    2015-03-13 05:20:11:[buildsingle:Done :BNS] Building 12c Single Instance/HA
    2015-03-13 05:20:11:[buildsingle:Time :BNS] Completed successfully in 1052 seconds (0h:17m:32s)
    

That’s it, We deployed a VM with Oracle Restart and a 12c database with ease.

Converting a windows 2003R2 VM from VMWare vCenter to Oracle VM 3.x

With more and more VMWare customers choosing to use Oracle VM as virtualisation platform for running Oracle Software, the need rose at a client to convert some of the windows VM’s on vCenter to OVM. Surprisingly, I didn’t find a guide in the OVM 3 manual. I knew OVM 2.2 had a chapter about V2V, but only P2V gets covered in the OVM 3 manual.

This is the procedure I successfully followed :

Pre-export

  • Apply fix for kb31408 if you are using scsi devices in your VM. ( This is also documented in Metalink note. 754071.1 )
  • Uninstall vmware tools
  • Stop the VM ( Downtime starts here )
  • Make sure there are no snapshots on the vm.

Export

  • Select the VM in vCenter and click on the menu bar on File > Export > OVF
  • When you get the question if you want a single OVA file, answer yes.
  • Place the exported ova file on the http server you use to import into OVM Manager. ( I use httpd on the ovm manager )

Import

  • Follow all the usual steps you would follow to import an ova template into OVM.
    • Import as assembly
    • Create VM Template
    • Create VM
    • Start VM ( TIP: open the console before you boot, so you can follow the boot sequence ). If you receive a blue screen, chances are that you didn’t apply the fix for kb31408 correctly.

Post-Import

  • You need to reconfigure your network because the mac address of the network card in the vm has now changed. 
  • Reactivate windows ( because your hardware has changed )
  • Install the paravirtual drivers ( version 3.0.1 ) and reboot ( Downtime ends here )

And we had a running VM on OVM identical to the one we had on vCenter in about 45 minutes. Most of the time is spent in the export process of vCenter.

Oracle VM Disaster Recovery

A lot of my clients ask me about Disaster Recovery in a OVM setup. I hope this new event of oracle gives us some more insight. You can register here. I’ll certainly check it out. The whitepaper the event is based on can be found here.

Consistency between the Primary and DR site is not handled in this paper.According to Oracle this is a task for the application (f.e. Dataguard ) or the Storage layer (f.e. EMC Recoverpoint ). The white paper handles all the necessary tasks to make sure vm’s can be seen and started on the DR site. I hoped there was more possible with the tight integration of UEK and OVM. But offcourse, is that really needed when you can already have consistency solutions on storage/application level?

I believe VMWare has some solutions for this. Anyone care to elaborate on those?

 

 

IOUG Virtualization SIG – Day 1

So, Day 1 of the Virtualization SIG on www.ioug.org is over. All by all an interesting day.
The schedule was :

Session 1 – Oracle on Oracle VM – Expert Panel
Session 2 – Maximizing your Virtualized Environment with Oracle VM
Session 3 – The RAC OVM Templates and the new DeployCluster tool on OVM3
Session 4 – The Latest on Oracle VM
Session 5 – Simplifying Application Deployment in Cloud Using Virtual Assemblies and EM 12c

The first session was a general session about Cloud, Virtualization and introduction to OVM.

Roger Lopez talked about OVM and it’s features in detail in the second session. I had the pleasure of seeing Roger on OOW with this session. It was very well structured and provided a look at how you deploy RAC clusters on OVM with the new templates and DeployCluster tool. A perfect introduction for the next session off course where Saar Maoz talked really enthusiastic about this tool and explained in detail how it worked and how you could go to a very low level and perform the commands yourself. It was no surprise to me that the tool used the same OVM API as I blogged about here. It was a surprise however to see how robust the application was written and how well it adjusted to reruns and failures. There was even some time for demo’s that I really appreciated.

Xsigo was something I talked about in my presentation aswell and was glad to see it in the presentation of Ronen Kofman ( Latest on OVM ). It really simplifies your whole Network topology. I have no idea on prices yet though. The rest of his presentation handled the new features in the 3.2.1 open Beta.

The last session of the day handled the Virtual Assembly Builder, A pretty powerful tool to create, manage and deploy your assemblies as fully functional interconnected Virtual Machines. It’s on my todo list to play around with it.

Tonight is Day 2, the VMWare day. I hope this time it will talk a little bit more about best practices on running Oracle Databases Virtualised, but from the titles of the sessions, I’m sure that will be the case.

You can register here

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