All change. Virtualization, here we come!

Followers of the blog will know I dig virtualization. I first ran Oracle in virtualized environments over a decade ago.

In my current company there is a strong virtualization presence in the Windows space. Pretty much all Windows servers, including those running MS SQL Server, are actually VMs running on a VMware farm. The UNIX/Linux side is a little different. Most stuff is still done on physical boxes and what little virtualization is done, uses CentOS and KVM for freebie open source solutions.

There are a lot of architectural changes going on at the moment and I’ve been pushing *very hard* for a switch to the virtual infrastructure (VI) for all our middle tier servers and a few of our databases. It is looking very likely (but not guaranteed) that this will happen.

Q: What is the incentive to switch to a virtualized environment?
A: We have a bad spread of resource utilization at the moment. Some very big boxes doing very little work, but in security zones that are too unsafe to use them for other purposes. Other boxes will soon be maxed out because they have been used to consolidate services. What’s more, some of the servers that are used for consolidation have multiple, conflicting, installations on them which are already starting to cause administration headaches.

Q: How can virtualization help with our resource utilization?
A: Using a 12 core server with 60G of RAM for a little Apache reverse proxy is crazy. For the sake of resilience, we have multiple of these. That’s just the tip of the iceberg. Imagine adding those servers to the farm, carving out some little VMs and leaving all the rest of the resources to do cool stuff with. Sounds like a no-brainer to me. :)

Q: How can virtualization products ease our administration headaches?
A: By far the biggest administration headaches we are seeing in the middle tier relate to having multiple installations of products on a single machine. Doing upgrades and trying to remove old software can cause no end of headaches. Some of our old boxes have 30+ installations on them. It does your noggin in when you are trying to find out what is going on. You often spend much more time trying to identify which installation you should be looking at, than actually doing the task you’ve been asked to do. By moving to the VI we can add a greater level of separation between some of these installations, making life much clearer. Our current vision is one installation per VM. To upgrade we set up new VMs, migrate the services on to them and bin the old VMs. Everything remains clean and simple.

Q: What virtualization product should we use?
A: We have a big investment in VMware. There is a dedicated team who manage this infrastructure and know what they are doing. IMHO it is only Fear, Uncertainty and Doubt (FUD) that prevents other people in the company moving some or all of the Linux stuff on to that infrastructure. Oracle products are only part of the infrastructure, but we understand and accept the Oracle licensing, support and certification implications of this move.

Q: What version of Linux will we be using?
A: Oracle Linux! Yeah baby!

Q: So nothing can go wrong?
A: Don’t be stupid. We are bound to get some pain points, but I think it will be a fantastic move in the right direction.

So now all that remains is to get the final approval and start moving this stuff on to the VI. If this happens I will be ecstatic. If it doesn’t I think my tantrums-per-day ratio will increase, but I’m bottom of the food chain in the company, so I will have to do what I’m told. :) Fingers crossed.

Cheers

Tim…

Virtualization Presentation…

Last year I wrote a post about how I was being driven crazy by silly things people try to do with virtualization. That spawned the idea to do an “introduction to virtualization” style presentation.

When I posted my abstracts for the OTN Tour of Central America I accidentally included the abstract for this presentation. It wasn’t until I was already on the road and reading through a conference agenda that I noticed this and had one of those “oh sh*t!” moments. :) Since I had already put down a bunch of ideas for the presentation, I decided to write it, rather than ask for a change to the agenda. I’ve now presented this session a few times…

Over the years I’ve had several discussions with other presenters about the content of slides and I’ve now come to the conclusion that I should have an article associated with each presentation I give, kinda like a whitepaper. This frees me from feeling like I have to cram my slides with too much information, but still leaves the attendees with something they can look back on later, that has a more consistent message than a few bullet points.

The article that goes with this virtualization presentation is now available here:

I’ve purposely tried to keep it very light and devoid of technical information or vendor-specific bias. It’s meant to be the kind of thing you can present to a newbie, or non-technical manager, to try and cut through some of the mysticism associated with virtualization.

Cheers

Tim…

VirtualBox 3.0 and Macs and stuff…

I read today that VirtualBox 3.0 has been released. In the past this wouldn’t have been a big thing for me because I mostly use VMware Server on my Linux box, but now I’m a MacBook owner it has more interest. I refuse to pay money for the crippled VMware Fusion on Mac, so VirtualBox is the obvious solution.

