RAC Database on Oracle Ravello Cloud Service O R A C L E W H I T E P A P E R A U G U S T 2017
Oracle Ravello is an overlay cloud that enables enterprises to run their VMware and KVM applications with data-center-like (Layer 2) networking as-is on public cloud without any modifications. With Ravello, enterprises don t need to convert their VMs or change networking. This empowers the business to rapidly develop and deploy existing data-center applications on the public cloud without the associated infrastructure and migration cost and overhead for a variety of use-cases such as devtest, staging, UAT etc. Oracle RAC Overview Oracle Real Application Clusters (Oracle RAC) is a shared cache clustered database architecture that utilizes Oracle Grid Infrastructure to enable the sharing of server and storage resources. Automatic, instantaneous failover to other nodes, and therefore enables an extremely high degree of scalability, availability, and performance. Originally focused on providing improved database services, Oracle RAC has evolved over the years and is now based on a comprehensive high availability (HA) stack that can be used as the foundation of a data base cloud system as well as a shared infrastructure that can ensure high availability, scalability, flexibility and agility for any application in your data center. Fig. 1: Oracle Database with Oracle RAC architecture 1 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Why run Oracle RAC Database on Ravello? Enterprises run Oracle RAC as a part of bigger application in variety of scenarios. They also need such environments for development, testing, staging and running User Acceptance Tests. It is expensive to have on-premise environments for such transient needs. Ravello provides a great platform for such use-cases by offering data-center like environments on public cloud with VMware and Layer 2 networking. An Oracle RAC database is a shared everything database. All data files, control files, SPFILEs and redo log files in Oracle RAC environments must reside on cluster-aware shared disks so that all of the cluster database instances can access these storage components. All database instances must use the same interconnect, which can also be used by Oracle Clusterware. Public cloud environments do not provide shared storage and Layer2 capabilities required by Oracle Clusterware for RAC natively. However, such functionality can be achieved using Ravello. Moving Oracle RAC Database application to Ravello The following implementation is broadly followed from the reference article to setup Oracle RAC DB installation in VMware ESXi environment 1. The deployment diagram for the implementation: Fig. 2: Deployment diagram For the deployment, we have 4 configured subnets - 192.168.56.0/24 - public network - 192.168.1.0/24 - cluster inter-connect/private - 192.168.20.0/24 - shared storage access 2 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
The racnas node is running Openfiler 2.99.1 and is setup as an iscsi target for the RAC nodes to connect to. Two logical volumes are setup as iscsi targets as below: - ocr for OCR and voting disk - data for database (datafiles, control files, redo log files, spfile) Database access is configured through iscsi with Automatic Storage Management (ASM). The binaries for Grid Infrastructure and Database are stored locally on each RAC node. Setting up imported VMs into Ravello 1) As a first step, we import the 4 VMs that were setup on the on-prem VMware environment into Ravello s VM Library, and then create a new application by dragging the VMs onto the canvas two RAC nodes, one storage node namely, rnode1, rnode2 and rnas respectively. We also add a test node, rtest to test overall functionality of the deployment. Fig. 3: Building the application with the imported VMs All VMs are using Oracle Linux 7.3 distribution with the RAC DB nodes configured with 4VCPUs and 16GB of memory. The storage node is running Openfiler and is configured with 4VCPUs/16GB memory, while the test node running OL7.3 is configured with 2VCPUs and 8GB of memory. On the network tab, Ravello automatically re-creates the underlying network by looking at the ESXi configuration files and VM disk images. 3 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Fig. 4: Network view of the application We will now make sure all the settings in each VM are as per our expectation. Let us take a look at rnode1 in the Ravello UI. 2) Let us start with the General tab. Make sure that the hostname field is populated and it matches to the hostname in the VM. Fig. 5: General tab for node1 4 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
3) Under the Disks tab, Controller we select is a para-virtualized controller for better performance. Fig. 6: Disks tab for node1 4) Under the NICs section, we select paravirtualized devices for each of the NICs for better performance. RAC requires a public interface and a cluster inter-connect interface per node. As pointed out earlier, we have used a separate subnet to handle shared storage traffic. We verify that all the NICs are present and configured correctly for each of the nodes with the right IP configuration. Fig. 7: Public interface for rnode1 5 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Fig. 8: Private interface for rnode1 Fig. 9: Storage interface for rnode1 We have provided ssh and Enterprise Manager express by enabling port 22 and port 5501 on the Services tab. Fig. 10: External services 6 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Next, we Edit and Verify all the VMs on the application in a similar fashion. Once this is done, the application is ready to be published. 5) Publish the application to bring up the VMs in the public cloud either using Cost-optimized or Performance-optimized selection. Verifying the RAC setup on Ravello 1) Login to any node and check to see if the shared storage is mounted on the RAC nodes over iscsi Fig. 11: Shared storage details 2) Confirming that Grid Infrastructure is up and running Fig. 12: Grid Infrastructure status 3) Check the RAC DB configuration by running the srvctl command. 7 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Fig. 13: RAC configuration for DB check 4) Check status of DB running on RAC Fig. 14: RAC DB status check We now have a fully functional Oracle RAC environment running Oracle Database 12cR1 running on the cloud using Ravello. One can test out the deployment by connecting to the database from the test node ractest. Fig. 15: RAC UI verification 8 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Learn more Learn more and sign up for a free trial at https://cloud.oracle.com/ravello Figure 13. Sign up for a free trial. 9 RAC DATABASE ON ORACLE RAVELLO CLOUD SERVICE
Oracle Corporation, World Headquarters Worldwide Inquiries 500 Oracle Parkway Phone: +1.650.506.7000 Redwood Shores, CA 94065, USA Fax: +1.650.506.7200 C O N N E C T W I T H U S blogs.oracle.com/oracle facebook.com/oracle twitter.com/oracle oracle.com Copyright 2017, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. Agile PLM on Oracle Ravello Cloud Service August 2017