Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Using EMS HA Monitors > Chapter 2 Monitoring Disk Resources

Rules for Using the EMS Disk Monitorwith MC/ServiceGuard

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

The disk monitor is designed especially for use with MC/ServiceGuard to provide package failover if host adapters, busses, controllers, or disks fail. Here are some examples:

  • In a cluster where one copy of data is shared between all nodes in a cluster, you may want to fail over a package if the host adapter has failed on the node running the package. Because busses, controllers, and disks are shared, package fail over to another node because of bus, controller, or disk failure would not successfully run the package. To make sure you have proper failover in a shared data environment, you must create identical package dependencies on all nodes in the cluster. MC/ServiceGuard can then compare the resource "UP" values on all nodes and fail over to the node that has the correct resources available.

  • In a cluster where each node has its own copy of data, you may want to fail over a package to another node for any number of reasons:

    • host adapter, bus, controller, or disk failure

    • unprotected data (the number of copies is reduced to one)

    • performance has degraded because one of the PV links has failed

    For example, in a cluster of web servers where each node has a copy of the data and users are distributed for load balancing, you can fail over a package to another node with the correct resources available. Again, the package resource dependencies should be configured the same on all nodes.

Disk availability is based on pv_summary. See "Configuring MC/ServiceGuard Package Dependencies" in Chapter 1 for information on configuring package dependencies.

In addition to configuring disks as MC/ServiceGuard package dependencies, you may also want to have alerts sent to a system management tool such as HP OpenView IT/Operations or Network Node Manager. Although MC/ServiceGuard and EMS work together to provide package failover, they do not send events or log the source of the failure. Also, failures may not cause a package to fail over, but may expose a single point of failure that you want to know about. Therefore, it is recommended you also configure requests from the SAM interface to EMS.

The pv_summary is calculated based on the compiled results of SCSI inquiries to all physical volumes in a volume group. To help you determine the best way to configure your disks for monitoring, here are the assumptions made when calculating pv_summary:

  • PVGs (physical volume groups) are set up to be bus-specific sides of a mirror or redundant links and have an equal number of physical volumes.

  • All logical volumes within a volume group are mirrored in the same way: all 2-way or all 3-way mirroring.

  • A package depends on all logical volumes in the volume group.

  • The SCSI inquiry will retry on devices that are BUSY. BUSY devices are not considered UP when calculating pv_summary.

These rules apply when creating PVGs, if they are not followed, pv_summary will not be available for monitoring:

  • If PVGs are used, all physical volumes in a volume group must be in a PVG.

  • All PVGs in a volume group must have the same number of physical volumes.

Table 2-6 “pv_summary Calculations” is a summary of how pv_summary is calculated where

  • n is the number of paths for the volume group in /etc/lvmtab, (physical volumes, paths, or LUNs).

  • p is the number of PVGs physical volume groups in the volume group.

  • x is the number of paths currently available from a SCSI inquiry.

To give pv_summary the most accurate picture of data availability, you need to use PVGs to define your physical volumes as separate access points to data: mirroring should be PVG strict and arrays should have PV links, with redundant links in a separate PVG. Note that if you do not configure PV links into separate PVGs, p in Table 2-6 “pv_summary Calculations” will always be equal to 1. Therefore any SCSI inquiry that does not return a value of UP for every path will result in a calculation of DOWN for pv_summary.

Table 2-6 pv_summary Calculations

Case

Conclusion

State

x = n

All physical volumes and all data are available.

UP

x=n-(p-1)

All data is available.

PVG_UP

n/p <= x <= n-(p-1)

If there are PVGs, and one PVG has all paths, then all data is available.

PVG_UP

If there are PVGs, and none of the PVGs has all paths, then the disk monitor cannot determine if all data is available.

SUSPECT

x < n/p

Missing some data.


DOWN

x=0

No data or physical volumes are available.

 

Rules for RAID Arrays

RAID configurations must be configured with PV links. PV links are redundant links attached to separate controllers on the array. If PV links are configured, LVM automatically switches to the alternate controller when one fails.

