by Andrey Kvasyuk, Senior Consultant July 7, 2005
Introduction For years, the IT community has debated the merits of operating systems such as UNIX, Linux and Windows with religious fervor. However, for most businesses, the choice of OS is defined by practical factors like reliability, support, ease of maintenance and most importantly, the availability of business applications. One of the cornerstone business applications is the database, and one of the most popular and mature enterprise databases in the market is Oracle, specifically Oracle RAC (Real Application Cluster) 9i or 10g. Oracle database servers have been running for decades on RISC UNIX systems from major players including HP, Sun and IBM. These systems have traditionally represented an industrial grade of quality, scalability and reliability and the notion of Enterprise System has been associated with these names. But today, several factors have come into play: Servers built on the Intel platform provide a competitive level of performance for a small fraction of the RISC platform cost. Open Source Linux is more popular than ever. Various brands of Linux are used in nearly 80% of all companies. With the introduction of Enterprise Linux 3.0 in 2003, RedHat announced its intention to join the Enterprise-class OS club. In response to these trends, Oracle has been offering its database on Linux platforms for a number of years, and today it s a stable and reliable product running on standalone RedHat Linux servers in many organizations. In this paper, we ll examine the suitability of Linux as an Enterprise-class, high-availability platform for Oracle RAC given the needs of today s Enterprise business applications and users. We ll look at the factors that make for an Enterprise-class platform to see how Linux measures up, and discuss third-party products that can be used to bring Linux up to the level of the traditional enterprise UNIX vendors. Background The issues examined in this paper aren t purely academic. As part of an application development effort, GRT Corporation was engaged by a client to migrate an Oracle database from a legacy HP Tru64 clustered UNIX environment to RedHat Enterprise Linux. The client stated a number of reasons behind the move: The Alpha processor used in the system, originally developed by Digital Equipment Corporation (DEC) and acquired by Compaq (and subsequently HP), was reaching end of product life. The Tru64 operating system, also developed by DEC, was being phased out by HP in favor of HP/UX. To compound the problem, HP has elected to use the Itanium processor as the basis for its new platform. If the client migrated to HP/UX, they would need to migrate again when the Itanium platform is introduced. The cost of maintenance for the system was too high and the hardware was becoming unreliable 2005 GRT Corporation. All rights reserved. 2
The client already had a large installation of RedHat Linux used for infrastructure servers (e.g., web, ftp, firewall, etc.) This new High Availability Linux platform for Oracle had to be at least comparable with the old Tru64 system in performance and reliability. GRT s initiative to design and build this platform provided the background for this paper. The Distant Past Linux in the 1990 s Back in the middle 1990 s Linux was an experimental OS adopted by the most advanced developers and system administrators. It was downloaded from the Internet and easily fit onto five floppy disks. One of the most popular distributions was Slackware, and the main idea was do it yourself. There was progress on many fronts during this era; e.g., the Samba project allowed Linux to communicate with Windows. Around 1996-1997 the RedHat distribution showed up. This package was far more advanced than Slackware because it gave Linux the look and feel of a big UNIX like Solaris. It quickly found a home as an Internet (web, ftp, DNS, etc.) server or Samba server. With the help of the ibcs package and some low-level library modifications, it was even possible to run Oracle 7 for SCO Unix on Linux. Eventually, the port of Oracle version 8.0.5 to Linux resulted in a fast, stable and robust solution for the lightly loaded workgroup or small company. Fast Forward The New Millennium The dot.com boom gave Linux another big push. The introduction of Java, the explosion of e- commerce and support from players like IBM created a rich environment for Linux to flourish. In 2003, IDC reported that Linux on the Intel platform has emerged as a viable alternative to RISC/Unix for mission-critical enterprise computing 1. However, Illuminata found that in spite of improvements, the process and tools associated with many Linux distros often fall short of the highly systematic framework that the major UNIX vendors have put in place over the years, and which they continue to refine 2 In order to address these issues, RedHat introduced Advanced Server 2.1 and, at the end of 2003, Enterprise Linux 3.0, which included features such as Cluster Manager. It was a significant advance in an open source Linux world, which largely defines clustering as load balancing and failover among small servers that don t share storage something suitable for Web serving farms but not for critical database engines 3. 1 Linux and Intel-Based Servers a Powerful Combination to Reduce the Cost of Enterprise Computing, IDC, 2003 2 Red Hat Applies to the Enterprise Club, Illuminata, 2003 3 Red Hat Applies to the Enterprise Club, Illuminata, 2003 2005 GRT Corporation. All rights reserved. 3
Elements of a Highly Available System How Does Linux Rate? What makes a system highly availably? In this section we ll examine the attributes of HA platforms for Oracle RAC and see how Linux performs in each category. Storage Support To be considered highly available, an operating system should be able to communicate to shared storage and recognize LUNs using a Fiber Channel Host Bus Adapter (HBA). For Oracle RAC, having the shared storage is mandatory because Oracle instances running on the different cluster nodes must have access to the same physical disks where the database files are located. RedHat Enterprise Linux (RHEL) 3.0 includes support for QLogic 22xx and 23xx HBAs. The latest version of the driver source code can also be freely downloaded from the QLogic web site. The QLogic HBA in combination with the EMC CLARiiON Cx700 makes up a very powerful storage platform. EMC also provides two storage management products; Connectrix Manager is used to configure Storage Area Networks and monitor the status of the FC Switches; Navisphere allows administrators to configure RAID groups and Remote Mirrors, carve LUNs, monitor the status of the disks and much more all from a web browser. Dynamic MultiPathing Dynamic MultiPathing (DMP) is a mechanism for providing two or more hardware paths to a single disk device. DMP provides protection against hardware failures like broken cables or failed Fiber Channel switches. With multiport disk arrays, DMP software automatically recognizes multiple I/O paths to a particular disk device within the disk array. In the event of a loss of one connection to a disk, the system continues to access the data over other connections to the disk. DMP also provides greater throughput by balancing the I/O load uniformly across multiple paths to the disk device. For users of Oracle RAC, having DMP means that Oracle instances won t lose access to the database files in the event of an equipment failure. DMP is implemented in various software products available for Linux, including Matrix Server for Oracle RAC from PolyServe Inc, EMC PowerPath, HP SecurePath and Veritas Storage Foundation for Oracle RAC 4.0. Clusterware Clusterware connects multiple, independent systems into a management framework for increased availability. Each node runs its own operating system and cooperates at the software level to form a cluster. Clusterware provides heartbeat, cluster membership and failover mechanisms. For Linux applications, the RedHat Cluster Suite (RHCS) is a low-cost solution. It provides Application/Service failover and IP Load Balancing. For high-volume open source applications, such as NFS, Samba, and Apache, Red Hat Cluster Suite provides a complete ready-to-use failover solution. However, applications like Oracle RAC, working in Active/Active mode and using shared storage concurrently, are far more complex and the simple failover capability of RHCS is insufficient. Veritas Cluster Server, part of Storage Foundation for Oracle RAC (SFRAC), provides both failover (for simple applications) and parallel groups as well as tight integration with other modules in the SFRAC suite including Veritas File System, Volume Manager and ODM. 2005 GRT Corporation. All rights reserved. 4
Cluster Logical Volume Manager Logical Volume Manager (LVM) is a feature that combines multiple disk partitions in groups. This gives users the flexibility to increase or decrease the size of filesystems or add physical storage without re-organizing partitions. Cluster Logical Volume Manager is an extension to LVM that allows logical volumes to be shared by multiple nodes in a cluster. Each node sees the same logical volume layout, and more importantly, the same state of all volume resources. RHEL 3.0 comes with a robust LVM originally created by Sistina (since acquired by RedHat). It isn t cluster-aware, but solutions are available from third-party vendors such as IBM, Veritas and PolyServe. Veritas Storage Foundation for Oracle RAC (SFRAC), for example, provides administrators with powerful administrative tools for Cluster LVM as well as features such as mirroring and striping. Cluster File System A Cluster File System (CFS) is used when files are shared for read/write between cluster nodes. CFS is an important element in an HA Enterprise System, particularly when Oracle RAC is one of the applications. Database management is much easier and more flexible with CFS than RAW devices. Linux does not suffer from a lack of CFS options available products include Oracle Cluster File System, Red Hat Global File System, IBM General Parallel File System, Matrix PolyServe Server and Veritas VxCFS. Conclusions Based on our analysis, we believe that Linux can now be used to build a High Availability platform for Oracle RAC using a range of high-quality, third-party tools readily available from Independent Software Vendors. The choice of tools will depend on factors such as complexity, business-criticality, required level of support and hardware platform. When we applied the results of the study to our client s Tru64 migration challenge, we recommended and built the following configuration for a new, Linux-based HA platform: The overall system is configured as (2) dual-node clusters. Each node is located in a separate room with an independent power supply. Cluster interconnects are Gigabit Ethernet links. Each node is an Intel-based server with (4) Xeon 3.2 GHz CPUs and 16GB of memory. The storage system is (2) EMC CLARiiON Cx700 arrays managed by EMC Navisphere and (2) EMC ED-64M Fiber Channel switches managed by EMC Connectrix Manager. The operating system is RedHat Enterprise Linux 3.0 The clusterware is Veritas VCS (SFRAC) managed by Veritas Cluster Manager. Storage volumes are mirrored to each other with Host-Based Mirroring. Each storage array is located in a separate room and managed by Veritas Enterprise Administrator. The file system is Veritas VxFS (SFRAC) managed by Veritas Enterprise Administrator. Oracle RAC 9i(10g) for Linux is used in four instances on two nodes, cluster mode Active/Active. Other clustered applications include Bea WebLogic, Apache web server and Maestro client as well as some home-built applications, all managed by Veritas Cluster Administrator. 2005 GRT Corporation. All rights reserved. 5
Preliminary tests showed that this new configuration of hardware and software based on a Linux platform was extremely promising. In every aspect, the system performed on-par with the old Tru64 platform and in most cases showed better stability, performance and maintainability. The new system still requires some fine-tuning and testing due to the high level of complexity, but it s clear that Linux as a platform for Enterprise Oracle applications has arrived and will offer stiff competition to the traditional big names in the UNIX market. 2005 GRT Corporation. All rights reserved. 6