2012년 1월 31일 화요일

[WebSphere] Requirements for installing WebSphere Application Server on systems using high-availability failover filesystems

Requirements for installing WebSphere Application Server on systems using high-availability failover filesystems

Question

What does the WebSphere Application Server product require for running in an environment with high-availability failover?

Cause

What is an "external high-availability" solution?
WebSphere Application Server can be installed on remote storage, and mounted by a networked filesystem (NFS) as long as the environment meets certain requirements. This allows the product to be configured in a manner where a backup system mounts the product's files and takes over services if the primary hosting server experiences an outage.

WebSphere Application Server Network Deployment has built-in high-availability capabilities, such as the clustering features and WebSphere Plugin load-balancing capabilities. This is referred to as "cluster fail-over". This allows a group of servers to continue running applications even if a smaller number of servers suffer an outage. But, sometimes clients require an additional layer of protection from failures beyond what cluster fail-over can provide. They require an external high-availability solution.

In a typical high-availability configuration, clients implement a solution where WebSphere Application Server normally runs on a "primary" system. If the primary system experiences a hardware or network failure, then the client's high-availability software will activate a "standby" system (sometimes called a "warm standby", "hot standby", or "secondary system"). The standby system will take over running the application servers. This process is called "failover", where the operations on the primary system are said to "fail over" to running on the standby system.

The set of systems involved in the high-availability solution include the primary system and one or more standby systems. These systems are collectively referred to as the "high-availability cluster".

In a high-availability configuration, the product files are located on a high-availability networked filesystem, located separately from the primary and standby systems. This filesystem can potentially be shared among any system in the high-availability cluster. During the failover process, application server processes on the primary system are stopped, and the primary system is eventually disconnected from the networked filesystem where the product's files are located. The standby system will connect to the networked filesystem (the same product files that the primary system was using) and start the application servers to resume service to the applications affected by the primary system's outage.

In addition, requests (web traffic) which was being routed to the primary system is re-routed to the standby system. To accomplish this, the high-availability systems in the cluster all share the same "virtual address". The high-availability solution determines which system actually receives traffic directed to the virtual address. This is achieved through a combination of software and/or high-availability network appliances.

These high-availability solutions use configuration techniques and software which are separate from the WebSphere Application Server product. Some solutions are available and documented by IBM (such as the WebSphere Application Server Network Deployment V6: High Availability Solutions Redbook) , and others are available from third-party vendors. In either case, the solutions are implemented externally from WebSphere Application Server. This technote refers to these solutions as "external high-availability solutions". The solutions are not integrated with the product like the clustering features or WebSphere Plugin load-balancing features are.

How are these solutions supported?
Since external high-availability solutions are not integrated with the WebSphere Application Server product, IBM WebSphere Application Server Support cannot provide specific advice or instructions for using the product with every external high-availability solution that is compatible with the product. Instead, IBM Support can provide guidelines that explain which solutions are acceptable to use with WebSphere Application Server.

The purpose of this technote is to provide guidelines for the process of installing WebSphere Application Server and configuring profiles on highly available systems.

Answer

Filesystem requirements
There are some requirements for installing and running WebSphere Application Server on a networked filesystem. In general, the networked filesystem must be configured to be consistently available, with appropriate file permissions and supporting processes (such as lock daemon processes and port-mapping processes). The system administrator must be entirely responsible for the configuration and troubleshooting of the networked filesystem. For more details about WebSphere Application Server support of networked filesystems, refer to the technote General guidelines for installation of WebSphere Application Server V6.1 and V7.0 on Networked Filesystems (NFS), Mapped Network Drives, or Storage Area Network (SAN) resources.


High-availability solution requirements
The system administrator must be familiar with the high-availability solution that WebSphere Application Server is installed into. The system administrator will be responsible for configuring the high-availability software and ensuring that it is capable of starting and stopping application servers when necessary. The system administrator will need to provide troubleshooting expertise if the high-availability solution encounters issues.

A Redbook is available from IBM which can assist with these scenarios. Refer to the Redbook, WebSphere Application Server Network Deployment V6: High Availability Solutions.


WebSphere Application Server installation requirements

Profile management and product update requirements
In this discussion, the "product binaries" refer to the set of files which is delivered by the product installer, and the "profiles" refer to the sets of configuration files which are generated by the profile creation process. The profiles can be located separately from the product binaries.


Installation methods in high-availability environments
There are generally two methods of installing the WebSphere Application Server product in a high availability environment.

In one method, the product is installed on the primary system only, and its files are installed onto the NFS. The high-availability cluster only maintains one installation of the product binaries. This is called the "Single product installation per cluster" method. This method has the advantage of only requiring one set of product binaries to be maintained.

Note that the "Single product installation per cluster" method applies to scenarios where each individual node in a WebSphere Application Server cell has its own high-availability cluster.