To use the EMS disk monitor with MC/ServiceGuard, PV links must be configured in a separate PVGs (physical volume groups). This new requirement allows pv_summary to accurately calculate data availability based on physical volume availability, thus including both ACTIVE and INACTIVE volume groups. If PV links are not configured in separate PVGs, the disk monitor sees all links to the array as one physical volume, so if one link fails, pv_summary will register DOWN, and your package will fail over, even if the other link is still up and data is available.

The following sections describe how to make sure your PV links are in physical volume groups.

Adding PVGs to Existing Volume Groups

If you have already created volume groups, you can create PVGs and put PV links into them:

  1. Create a file called /etc/lvmpvg with permissions 600. See the lvmpvg man page and HP-UX System Administration Tasks

  2. Create an entry for each volume group and assign a different PVG name to each PV link. The PVG names can be any arbitrary name of your choosing, but must be unique on the system For example, an array containing 2 volume groups, vgdance and vgsing, each containing a single LUN and each with 2 PV links (see Figure 2-4 “RAID Array Example”) should have the following /etc/lvmpvg file:

    VG					    /dev/vgdance
    PVG busA
    /dev/dsk/c1t0d0
    /dev/dsk/c1t2d0
    PVG busB
    /dev/dsk/c2t1d0
    /dev/dsk/c2t3d0
    VG /dev/vgsing
    PVG busA
    /dev/dsk/c1t0d1
    /dev/dsk/c1t2d1
    PVG busB
    /dev/dsk/c2t1d1
    /dev/dsk/c2t3d1
  3. Carefully copy the /etc/lvmpvg to each system connected to the disk array.

    NOTE: Make sure you edit lvmpvg to contain the correct link names in /dev/dsk/device for that system.

Creating Volume Groups on Disk Arrays Using PV Links

If you will be monitoring volume groups that use mass storage on disk arrays, you should use redundant I/O channels from each node, connecting them to separate controllers on the array. Then you can define alternate links to the LUNs or logical disks you have defined on the array. Alternate links (known as PV links) to the same disk should be assigned to different physical volume groups. In SAM, choose the type of disk array you wish to configure, and follow the menus to define alternate links. Be sure to specify a different physical volume group for each link to the same disk.

The following example shows how to configure alternate links using LVM commands. In the example, the following disk configuration is assumed:

8/0.15.0 /dev/dsk/c0t15d0  /* I/O Channel 0 (8/0) SCSI address 15 LUN 0 */
8/0.15.1 /dev/dsk/c0t15d1 /* I/O Channel 0 (8/0) SCSI address 15 LUN 1 */
8/0.15.2 /dev/dsk/c0t15d2 /* I/O Channel 0 (8/0) SCSI address 15 LUN 2 */
8/0.15.3 /dev/dsk/c0t15d3 /* I/O Channel 0 (8/0) SCSI address 15 LUN 3 */
8/0.15.4 /dev/dsk/c0t15d4 /* I/O Channel 0 (8/0) SCSI address 15 LUN 4 */
8/0.15.5 /dev/dsk/c0t15d5 /* I/O Channel 0 (8/0) SCSI address 15 LUN 5 */

10/0.3.0 /dev/dsk/c1t3d0 /* I/O Channel 1 (10/0) SCSI address 3 LUN 0 */
10/0.3.1 /dev/dsk/c1t3d1 /* I/O Channel 1 (10/0) SCSI address 3 LUN 1 */
10/0.3.2 /dev/dsk/c1t3d2 /* I/O Channel 1 (10/0) SCSI address 3 LUN 2 */
10/0.3.3 /dev/dsk/c1t3d3 /* I/O Channel 1 (10/0) SCSI address 3 LUN 3 */
10/0.3.4 /dev/dsk/c1t3d4 /* I/O Channel 1 (10/0) SCSI address 3 LUN 4 */
10/0.3.5 /dev/dsk/c1t3d5 /* I/O Channel 1 (10/0) SCSI address 3 LUN 5 */