The Mac is starting to get under my skin. I’m currently writing this post on my Linux box and struggling. Why? I’m getting used to the Mac keyboard and the keys are in the “wrong” place on this keyboard. Also, having to change from cmd+c/cmd+v to ctrl+c/ctrl+v for copy/paste is hard work. I just stare at the keyboard for a second to try and figure it out. Funny how quickly a lifetime of automatically doing something can change in 2 weeks. :)

So it looks like my next PC will actually be a Mac, then at home I will be consistent. Oh no! It’s happening. I’m becoming an Apple fanboy. Aaarrrggghhh!!! :)

I’m still of the opinion that, looks aside, OS X is not better than Windows/Linux, it’s just different. It’s a nice kinda different, but not streets ahead as people would lead you to believe.

Anyway, enough musings of a Mac newbie… :)

Cheers

Tim…

VMware ESX Server 4.0 Released…

I guess the Oracle-Sun news makes everything else seem pretty small scale, so the launch of VMware ESX Server 4.0 will probably go largely unnoticed.

I’ve used many of the VMware offerings (Workstation, Server, GSX Server, ESX Server, ESXi, Intrastructure etc.) and seen the demos of the advanced features and they are impressive, but I have to keep asking myself, what do the majority of people actually want out of virtualization? The answer always seems to be “basic virtualization”. I love all the management tools and extra features VMware offer, but do I need them at the staggering price they cost? No. Actually, all the functionality I need comes in the VMware ESXi hypervisor product. It’s a free bare-metal hypervisor that does the job and everything else is just bells and whistles. So if I were going the VMware route I would take the free option and use ESXi. :)

Of course, there is another option. Without trying to sound like an Oracle fanboy (which I am), I can’t imagine running production virtualization with any product other than Oracle VM. Why? Because it does the job it’s meant to do (bare-metal virtualization) and it’s free. In that sense it is neck-and-neck with VMware ESXi. If you are planning to run Oracle software on your vurtual machines the support issue is much clearer on Oracle VM than ESXi, so the decision is really a no-brainer.

I’m sure there are companies that will need the additional functionality the VMware product set offer, but for many the latest iteration of the VMware products will be feature-creep gone too far. It will be interesting to see how this latest release pans out for them.

Cheers

Tim…

Oracle, Open Source and Virtualization…

Due to other commitments, I only made it to 2 presentations today…

Executive Panel: Oracle and Open Source:

The session was a seeded question and answer session to highlight Oracles commitment to “Free” software downloads, Open Source and Open Standards. If you follow the subject areas, I guess you know the score. The standout points for me were:

  • InnoDB and BerkeleyDB are have continued investment.
  • The linux kernel community is really happy with the work being done by Oracle. Oracle are not considered an evil empire by the inner circle.
  • The new Windows drivers for Oracle VM are currently in use within Oracle. No fixed release date, but they are on their way, so Windows performance under Oracle VM should improve when this is released. The were expected some time ago, but Microsoft have revised a bunch of APIs, so they had to be rewritten.
  • Oracle VM has supported Live Migration of VMs since it was released, but this is a manual process. Something similar to VMwares automated VMotion will be introduced at some point, but it will probably be under the control of Enterprise Manager/Grid Control, not part of the Oracle VM product itself. The impression I got was that this is a feature they want, not one that is in development, so don’t hold your breath.
  • Oracle are continuing to invest in a variety of Open Source products and Open Standards. Obviously they have their own interests at heart, but being open source means it is helping the Open Source community generally. If Linux get’s better, Oracle benefit, but so does everyone else.

Oracle Database in a server virtualization environment