In the other method, the product is installed onto the primary system and all of the standby systems. A separate product installation is maintained for each system in the high-availability cluster. Each product installation shares the same common set of profiles. This is called the "Multiple product installation per cluster" method. This method has the advantage of providing opportunities to avoid downtime due to failed fix pack updates or file corruption of the product binaries. However, it has the disadvantage of requiring installations and profile creation tasks to be performed once for each system in the cluster, and the data resulting from these operations cannot be cloned to save time. Due to the large number of redundant steps required to set up this environment, IBM Support does not recommend using this installation method.

In both methods, only one set of profiles is maintained in the high-availability cluster. To be clear, it is certainly possible to create and run many profiles. You are not restricted to using just one profile. But, that set of profiles is not cloned by the high-availability software. (If a WebSphere administrator is interested in cloning configurations among different profiles, then the administrator would take advantage of the server clustering feature in Network Deployment edition to clone multiple servers in a single cell. If the Network Deployment edition is not being used, or if one high-availability environment is using multiple cells, then server cloning features between members of different cells is not supported.)


Requirements for "Single product installation per cluster" method
If the product binaries are installed only once in a single high-availability cluster, then it is acceptable for that single install to run application servers from any member of the high-availability cluster, as long as only one high-availability cluster member is active at a time. Be mindful of these additional requirements in that configuration:

Requirements for "Multiple product installation per cluster" method
If the product binaries are installed on each individual system in a high-availability cluster, then it is acceptable for all the product installations to share the same set of profiles, as long as only one high-availability cluster member is active at a time. Be mindful of these additional requirements in that configuration:

Requirements for minimizing downtime during product upgrades
If an environment must be configured such that the applications experience zero downtime during product upgrades, then avoid the "Multiple product installation per cluster" method. It is not possible to put the high-availability cluster into failover mode and apply product updates to the primary system, because the fix pack installer needs exclusive access to every profile during the fix pack install process. It cannot update profiles which are currently running application servers. In order to apply updates, the servers associated with a profile must be completely shut down, regardless of which system the profile is running from.

The best way to minimize downtime during product updates is to use WebSphere Application Server Network Deployment edition to maintain a cell containing two or more nodes. Those nodes can use WebSphere clustering to provide redundancy while some nodes in the cluster are shut down for upgrades. For some clients, this WebSphere clustering redundancy is a sufficient high-availability solution, and they do not need to resort to external high-availability. However, some clients do absolutely require external high-availability. In that case, the deployment manager and each node/profile should have a dedicated high-availability cluster. This provides both WebSphere clustering redundancy as well as external high-availability clustering redundancy.

Here is an example of an environment which provides both WebSphere clustering and external high-availability clustering:

When applying product upgrades, follow the standard procedure for rolling-out product updates in a multi-node cell. This process is outlined below:
  1. Shut down the deployment manager. Note that the nodes running the application servers can continue to run, because they do not require the deployment manager during normal runtime.

  2. Make sure that the deployment manager filesystem is backed up using your standard filesystem backup process.

  3. Using the Update Installer (or Installation Manager, if applicable), apply product updates to the deployment manager. If the process fails, then use the Update Installer or Installation Manager to roll-back the fix pack update.

  4. After the deployment manager is upgraded, then choose a high-availability cluster member to upgrade. Shut down all application servers running on that high-availability cluster member. Do not allow other high-availability members to run those same application server during this process.

  5. Make sure the node's filesystem is backed up using your standard filesystem backup process.

  6. Apply the product updates to that node. Once the process successfully completes, the application servers can be restarted.

  7. Repeat steps 4, 5, and 6 for each high-availability cluster member to upgrade other product installations.


Notes concerning filesystem backups and recovery from failed product updates
IBM Support highly encourages using a backup solution in high-availability environments. This provides further redundancy by allowing the system administrator to roll a system back to a previous state if the product becomes corrupt or if an upgrade process fails.

If a product update fails (such as encountering a failure while installing a fix pack using Update Installer or Installation Manager), then there are two options for recovery: Use the Update Installer or Installation Manager to roll-back the failed fix pack update, or recover the product's files from a system backup.

If a system administrator chooses to recover the product's files from backup, be sure to recover the entirety of the product binaries, all the profile files, and the ".nifregistry" file mentioned earlier in this technote. If backups of these items are not available, then use the Update Installer or Installation manager to roll-back the fix instead.

Also, if a system administrator chooses to recover the product's files from backup due to a bad fix pack upgrade, then be sure to delete the product's old files before recovering the backup files. This is important because the process of installing fix packs will always introduce new files to the product. Those new files must never be allowed to mix with an older version of the product; otherwise, application servers might encounter serialization and classloading errors, and it might also be impossible to install the fix pack again. In other words, when recovering files from backup, do not simply overlay the backup files on top of the existing files. Delete the existing product directories first, then recover the files from backup.

Notes concerning product licensing
For questions regarding the impact of using high-availability configurations on product licensing and the number of Processor Value Units (PVUs) consumed by standby systems, refer to your IBM Salesperson or IBM Account Representative. IBM Support encourages clients to direct all questions regarding contract details and license consumption to those individuals.

댓글 없음:

댓글 쓰기