Logical Volume Manager (LVM)

The following policies, guidelines, standards, and procedures describe the business continuity methodology used to maintain LVM storage definitions in large, multi-system, multi-datacenter AIX environments. In support of a business continuity environment, all application programs, files, and data should be located in non-rootvg volume groups, on external disks in the SAN environment. Maintenance, backups, fail-overs, system recovery, and disaster recovery procedures will be made easier, predictable, repeatable by adhering to this rule.

The supporting principles of business continuity provide the basis for standardized LVM storage structures. Those principles are:


Policies:


Guidelines:


Standards: Volume Group Name


The VG name shall consist of exactly 12 characters with the following structure (the first 8 characters consisting of the resource group name):

Application Code + Environment + Function + Company + RG Sequence ID + VG Sequence ID + "vg"
3 char + 1 char + 1 char + 2 char + 1 char + 2 char + 2 char

Table 1: Volume Group Name Structure

As an example, a resource group named "db2apmx0", may have multiple associated VG's:

RG Name Component VG Sequence Identifier LV Identifier VG Name
db2apmx0 00 vg db2apmx000vg
db2apmx0 01 vg db2apmx001vg
db2apmx0 02 vg db2apmx002vg

Table 2: Example Volume Group Names

Each VG also requires a server or cluster wide unique Major Number. A unique major number can be generated using the following algorithm:

VGNAME="db2apmx000vg"
MajorNbr=$( print "${VGNAME}" | sum -o | awk '{ print $1 }' )
print ${MajorNbr}

To reiterate, before creating a VG, first establish an enterprise wide unique resource group name, a VG name, and a major number. Then create the VG.

NOTE: If virtualization is being implemented, the VG name must be determined BEFORE storage is allocated on the VIO server for the client LPAR. This is so the VG name can be used on the VIO server as a component of defining the Virtual Target Device (VTD) name. The VTD name will consist of the VG name, minus the "vg" characters, plus a 3 digit number representing the hdisk number on the VIO server. This is described in a separate document.


Standards: Logical Volume Name


The LV name shall consist of exactly 14 characters with the following structure (the first 8 characters consisting of the resource group name):

Application Code + Environment + Function + Company + RG Sequence ID + LV Sequence ID + "lv"
3 char + 1 char + 1 char + 2 char + 1 char + 4 char + 2 char

Table 3: Logical Volume Name Structure

As an example, a resource group named "db2apmx0", may have a volume group named "db2apmx00vg". This volume group may have multiple LV's associated with it:

RG Name Component LV Sequence Identifier LV Identifier LV Name
db2apmx0 db20 lv db2apmx0db20lv
db2apmx0 db21 lv db2apmx0db21lv
db2apmx0 db22 lv db2apmx0db22lv

Table 4: Example Logical Volume Names

JFS file systems will require a logical volume for the JFS log. This must also have an enterprise wide unique name.


Standards: JFS Log Logical Volume Name


The JFS Log LV name shall consist of exactly 14 characters with the following structure (the first 8 characters consisting of the resource group name):

Application Code + Environment + Function + Company + RG Sequence ID + "jfs" + JFS Sequence ID + "lv"
3 char + 1 char + 1 char + 2 char + 1 char + 3 char + 1 char + 2 char

Table 5: Log Logical Volume Name Structure

As an example, a resource group named "db2apmx0", may have a volume group named "db2apmx00vg". This volume group may have multiple JFS Log LV's associated with it:

RG Name Component JFS Log LV Sequence ID JFS Log LV ID JFS Log LV Name
db2apmx0 jfs0 lv db2apmx0jfs0lv
db2apmx0 jfs1 lv db2apmx0jfs1lv
db2apmx0 jfs2 lv db2apmx0jfs2lv

Table 6: Example Log Logical Volume Names

JFS file systems will require a logical volume for the JFS log. This must also have an enterprise wide unique name.


Standards: File System Directory Mount Points

The file system directory mount point name shall consist of at least 8 characters but may be of a variable length (the first 8 characters consisting of the resource group name):

/ + Application Code + Environment + Function + Company + RG Sequence ID + LV Sequence ID or
Directory Structure
1 char + 3 char + 1 char + 1 char + 2 char + 1 char + 4 char or more

Table 7: Directory Mount Point Name Structure

As an example, a resource group named "db2apmx0", may have multiple file systems associated with it:

RG Name Component Optional Logical Volume Sequence ID Optional Sub-Directories file system Mount Point
db2apmx0 db2_08_01/bin /db2apmx0/db2_08_01/bin
db2apmx0 db2_08_01/data /db2apmx0/db2_08_01/data
db2apmx1 mq01 /db2apmx1mq01
db2apmx1 mq02 /db2apmx1mq02
db2apmx1 mq03 /db2apmx1mq03

Table 8: Example Directory Mount Point Names


Procedures:

The procedures associated with implementing the standards described here require strict attention to detail when creating volume groups, logical volumes and file systems. The system administrator must plan the implementation and define a "resource group" to associate with the naming structures. For example, the steps in defining a new file system are as follows:

  1. Define an enterprise wide unique resource group name.
  2. Define an enterprise wide unique volume group name.
  3. Define a cluster wide unique (enterprise wide unique if possible) major number for the new volume group.
  4. Define an enterprise wide unique JFS log logical volume name.
  5. Define an enterprise wide unique logical volume name.
  6. Define an enterprise wide unique mount point directory name.
  7. Create the volume group using the enterprise wide unique name and major number.
  8. Create the JFS log logical volume using the enterprise wide unique name.
  9. Create the logical volume using the enterprise wide unique name.
  10. Create the file system on the logical volume using the enterprise wide unique mount point directory and JFS log.

System design and implementation in a business continuity environment should be regarded as a "non-standard" design. Normally a "standard" implementation does not account for the ability to perform fail-overs from any AIX system to any other AIX system, as is described here. When installing applications in this "business continuity" environment recognize that the application vendor will almost always provide "standard" installation instructions, not "business continuity" installation instructions. For the system and application administrators, there is a learning curve associated with moving from a "standard" environment to a "business continuity" environment because the "standard" installation instructions for applications must usually be modified to fit this enhanced environment.

The procedures for each application to be installed in the "business continuity" environment will be specific to each environment and will likely be different from the documentation provided by the application vendor. It will be the job of the system and application administrators to create a procedure to fit the environment.