A general run through current support/certification of virtualization by Oracle. Standout points include:

  • In addition to Oracle VM, Oracle support a variety of hardware partitioning and OS partioning methods provided by the big UNIX vendors. There was a URL of a certification matrix on OTN, but I can’t find it now. :(
  • Oracle support dynamic resource configuration in single instance databases. So you can alter the number of CPU’s and amount of memory allocated to a VM and Oracle will notice and work with it. Some of this was possible since 9i, but there were issues. It’s now solid for 10.2.0.4 (+ patches) and 11.1.0.7.
  • Oracle support RAC on Oracle VM, but the configuration is quite limited at the moment. The RAC must be 10.2.0.4 on OEL 5.1 or above and be running on OVM 2.1.2. In addiiton it must be paravirtualized and is only supported in static mode, so there are no dynamic changes to CPU or memory and no live migrations. I assume over time some of these restrictions will be lifted and 11g support will be added.

As far as best practices go, I guess most of it was pretty standard:

  • Don’t overcommit resources. You can’t expect good performance if you have 1 core running 5 VMs.
  • Standard CPU, memory, I/O and network sizing/thoughout considerations still apply.
  • RAC should use dedicated NICs, not shared ones.
  • NIC bonding best done at hypervisor level (Dom0), not at the VM level.
  • All VMs, especially RAC, need time synchronization (NTP).
  • Use native physical devices and multipath or NFS. This will perform much better than virtual disks.
  • Oracle still recommend consolidation of databases, rather than many small databases/instances. Only split things into multiple VMs, database or instances when it is necessary, otherwise you are wasting resources.
  • Expected performance will depend on platform, application type, workload type and resource allocation.

The licensing issue will no doubt catch many people out. Oracle doesn’t recognize software virtualizations ability to limit processing to specifc processors or cores, so by default you must license the Oracle software for all cores on the system when using software virtualization. Those platforms which support hard partitioning (big UNIX vendors) can use per-core licensing. If you plan on using a server just for VMs running the database, this is fine, but if you want to run half database and half app server you will be buying double the CPU licenses that you are using. Bummer. :(

Update: A talk this morning says pinning the VMs to specifc cores is within the spirit of the licensing agreement. Nice to see a consistent message… Not! :)

Cheers

Tim…

OpenWorld Unconference Session…

Update: I had to change the time slot… :)

I’ve signed up to do an Unconference session on Wednesday 10:00 in Overlook C. The session is called, “Virtualization: What is it and why should you care?

It will be about 30 minutes presentation, then a discussion. It’s an overview session and not product-specific. Hopefully it will generate some interest. :)

Cheers

Tim…

Sun’s xVM is here…

Sun have announced their revolutionary new product xVM. It’s an open source Xen derivative that installs on bare-metal.

Wait a minute… That sounds remarkably like what Oracle did with Oracle VM, which was released about a year ago…

So now we have four big players wanting a share of the market:

  • VMware ESX (ESXi) Server – A proprietory, bare-metal hypervisor. ESX isn’t free, but the ESXi version is.
  • Oracle VM – A free open source bare-metal hypervisor.
  • Sun xVM – A free open source bare-metal hypervisor.
  • Microsoft Hyper-V – A not-so-free proprietory hypervisor that’s not exactly bare-metal.

You have to take the word “free” with a pinch of salt. With most of these tools, the real power comes with the enterprise tools and they cost money. Even so, as far as basic hypervisors go, it’s looking a lot more crowded in free-town.

I guess the one that stands out on this list is Hyper-V because it isn’t really a bare-metal installation. You run Hyper-V on a Windows Server 2008 box and it effectively demotes the server to a partition, or virtual machine. As a result, if you want to run a bunch of Linux VMs, you still have to have the Windows Server 2008 parition managing the lot. Not what I would call bare-metal. I suppose this is less of a hardship for a Windows shop, but it just doesn’t sound like an enterprise product to me. Just an opinion. :)

It looks like the next couple of years are going to be kinda interesting. VMware is still the name on everyones lips, but the profit margins are going to take a bit of a beating as the competition fires up…

Cheers

Tim…

Desktop Virtualization Tools…

Some quick thoughts on the state of desktop virtualization tools…

Background

If you’ve been checking out my RAC articles, you’ll have probably noticed I’m a bit of a VMware fan. I originally used VMware Workstation, but switched to the free VMware Server when it was released in 2006. I don’t have much cause to complain about VMware Server, but it’s always good to take a look at the competition to see if I’m missing out…

I guess before I start talking about virtualization, I should define what I mean by desktop virtualization. For me, “server” virtualization tools should install on the bare-bones hardware, like Oracle VM and VMware ESXi. I don’t want to waste resources on having a host OS running as well as my virtual machine. On the other hand, desktop virtualization tools should run on top of my host OS, so I can play about with other operating systems, but don’t have to dedicate my hardware to that task.

Vmware Server

Even though the name contains the word “Server”, I still think of this as a desktop virtualization tool as it installs on top of the host OS, not on the bare-bones hardware. That said, it’s the most server-like of the desktop virtualization tools I’ve used. It’s very stable and very feature rich. That’s a good point for someone like me, but may be off-putting to the more casual users.

I guess the standout feature for me is the ability to share disks between VMs. This makes RAC installations using ASM, OCFS2 and raw disks possible, which is a pretty big thing for me. Obviously, if you never do RAC installations using shared disks this is irrelevant.

I guess my only real gripe about this product is VMware are slow to add new OS support. I’ve been waiting for the final release of version 2.0 for a long time, so I still don’t have proper RHEL5 support. That said, I’ve not yet run into any problems running RHEL5 or any other OS, so I guess I’m being mega-picky considering it’s free. :)

