4 Preparing Storage for an Enterprise Deployment

This chapter describes how to prepare storage for an Oracle Identity Management enterprise deployment.

The storage model described in this guide was chosen for maximum availability, best isolation of components, symmetry in the configuration, and facilitation of backup and disaster recovery. The rest of the guide uses a directory structure and directory terminology based on this storage model. Other directory layouts are possible and supported.

This chapter contains the following topics:

4.1 Overview of Preparing Storage for Enterprise Deployment

It is important to set up your storage in a way that makes the enterprise deployment easier to understand, configure, and manage. Oracle recommends setting up your storage according to information in this chapter. The terminology defined in this chapter is used in diagrams and procedures throughout the guide.

Use this chapter as a reference to help understand the directory variables used in the installation and configuration procedures. Other directory layouts are possible and supported, but the model adopted in this guide is chosen for maximum availability, providing both the best isolation of components and symmetry in the configuration and facilitating backup and disaster recovery. The rest of the document uses this directory structure and directory terminology.

4.2 Terminology for Directories and Directory Variables

This section describes the directory variables used throughout this guide for configuring the Oracle Identity Management enterprise deployment. You are not required to set these as environment variables. The following directory variables are used to describe the directories installed and configured in the guide:

  • ORACLE_BASE: This environment variable and related directory path refers to the base directory under which Oracle products are installed. For example: /u01/oracle

  • MW_HOME: This variable and related directory path refers to the location where Oracle Fusion Middleware resides. A MW_HOME has a WL_HOME, an ORACLE_COMMON_HOME and one or more ORACLE_HOMEs. An example of a typical MW_HOME is:

    /u01/oracle/products/access

    There is a different MW_HOME for each domain.

    In this guide, this value might be preceded by a product suite abbreviation, for example: IAM_MW_HOME, OIM_MW_HOME, WEB_MW_HOME.

  • WL_HOME: This variable and related directory path contains installed files necessary to host a WebLogic Server, for example MW_HOME/wlserver_10.3. The WL_HOME directory is a peer of Oracle home directory and resides within the MW_HOME.

  • ORACLE_HOME: This variable points to the location where an Oracle Fusion Middleware product, such as Oracle HTTP Server, Oracle SOA Suite, or Oracle Internet Directory is installed and the binaries of that product are being used in a current procedure. In this guide, this value might be preceded by a product suite abbreviation, for example: IAM_ORACLE_HOME, OIM_ORACLE_HOME, WEB_ORACLE_HOME. For more information about homes, see Table 2-3, "Summary of Homes".

  • ORACLE_COMMON_HOME: This variable and related directory path refer to the location where the Oracle Fusion Middleware Common Java Required Files (JRF) Libraries and Oracle Fusion Middleware Enterprise Manager Libraries are installed. An example is: MW_HOME/oracle_common

  • Domain directory: This path refers to the file system location where the Oracle WebLogic domain information (configuration artifacts) is stored. Different WebLogic Servers can use different domain directories even when in the same node as described Section 4.4, "About Recommended Locations for the Different Directories."

  • ORACLE_INSTANCE: An Oracle instance contains one or more system components, such as Oracle Web Cache, Oracle HTTP Server, or Oracle Internet Directory. An Oracle instance directory contains updatable files, such as configuration files, log files, and temporary files. An example is: /u02/private/oracle/config/instances/web1

    In this guide, this value might be preceded by a product suite abbreviation, such as WEB_ORACLE_INSTANCE.

  • JAVA_HOME: This is the location where Oracle JRockit is installed.

  • ASERVER_HOME: This is the primary location of the domain configuration. A typical example is: /u01/oracle/config/domains/domain_name

  • MSERVER_HOME: This is a copy of the domain configuration used to start and stop managed servers. A typical example is: /u02/private/oracle/config/domains/domain_name

4.3 About File Systems

After you create the partitions on your storage, you must place file systems on the partitions so that you can store the Oracle files. For local or direct attached shared storage, the file system type is most likely the default type for your operating system, for example: EXT3 for Linux.