Assume that the disk array has been configured, and that both the following device files appear for the same LUN (logical disk) when you run the ioscan command:

/dev/dsk/c0t15d0
/dev/dsk/c1t3d0

Use the following steps to configure a volume group for this logical disk:

  1. First, set up the group directory for vgdatabase:

    # mkdir /dev/vgdatabase
  2. Next, create a control file named group in the directory /dev/vgdatabase, as follows:

    # mknod /dev/vgdatabase/group c 64 0xhh0000

    The major number is always 64, and the hexadecimal minor number has the form

    0xhh0000

    where hh must be unique to the volume group you are creating. Use an appropriate hexadecimal number that is available on your system, after the volume groups that are already configured. On a single system, this might be the next hexadecimal number, on a cluster, these number must be assigned cluster-wide, so it should be one of the hexadecimal numbers used in the cluster. Use the following command to display a list of existing volume groups:

    # ls -l /dev/*/group
  3. Use the pvcreate command on one of the device files associated with the LUN to define the LUN to LVM as a physical volume.

    # pvcreate /dev/dsk/c0t15d0

    It is only necessary to do this with one of the device file names for the LUN.

  4. Use the following commands to create the volume group itself with the first link assigned to a physical volume group called bus1and the second link assigned to a physical volume group called bus2:

    # vgcreate -g bus1 /dev/vgdatabase /dev/dsk/c0t15d0  
    # vgextend -g bus2 /dev/vgdatabase /dev/dsk/c0t3d0

LVM will now recognize the I/O channel represented by /dev/dsk/c0t15d0 as the primary link to the disk; if the primary link fails, LVM will automatically switch to the alternate I/O channel represented by /dev/dsk/c1t3d0.

Creating Logical Volumes

Use the following command to create logical volumes (the example is for /dev/vgdatabase):

# lvcreate  -L 120 -m 1 -s g /dev/vgdatabase

This command creates a 120 MB mirrored volume named lvol1. The name is supplied by default, since no name is specified in the command. The -s g option means that mirroring is PVG-strict, that is, the mirror copies of data will be in different physical volume groups.

NOTE: If you are using disk arrays in RAID 1 or RAID 5 mode, omit the -m 1 option.

Rules for Mirrored Individual Disks

The following rules apply to configuring mirrored disks for use with MC/ServiceGuard and EMS monitoring:

  • Mirroring must be PVG-strict.

    Mirrored volumes must reside on a different bus from the original volume to avoid a single point of failure and to obtain the best pv_summary value for that mirror. This is done automatically by LVM if you created the PVGs while setting up mirroring. See the lvextend man page and Managing MC/ServiceGuard for more information.

  • Logical volumes that are 2-way mirrored should be in separate volume groups from those that are 3-way mirrored.

    Putting differently mirrored volumes in the same volume group makes it difficult to accurately interpret the pv_summary data. Take the example of a volume group containing both 2- and 3-way mirroring. If 2 host adapters fail on that volume group, it could mean no data available for the 2-way mirrored logical volume, but one copy still available for the 3-way mirrored volume. The pv_summary would be wrong for one of those mirrored disk configurations.

  • Volume groups representing the same hardware for failover must be created with exactly the same name on all nodes.

    For example a bus connecting 3 nodes to a disk array must be defined as part of vg01 on all 3 nodes. We also recommend using the same names for PVGs containing the same actual disks.

Mirrors that have been split off are treated the same by the disk monitor as they are by LVM. When you split off a mirror you may see a change in the following resources:

  • /vg/vgName/lv/copies/lvName will be reduced by one when the mirror is split off. If you created a monitoring request for that resource that alerts you when the number of copies changes or is reduced, you may see an event.

  • /vg/vgName/lv/status will have a new /lvName resource instance that represents the split off mirror.

  • /vg/vgName/lv_summary many change depending on the state of the new logical volume created by the split mirror.

If you restore the split mirror normally using supported LVM commands, the disk monitor will detect the merged mirror and reports

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1997 Hewlett-Packard Development Company, L.P.