If you’re an Apple fan you are out of luck. VMware Server is a Linux and Windows tool only. That’s not as much of a limitation as it sounds since it’s supposed to be a server tool. VMware Fusion supports Macs, but it’s not free.

Parallels

I got my current laptop about 1 year ago and it came with Windows Vista. I tried to use VMware Server on it and ran into a bunch of network related problems. I knew some people who were using Parallels on Apple Macs and I saw from the website it was compatible with Vista, so I spent some money and got a copy of it.

Parallels was easy to use and “did what it said on the tin”. I had no problems running Windows and Linux guests, but it wouldn’t let me share virtual disks between VMs and it cost money. The first point was a major issue for me. The second one wasn’t so bad, but a little annoying when I was used to using a free product. :)

While using Parallels on my laptop I was still using VMware Server on my main Linux boxes. Not long after buying parallels I found a solution to my VMware Server on Vista networking issues, so I switched back to VMware Server and never launched Parallels again.

I guess Parallels trump card has been the support for Apple Macs, so you can use one tool for Windows, Linux and Mac.

Xen

This has been knocking on the door of VMware for some time. I guess two really big steps for Xen, as far as people like me are concerned, have been its inclusion in enterprise distributions, like RHEL5, and the introduction of Oracle VM. The enterprise linux distributions (Red Hat, SUSE etc.) approach is to run Xen on top of the Host operating system, making it look very much like a desktop tool. This is a bit unfair as it’s certainly got more to it than that, but that’s how it appears. Oracle’s approach with Oracle VM is to “remove” the host OS and allow it to be installed on bare-bones hardware. I say “remove” because it is still there, but it’s a very small footprint, not a complete kernel+tools installation. This is much the same as the approach used by VMware ESXi. The inclusion in heavyweight distributions like RHEL and its use by Oracle in Oracle VM send out a strong signal about the power of Xen.

As soon as I got my hands on CentOS 5, I gave Xen a try and was pleasantly surprised. It works well and has the “server clout” that some of the other tools lack. When chatting to some Red Hat staff about a year ago, the general consensus was Xen out-performs VMware for Linux VMs, but it a little slower than VMware for Windows VMs. I’m not sure if that position has altered since then and I certainly have no evidence to backup that statement. :)

I guess the biggest issue for most people will be that Xen is only available on Linux. That’s fine as far as server virtualization is concerned, but it means it drops off the map where desktop virtualization is concerned because it’s still a MIcrosoft world out there.

VirtualBox

Available for about 18 months, and acquired by Sun about 5 months ago, I only noticed VirtualBox a few weeks ago when I was looking through the “Add/Remove Applications” utility on Ubuntu 8. A bit of Googling and it turned out to be the current darling of desktop virtualization. Of course, now I know it exists I can’t go a day without noticing someone else writing about it. So today I thought I would give it a shot, which ultimately inspired this post.

I’ve done a test drive of Virtual Box Open Source Edition (OSE) on Ubuntu and it’s pretty sweet. The interface is very simple and it works fine. I can’t speak for the paid-for product, but the OSE edition has no pretensions of being a server virtualization product, so it lacks some of the things I hold dear, like shared disks. What’s more, looking through the forum, it is unlikely to add this type of functionality in the near future, as its quite rightly not considered a must-have for the desktop.

If you are thinking about running Oracle 11g on VirtualBox, you might want to read this post by Eddie Awad.

I guess the two big plus points in favor of Virtual Box are its free, and its available for Windows, Linux and Mac. Those two alone make it pretty compelling.

Others

I know there’s a bunch of other virtualization tool out there, but I don’t consider any of them particularly mainstream. I know Microsoft Virtual PC 2007 could be considered a biggy, but I would never use a Windows only product like this because I’m not a Windows only guy. Call me biased, but it is my blog.

Update: Look at Qemu if you need non-x86 emulation, or coLinux if you only use Linux VMs. :)

Conclusion

For the time being I will be sticking with VMware Server. The main reason for this is it allows me to do my RAC installations using shared disks. Added to that, I can share my VMs between my Linux and Windows boxes with no problems.

If you don’t need shared disks I would seriously consider VirtualBox because it’s simple, free and supports all the right platforms. Seems like the obvious choice for most people. :)

I’m interested to know your feelings on these and other products. After all, I’m just speaking from my experience of them and it’s always good hear differing opinions.

Cheers

Tim…