I’m working on a customer site that is using VMWare. While the regular DBA group insisted that none of their production databases are hosted on VMWare, a new BI project was scheduled to be the “test” to see if Oracle products (AS/EE DB) could run successfully on these “virtual machines.”
As a developer who is aware of the burstable nature of resource utilization, the promise of VMWare is immense. Our applications often use immense amounts of I/O, CPU, and Memory while doing their real work. However, a great deal of the time they sit waiting for human operators to catch up. The idea of housing many enterprise class servers on one physical system with a central location of management/provisioning/performance evaluation/etc sounds brilliant.
Now I’ve read the VMWare product material, and an overall positive set of opinions and benchmarks from people running on vmware. From where I sit, the VMWare stack is a good solutions for most systems. If I were running a farm of JBoss, Apache, MySql, IIS or other commodity-esque servers VMWare would be an ideal solution. Actually, I should rephrase, the programs that I refer to are those that have a VERY WIDE installation base and have been installed on a diverse and very hetergenous set of “Linux” or “Windows” hardware combinations. These programs are the ones that I believe would do very well in VMWare because they are used to “funny” hardware readings, etc.
Again, this is the experience of one consultant on one project, but I feel it forms a valid recommendation all the same…
Oracle on VMWare is possible but not recommended, currently. Oracle’s official position (note 249212.1 on Metalink) is that it is supported as long as you prove to them the same bug exists on a regular PC (having to have an identical physical system to prove to Oracle that it’s not VMWare sort of defeats the purpose of VMWare now doesn’t it!)
My primary reasoning being that “Oracle is an application built to determine intimately, the structure and performance of the underlying hardware in an effort to increase it’s own performance.” It has hooks into system areas trying to poll and read Memory Usage, I/O performance, CPU utilization, etc. Oracle endeavors to understand, at a low level, the configuration and the performance of the platform that supports it. VMWare, in my experience, tends to report some “funny” readings when it comes to Hardware.
- On my project, the laundry list of “funny” behavior include:
- df commands that hang with no Ctrl-C response. Must log in on another term and kill -9.
- applications do not use swap space. Linux sees the swap space but does not use it.
- CPU readings show no idle time, full system time, with oracle Idle.
- random startup/shutdown errors with Oracle with regards to obtaining network information
- 10g AS EM Website has difficulty keeping track of processes (nearly always, the control panels show the component as down/unavailable/etc) when the components are operating properly.
- Server can be “rolled back” to a save point in the past without any visible warnings of such an event (when a physical server is lost, the backup team typically notifies users that it was restored from X backup). VMWare can be rolled back with a simple reboot (obivously this is configured but it has to play into the physical deployment of your Oracle to ensure you get the right behavior).
Note: I’m no OS expert, and many of these can likely be resolved by a RH 2.1 Admin with proper VMWare knowledgable. Really though, are the admin/consulting dollars well spent resolving issues?
Some may flame me for being such a “business solution” biggot, but hardware is a cheap commodity and should be factored as such The price of a few 2way Xeon servers with RAID and copious amounts of RAM could easily be overshadowed by enough admin/consulting days lost on tracking down “funny” behavior.
The saving grace for VMWare may be a feature which I have not used. Live, development snapshotting. What I wouldn’t give for a great, easy way to take live snapshots throughout time while doing my work. Development is many times, exploration, and the ability to “play it safe” with the click of a button is brilliant.
I’d love to hear from anyone out there on their experiences with Oracle on VMWare. Perhaps I’ve just had a bad go at it… Hope, for reasons of happy Oracle professionals, your experience has been better!
UPDATE: The servers have also “FROZEN ENTIRELY” a la Blue Screen of death however this is RH Enterprise Linux. Just another item on the laundry list.
UPDATE 2: Servers have frozen up again, and the systems staff can not, for the life of them, figure out why the phase of the clock is so awful.
Sorry, but I am desperately seeking some help and this is the only page I could findwith Google, which describes my problem.
You write as one of the problem with VMware and Oracle: “applications do not use swap space. Linux sees the swap space but does not use it.”
I seem to have the same problem – I am installing WebCenter -, running out of memory, java can’t allocate enough heap space and swap is not used at all.
I wos wondering if you’ve learned any solutions since you’ve ported this message.
I do not think the problem has to do with Oracle on VMW. These are inherent issues with VMWare present on most Unix/Linux deployments. The clock shift, network throughput (lack of good drivers), swap, etc., anytime you upgrade/patch your kernel, it requires you to download the new Kernel source so you can recompile VM Tools. The list goes on…
About VM support, we have the same issue with so many products which will not certify/support their system running under VM. IBM was one of them, CA & Netegrity are few other vendors which have denied support to us.
Also you missed one important point when you talked about TCO (total cost of ownership) when you compared to buying physical hardware as compared to using VMWare. Here you did not consider the cost of the VMWare license that well could run into hundred thousands dollars easy to migrate a medium sized corporation.
But thanks for the write-up.
I think you may be a little short-sighted on the TCO… One gigantic benefit to virtualization is in cooling and power. Over the life of a server, you may spend tens of thousands of dollars on cooling and power. The enterprise license of Virtual Infrastructure 3 is only about $5k US, per two processor pair. If a even 6 or 8 virtual servers can be hosted on a single $10k Quad processor server, (something that is not at all unusual) then the ROI on that $10k VMware license is pretty quick.
Virtualization also allows for a certain amount of flexibility and scalability that you just cannot get with physical servers alone. Test/Developments systems can be created in minutes, from underutilized resources, instead of the days or weeks that it might take to procure/configure/deploy a traditional physical server. And when you’re done with it, the test platform can simply “go away”, returning resources to the pool for other vm’s to use. And High Availability becomes easy with Virtualized Servers, as does Disaster Recovery.
I’ve seen some large VMware deployments (>100 VM’s, running all kinds of services, that couldn’t have been achieved, or supported, on physical servers alone. While it may not be suited to all applications/services, it plays a big part in modern data centers.
I agree with you. I’m a big fan of VMWare and run VMWare fusion on my Mac / etc. This blog was written 3.5 years ago when virtualization (and apps/drivers/OSes that run on ’em) was just getting going. Also, people (sys admins, DBAs) have been trained and are properly deploying these days.
I’m sold on it. 🙂 While I believe there are some things that good ole fashioned steel is good for (Data Warehouse consulting means I recommend bunches of spindles and copious amounts of RAM) I’m a big believer in virtualization, and the TCO of it.
Are there any special VM settings for oracle 10g when AWE/VLM settings are invoked on the Oracle side. We seem to be having an issue with long FIRST logons to our oracle app. Also, in VM performance monitoring, when oracle starts up, we grab the 5G, but soon memory seems to be reclaimed by VM. In case of Oracle, our buffers need to stay intact and it seems VM is reclaiming that ram. Any thoughts?