Given the incredible number of comments I received on my last blog post, and the content of those comments, it is very obvious that folks are extremely confused by what I meant by that post, as well as the comments by Mr. Garsthagen (Oracle Director Level Employee), referenced in that post.
The confusion is typified by the following comment, the most recent I have received:
Oracle does not recognize either (Vmware/DRS Affinity) as a hard partition
First, to be completely clear, I have never stated, nor do I believe, that VMware (or any other software hypervisor for that matter) constitutes hard partitioning as that is defined in Oracle's own documentation. Hard partition has to do with licensing a subset of the cores on a database server. I have always maintained that all cores on a physical server where Oracle is installed and/or running must be licensed to run Oracle.
The issue has to do with licensing of a subset of servers in a VMware DRS / HA cluster. Prior to VMware's white paper on Oracle licensing and support, I maintained that the most conservative position was to create a dedicated Oracle DRS / HA cluster, and thus limit VMs running Oracle to only that set of servers. This illustrated as follows:
Once the VMware Oracle licensing and support white paper was published, and particularly once I became aware of the work of Dave Welch with House of Brick, Daniel Hasselink with License Consulting, and Jason Keough with iQuate, my thinking changed radically.
First of all, the issue with the above approach is simple: Not all customers have the necessary scale of Oracle servers in order to dedicate an entire VMware DRS / HA cluster to just running Oracle. For these customers, it is important to have Oracle VMs limited to a subset of the servers in the cluster. The following would illustrate this:
The essence of this approach is that the configuration must limit Oracle VMs to a subset of the physical servers in the cluster. This complies with Oracle's License and Service Agreement (OLSA), the only relevant document covering Oracle licensing, which states that Oracle software licensing attaches to the CPU cores on physical servers on which Oracle is "installed and/or running". Thus, if you provide a mechanism to limit the physical servers where Oracle VMs are allowed to run, and also provide a methodology to track this over time, then that method satisfies the OLSA.
Fortunately, VMware vSphere provides such a mechanism: It is called Mandatory Host Affinity, and means that a VM is only allowed to either boot or migrate (via vMotion either manually or through a DRS Cluster load balancing process) onto a defined set of servers only. VMware vCenter also provides VM logging which provides a detailed record of the physical servers on which each VM has run. Finally, license compliance software vendors such as iQuate provide tools to track each Oracle VM's location on physical servers within the cluster, and this tracking data has been certified and accepted by Oracle for licensing purposes.
The net-net is that the issue of Oracle licensing of a sub-cluster within VMware vSphere has been resolved, as indicated by Mr. Garsthagen in his online video. He simply restates the obvious. VMware vSphere provides tools which allow you, the Oracle customer, to license a subset of a VMware DRS / HA cluster, provided that you:
- Enforce strict rules regarding where the Oracle VMs are allowed to run
- Track compliance with those rules over time
- Are prepared to provide this tracking data to Oracle LMS on demand
At this point, numerous Oracle customers have provided this data to Oracle LMS and have been allowed to run Oracle on a VMware sub-cluster with no problems in terms of licensing.
Again, to reiterate my clarification, it was never my intent to imply that VMware vSphere (or any other software hypervisor) provides hard partitioning. Hopefully, this is now cleared up. Please let me know your thoughts via comments to this post.