As I type this I’m flying 36,000 feet above Australia on my way to Singapore. It’s great now that Singapore Airlines has Wifi on their flights from New Zealand. I’m connected into my virtual desktop back in Auckland and have some performance tests running on my Nutanix 3450 system, using Oracle RAC. The same system that also happens to host my virtual desktop and all the supporting VM’s. But is my desktop session performance impacted while I’m running a high performance Oracle RAC database test? No. No longer is it necessary to have completely separate silos of resources to support different performance requirements in a virtualized environment. This is the same system that just days ago I upgraded the storage controller firmware and system firmware with a single click, without any downtime at all, without a reboot, without even having to migrate a single virtual machine. This is a new way of operating, a much simpler way, for a new always on world. This is what we at Nutanix call Web-Scale. This new way is even suitable for business critical enterprise applications, such as Oracle databases, even Oracle RAC, which I have been very successful virtualizing for a long time and at large scale. This is a much easier way to implement, manage and run the applications you need to support without compromising SLA’s, functionality, or performance. Now I’ll share with you a demonstration of this capability in action and also some of the best practices, along with where to get the complete best practices guide.
One of the reasons I joined Nutanix was to bring this new web-scale Infrastructure world to enterprise apps. Up until now it has been possible to design apps in a web-scale way, provided you could re-write them from the ground up. But it hasn’t been possible to deliver the benefits of web-scale infrastructure to all the other enterprise applications and databases that are still very important. That is until Nutanix came along.
Running things like Oracle RAC is not easy, even in a physical world, although I argue it is easier in a virtual world (no physical NIC teaming or storage multi-pathing to worry about), what about when it’s deployed on a hyper-converged platform. You really don’t have an enterprise class system unless you can run something like Oracle RAC, and run it well. This is why I chose to use Oracle RAC, one of the most critical enterprise applications, to develop, test, and verify the capability of the Nutanix platform. My thinking was if Nutanix can run Oracle RAC well, there isn’t much that it can’t do (within the limits of performance of the underlying system, which I will also demonstrate). I also wanted Nutanix to be the first hyper-convered platform to demonstrate and test Oracle RAC, including with vMotion, which is not an easy task (just ask your DBA’s).
High Level Benefits of Oracle Databases on Nutanix Web-Scale Infrastructure
Here are some of the high level benefits of Oracle on Nutanix, for more you can see my article Nutanix: The Big Red Easy Button for Oracle Databases – Part 1.
- No need for any LUNs, zoning, masking etc or multiple LUNs, use a single datastore and performance isn’t impacted
- No need to worry about Storage Multi-pathing or network teaming
- Integrated Snapshot and DR capability
- Data locality for high performance, low latency, low network congestion
- Always on 24/7, never do a forklift upgrade again
- Manage applications not infrastructure
- Oracle Databases
- Simplified database layout
- Easily separate different IO patterns, sequential IO is treated as sequential
- Scale-out performance, great with Oracle DB and Oracle RAC
- Provision Databases on Demand, as well as the database infrastructure
- More valid and realistic testing reducing defects and time to market
Demonstrating Oracle RAC on Web-Scale Infrastructure
The video below shows a demonstration of an Oracle RAC system running under extreme load conditions. I’m using a load generator to run a high transaction load to put stress on all resources of the Nutanix platform, such as storage, CPU, RAM, Network, and then I’m using vMotion at the same time to stress the network even more. This combined workload puts every component under pressure, including the Hypervisor, vSphere 5.5. You can see that even under extreme 100% CPU load, using Monster Oracle RAC VM’s, doing 6,000 – 10,000 IOPS, and 30 Gb/s on the network not a single user session is interrupted or lost, no IO errors occur. It just keeps asking for more.
This not only demonstrates the robustness of the Nutanix storage system, but also the robustness of VMware vSphere as a hypervisor suited to running mission critical systems, even while doing maintenance. All of this achieved in a mid-range Nutanix platform that consists of a single 2U appliance (4 nodes) connected to 2 x 10GbE switches. Enterprise class in a very small physical footprint. Only consuming around 1.2KW of power. It only gets better the more you scale the environment, the more nodes you add to it, all the time adding capacity and performance. This isn’t even the Nutanix 8150 node that is purpose built for virtualizing business critical applications.
What makes this even more challenging is that all network traffic, including vMotion, user sessions, database interconnect traffic, and the Nutanix storage traffic is going over the same 2 x 10GbE NIC’s per host. Even with this, it all worked. Thanks in part to VMware vSphere’s Network IO Control capability and dynamic network load balancing using Load Based Teaming. This shows that even under the most extreme conditions, which you wouldn’t normally have in a production environment, the Nutanix platform is rock solid and continues to service the applications, without disruption.
Oracle On Nutanix Web-Scale Infrastructure Best Practices
At Nutanix we put the hard work in, so you’ll wear the Nutanix grin. Part of my job was to test and validate Oracle on Nutanix, and then document the best practices. This takes the guess work out of deploying Oracle on Nutanix and getting the best out of it. It also helps us to develop our platform and to ensure our system is as robust as possible. I used the best practices and the results of my testing to produce the video above. I also included in the best practice guide all of the OS tuning that I did, and all of the scripts I used to set up the test environment. This is so you may do the same testing and achieve similar results (trust but verify). We like to be transparent about what we do, and give you the real data, not some markatecture. Below are just some of the best practices for you to use, for the full document you can download the Oracle Databases on Web-Scale Infrastructure: Best Practices document. You’ll notice many of these apply any Oracle database platform.
- Nutanix ClusterBest Practices
- Use a single container
- Utilize appropriate model based upon compute, storage and licensing requirements
- Ideally keep working set in SSD and database size within node capacity
- Separate Database Files, Redo Log Groups and Archive Log Groups
- 1 Database File per vCPU Minimum
- Use Oracle ASM (4MB AU), at least 2 disks per each disk group
- Use Huge Pages
- Use multiple PVSCSI controllers (including Boot Disk)
- Parallel Threads Per CPU = 1, DB File MultiBlock Read Count = 512
I hope you get a lot out of both the video and also the Oracle Databases on Web-Scale Infrastructure Best Practice guide. Nutanix is an Oracle Gold Partner and is working with Oracle on initiatives to better support enterprises that wish to run Oracle applications and databases on Web-Scale Infrastructure. We will also be releasing best practices for Oracle Databases running on Microsoft Hyper-V and in conjunction with SAP in the future, so watch this space. Your comments and feedback are always welcome.
This post first appeared on the Long White Virtual Clouds blog at longwhiteclouds.com. By Michael Webster +. Copyright © 2012 – 2014 – IT Solutions 2000 Ltd and Michael Webster +. All rights reserved. Not to be reproduced for commercial purposes without written permission.