If your shared storage is on network attached storage (NAS), which is accessed by two or more hosts either exclusively or concurrently, then you must use a supported clustered file system such as NFS version 3 or 4. Such file systems provide conflict resolution and locking capabilities.

4.4 About Recommended Locations for the Different Directories

This section contains the following topics:

4.4.1 Recommendations for Binary (Middleware Home) Directories

The following sections describe guidelines for using shared storage for your Oracle Fusion Middleware middleware home directories:

4.4.1.1 About the Binary (Middleware Home) Directories

When you install any Oracle Fusion Middleware product, you install the product binaries into a Middleware home. The binary files installed in the Middleware home are read-only and remain unchanged unless the Middleware home is patched or upgraded to a newer version.

In a typical production environment, the Middleware home files are saved in a separate location from the domain configuration files, which you create using the Oracle Fusion Middleware Configuration Wizard.

The Middleware home for an Oracle Fusion Middleware installation contains the binaries for Oracle WebLogic Server, the Oracle Fusion Middleware infrastructure files, and any Oracle Fusion Middleware product-specific directories.

For more information about the structure and content of an Oracle Fusion Middleware home, see Oracle Fusion Middleware Installation Guide for Oracle Enterprise Content Management Suite.

4.4.1.2 About Sharing a Single Middleware Home for Multiple Domains

Oracle Fusion Middleware enables you to configure multiple Oracle WebLogic Server domains from a single Middleware home. This allows you to install the Middleware home in a single location on a shared volume and reuse the Middleware home for multiple host installations.

When a Middleware home is shared by multiple servers on different hosts, there are some best practices to keep in mind. In particular, be sure that the Oracle Inventory on each host is updated for consistency and for the application of patches.

To update the oraInventory for a host and attach a Middleware home on shared storage, use the following command:

ORACLE_HOME/oui/bin/attachHome.sh

For more information about the Oracle inventory, see "Oracle Universal Installer Inventory" in the Oracle Universal Installer Concepts Guide.

4.4.1.3 About Using Redundant Binary (Middleware Home) Directories

For maximum availability, Oracle recommends using redundant binary installations on shared storage.

In this model, you install two identical Middleware homes for your Oracle Fusion Middleware software on two different shared volumes. You then mount one of the Middleware homes to one set of servers, and the other Middleware home to the remaining servers. Each Middleware home has the same mount point, so the Middleware home always has the same path, regardless of which Middleware home the server is using.

Should one Middleware home become corrupted or unavailable, only half your servers are affected. For additional protection, Oracle recommends that you disk mirror these volumes.

If separate volumes are not available on shared storage, Oracle recommends simulating separate volumes using different directories within the same volume and mounting these to the same mount location on the host side. Although this does not guarantee the protection that multiple volumes provide, it does allow protection from user deletions and individual file corruption.

4.4.2 Recommendations for Domain Configuration Files

The following sections describe guidelines for using shared storage for the Oracle WebLogic Server domain configuration files you create when you configure your Oracle Fusion Middleware products in an enterprise deployment:

4.4.2.1 About Oracle WebLogic Server Administration and Managed Server Domain Configuration Files

When you configure an Oracle Fusion Middleware product, you create or extend an Oracle WebLogic Server domain. Each Oracle WebLogic Server domain consists of a single Administration Server and one or more managed servers.

For more information about Oracle WebLogic Server domains, see Oracle Fusion Middleware Understanding Domain Configuration for Oracle WebLogic Server.

In an enterprise deployment, it is important to understand that the managed servers in a domain can be configured for active-active high availability. However, the Administration server cannot. The Administration Server is a singleton service. That is, it can be active on only one host at any given time.

ASERVER_HOME is the primary location of the domain configuration. MSERVER_HOME is a copy of the domain configuration that is used to start and stop managed servers. The WebLogic Administration Server automatically copies configuration changes applied to the ASERVER_HOME domain configuration to all those MSERVER_HOME configuration directories that have been registered to be part of the domain. However, the MSERVER_HOME directories also contain deployments and data specific to the managed servers. For that reason, when performing backups, you must include both ASERVER_HOME and MSERVER_HOME.

4.4.2.2 Shared Storage Requirements for Administration Server Domain Configuration Files

