Concurrent shared external disk access

The concurrent access feature enhances the benefits provided by a PowerHA® SystemMirror® cluster. Concurrent access allows simultaneous access to a volume group on a disk subsystem attached to multiple (up to 16) nodes.

Using concurrent access, a cluster can offer nearly continuous availability of data that rivals fault tolerance, but at a much low cost. Additionally, concurrent access provides higher performance, eases application development, and allows horizontal growth. Since concurrent access provides simultaneous access to data from multiple nodes, additional tools might be required to prevent multiple nodes from modifying the same block of data in a conflicting way. The PowerHA SystemMirror software provides the Clinfo program that prepares an application to run in a concurrent access environment. The Clinfo API provides an API through which applications might become “cluster-aware”. The Clinfo tool is described earlier in this chapter.

The following list includes the benefits of concurrent shared external disk access:

  • Transparent Recovery Increases Availability. Concurrent access significantly reduces the time for a fallover - sometimes to just a few seconds - because the peer systems already have physical access to the shared disk and are running their own instances of the application.

    In a concurrent access environment, fallover basically involves backing out in-flight transactions from the failed processor. The server software running on the surviving nodes is responsible for recovering any partial transactions caused by the crash. Since all nodes have concurrent access to the data, a client/server application can immediately retry a failed request on the surviving nodes, which continue to process incoming transactions.

  • Harnessing Multiple Processors Increases Throughput. Applications are no longer limited to the throughput of a single processor. Instead, multiple instances of an application can run simultaneously on multiple processors. As more processing power is required, more systems can be added to the cluster to increase throughput.
  • Single Database Image Eases Application Development and Maintenance. In a nonconcurrent environment, the only route to improving performance is to partition an application and its data. Breaking code and data into pieces makes both application development and maintenance more complex.

Splitting a database requires a high degree of expertise to make sure that the data and workload are evenly distributed among the processors. Partitioning code and data is not necessary in a concurrent access environment. To increase throughput, multiple instances of the same application running on different processors can simultaneously access a database on a shared external disk. A concurrent configuration can use:

  • SCSI disks
  • SCSI disk arrays
  • Serial disks
  • Fibre Channel direct-attached disks
  • Fibre Channel SAN-attached disks

When creating concurrent access logical volumes, use LVM mirroring to avoid having the disks be a single point of failure, except for RAID disk subsystems that supply their own mirroring. Concurrent access does not support the use of the Journaled File System. Therefore, the database manager must write directly to the raw logical volumes or hdisks in the shared volume group. An application must use some method to arbitrate all requests for shared data. Most commercial UNIX™ databases provide a locking model that makes them compatible with the PowerHA SystemMirror software. Check with your database vendor to determine whether a specific application supports concurrent access processing.