Administration Server configuration files must reside on Shared Storage. This allows the administration server to be started on a different host should the primary host become unavailable. The directory where the administration server files is located is known as the ASERVER_HOME directory. This directory is located on shared storage and mounted to the Administration Server host and to each host running Oracle Identity Manager.

Managed Server configuration Files should reside on local storage to prevent performance issues associated with contention. The directory where the managed server configuration files are located is known as the MSERVER_HOME directory. It is highly recommended that managed server domain configuration files be placed onto local storage.

4.4.2.3 Local Storage Requirements for Managed Server Domain Configuration Files

If you must use shared storage, it is recommended that you create a storage partition for each node and mount that storage exclusively to that node

The configuration steps provided for this enterprise deployment topology assume that a local domain directory for each node is used for each managed server.

Note:

Oracle Unified Directory is not supported on NFS.

4.4.3 Shared Storage Recommendations for JMS File Stores and Transaction Logs

JMS file stores and JTA transaction logs must be placed on shared storage in order to ensure that they are available from multiple hosts for recovery in the case of a server failure or migration.

For more information about saving JMS and JTA information in a file store, see "Using the WebLogic Persistent Store" in Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.

4.4.4 Recommended Directory Locations

This section describes the recommended use of shared and local storage.

This section includes the following topics:

4.4.4.1 Shared Storage

In an Enterprise Deployment, it is recommended that the volume VOL1/OracleIDM be created on shared storage on hosts IDMHOST1 and IDMHOST2. The mount point must be /u01/oracle.

You can mount shared storage either exclusively or shared.

Figure 4-1 Shared Storage

Surrounding text describes Figure 4-1 .

The figure shows the shared storage directory hierarchy. Under the mount point, /u01/oracle (SHARED_ROOT) are the directories config and products.

The directory config contains domains, which contains IDMDomain (ASERVER_HOME). IDMDomain has five subdirectories: applications, servers, keystores, jms, and logs. The servers directory has a subdirectory, AdminServer.

The directory products contains the directory access (IAM_MW_HOME), which has six subdirectories: iam (IAM_ORACLE_HOME), oud (OUD_ORACLE_HOME), soa (SOA_ORACLE_HOME), oracle_common (ORACLE_COMMON_HOME), wlserver_10.3 (WL_HOME), and jrockit_version (JAVA_HOME).

4.4.4.2 Local Storage

In an Enterprise Deployment it is recommended that the following directories be created on local storage:

Table 4-1 Local Storage Directories

Tier Environment Variable Directory Hosts

Web Tier

WEB_MW_HOME

/u02/private/oracle/products/web

WEBHOST1 WEBHOST2

Web Tier

WEB_ORACLE_INSTANCE

/u02/private/oracle/config/instances/webn

WEBHOST1 WEBHOST2

Application Tier

OUD_ORACLE_INSTANCE

/u02/private/oracle/config/instances/oudn

IDMHOST1 IDMHOST2

 

MSERVER_HOME

/u02/private/oracle/config/domains/IDMDomain

IDMHOST1 IDMHOST2


Figure 4-2 Local Storage

Surrounding text describes Figure 4-2 .

The figure shows the local storage directory hierarchy. The top level directory, /u02/private/oracle (LOCAL_ROOT), has two subdirectories, config and products.

The directory config has two subdirectories, instances and domains. The domains directory contains oudn (OUD_ORACLE_INSTANCE), where n is the OUD instance, and webn (WEB_ORACLE_INSTANCE), where n is the OHS Instance. The domains directory contains IDMDomain (MSERVER_HOME), which contains applications and servers. The servers directory contains wls_oimn and wls_oamn, where n is the OIM and OAM instance, respectively.

The products directory contains the web directory (WEB_MW_HOME), which has four subdirectories: web (WEB_ORACLE_HOME), webgate (WEBGATE_ORACLE_HOME), oracle_common (ORACLE_COMMON_HOME), and jrockit_version (JAVA_HOME).

Note:

While it is recommended that you put WEB_ORACLE_INSTANCE directories onto local storage, you can use shared storage. If you use shared storage, you must ensure that the HTTP lock file is placed on discrete locations.