Chapter 4. Configure DMF

This chapter describes the minimum steps required to get DMF up and running with a COPAN MAID system. It discusses the following:

For more information, see the following:

Configure DMF Parameters

This section discusses the following:

Summary of Configuration Parameters

Table 4-1 and Table 4-1 summarize parameters of particular interest when using COPAN MAID, grouped by the object in the sample file that contains the parameter. For details about setting these parameters appropriately, see the information in DMF 6 Administrator Guide for SGI InfiniteStorage .


Note: There is a log and a database with CAT and VOL records for every library server (LS). Depending upon your preferences and the number of shelves and cabinets at your site, you can choose to configure any number of LSs. You could have an LS for each shelf or two, or an LS for each MAID cabinet, or a single LS for all cabinets. However, a given LS can support either COPAN MAID or physical tape, but not both.


Table 4-1. Parameters of Particular Interest for COPAN MAID as Permanent Storage

Sample Object Name

Object Type

Parameter

DMF (shield icon)

base

ADMIN_EMAIL
SERVER_NAME

nodename

node

INTERFACE (Parallel Data Mover option only)

maid_ls

libraryserver

COPAN_VSNS
DRIVE_GROUPS

vg_c00 through vg_c07

volumegroup

MAX_PUT_CHILDREN
RESERVED_VOLUMES
ZONE_SIZE

mg0 and mg1

migrategroup

GROUP_MEMBERS

Table 4-2. Parameters of Particular Interest for COPAN MAID as Fast-Mount Cache

Sample Object Name

Object Type

Parameter

DMF (shield icon)

base

ADMIN_EMAIL
SERVER_NAME

nodename

node

INTERFACE (Parallel Data Mover Option only)

copan_ls

libraryserver

COPAN_VSNS
DRIVE_GROUPS

vg_c00 through vg_c03

volumegroup

MAX_PUT_CHILDREN
MERGE_THRESHOLD
RESERVED_VOLUMES
ZONE_SIZE

mg_fmc

migrategroup

GROUP_MEMBERS

fmc_task1 and fmc_task2

taskgroup

FILE_RETENTION_DAYS
FMC_MOVEFS
FMC_NAME
FREE_VOLUME_MINIMUM
FREE_VOLUME_TARGET

copan_fmc1 and copan_fmc2

fastmountcache

CACHE_MEMBERS

Configure DMF for a New Site

To create the DMF configuration using the DMF Manager graphical user interface, do the following:

  1. Start the DMF Manager service:

    dmfserver# service dmfman start

  2. Invoke DMF Manager by pointing your browser to the following location:

    https://your_hostname:1179

  3. Accept the security certificate.

    For more information, see the chapter about using DMF Manager in DMF 6 Administrator Guide for SGI InfiniteStorage . You can use the Help button in DMF Manager to access the Getting Started information or the entire DMF 6 Administrator Guide for SGI InfiniteStorage.

  4. Populate DMF Manager with the appropriate sample DMF configuration file . To do this, right-click in the Overview panel and select one of the following:

    Pre-Configured -> COPAN MAID LS Sample
    Pre-Configured -> Fast-Mount Cache Sample

    COPAN MAID LS Sample creates the following:

    Fast-Mount Cache Sample creates the following:

    • One library server: copan_ls

    • Two fast-mount caches: copan_fmc1 and copan_fmc2

    • Four COPAN drive groups: dg_c00 through dg_c03

    • Four COPAN volume groups: vg_c00 through vg_c03

    • One tape library server: tape_ls

    • Two tape drive groups: dg1 and dg2

    • Four tape volume groups: vg1a, vg1b, vg1c, and vg2

    • Three migrate groups: mg0, mg1, and mg_fmc

    • One resource watcher: rw

    • The DMF administrative directories, as described in “Create the Directories that DMF Requires” in Chapter 1

    Depending upon your site-specific configuration, or if you chose a different naming convention (“Selecting Appropriate Cabinet Identifiers” in Chapter 2), you must modify the DMF configuration accordingly.

  5. Make the following changes to the sample configuration, based on the configuration at your site:


    Note: This procedure describes the minimum changes you must make. If your configuration differs from the sample configuration, you may need to make more modifications.


    1. For each filesystem that DMF will manage, copy and paste the /dmi_fs object, renaming it with the actual filesystem name. Right-click the /dmi_fs object and select:

      Configure... -> Copy

      In the copy, delete the /dmi_fs name and replace it with the name of your filesystem. Figure 4-1 shows an example using the name /myfs.

      Figure 4-1. Replace the Filesystem Name

      Replace the Filesystem Name


      Note: For help on a parameter, right-click the parameter name.

      After you have created an object for each filesystem, delete the sample /dmi_fs object.

    2. Change the ADMIN_EMAIL parameter to an appropriate address for your site. Right-click the DMF shield icon and select:

      Configure ... -> Modify Base

      Delete the default address and enter in the address for your site. Click Continue.

    3. Modify the number of drive groups and volume groups according to the number of COPAN shelves in your configuration. Using the procedures in this guide, there should be one drive group and one volume group per shelf, and the migrate groups should contain a balanced number of volume groups.


      Note: All volumes in a given VG must reside in the RAID sets on the same COPAN MAID shelf.

      For example, if you have six shelves (0-5) and you are using COPAN MAID as permanent storage, you would do the following:

      • Delete dg_c06, dg_c07, vg_c06, and vg_c07

      • Edit maid_ls and remove dg_c06 and dg_c07 from DRIVE_GROUPS

      • Edit mg0 to include GROUP_MEMBERS of vg_c00, vg_c01 and vg_c02

      • Edit mg1 to include GROUP_MEMBERS of vg_c03, vg_c04 and vg_c05

    4. If you are using the Parallel Data Mover Option:

      • Right-click the DMF shield icon and select:

        Configure ... -> Modify Base

        Set SERVER_NAME to the system hostname of your DMF server. Click Continue.

      • For each node in your DMF configuration, right-click anywhere within the Overview panel and select:

        Add Object... -> Node...

        Set the name of the object to the node's system hostname. If you are using alternative networks for DMF communication, set INTERFACE appropriately.

  6. For fast-mount cache, modify the parameters for the permanent storage target (such as a tape library) as appropriate for your site.

  7. Validate your changes. Right-click anywhere within the Overview panel and select:

    Configure -> Validate Configuration

    You will see errors about OpenVault and a DMF database, because they are not yet configured:

    ERROR:  No such file /dmf/home/ov_keys.
    ERROR:  Database (/dmf/home/maid_ls/tpvrdm.dat) does not exist.

    The above errors are expected at this point, and you can disregard them. However, if there are any other errors or warnings, fix them and then rerun the validation. Proceed to step 8 when there are no errors and preferably no warnings, other than the expected OpenVault and database errors.

  8. Save the configuration. Right-click anywhere within the Overview panel and select:

    Configure -> Apply Configuration

Configure COPAN MAID for an Existing DMF Site

This section provides an overview of the steps you must take to modify an existing DMF configuration to incorporate COPAN MAID as permanent storage or as a fast-mount cache. For brevity, it describes the changes using stanza excerpts from a modified sample DMF configuration file. You can edit this file by using DMF Manager.


Caution: For instructions about starting and stopping DMF in an HA environment, see High Availability Guide for SGI InfiniteStorage.

Do the following:

  1. Stop DMF:

    dmfserver# service dmf stop

  2. Modify the DMF configuration file as follows:

    1. Define a drive group and volume group for each shelf. The names of these objects should be dg_XXX and vg_XXX respectively, where XXX is the lowercase shelf identifier.

      For example, for the shelf identifier c00 for shelf 0 of cabinet C0:

      define dg_c00
              TYPE                        drivegroup
              VOLUME_GROUPS               vg_c00
              MOUNT_SERVICE               openvault
              OV_INTERCHANGE_MODES        compression
              COMPRESSION_TYPE            snappy
      enddef
      
      define vg_c00
              TYPE                        volumegroup
              MAX_PUT_CHILDREN            6
              RESERVED_VOLUMES            4
              ZONE_SIZE                   4g
      enddef


      Note: If you are using COPAN MAID as a fast-mount cache, ensure that the names of the libraryserver, drivegroup , and volumegroup objects that define the VGs to be used as a fast-mount cache are the first names listed in LS_NAMES, DRIVE_GROUPS, and VOLUME_GROUPS respectively.

      Define the OV_INTERCHANGE_MODE or COMPRESSION_TYPE parameters only if you want to use compression.

    2. Define a new library server, such as maid_ls . Adjust DRIVE_GROUPS based on the drive groups you added above in step a.

      For example:

      define maid_ls
              TYPE                        libraryserver
              CACHE_SPACE                 16g
              COMMAND                     dmatls
              COPAN_VSNS                  ON
              DRIVE_GROUPS                dg_c00 dg_c01 ...
              MAX_CACHE_FILE              1048576
              TASK_GROUPS                 ls_tasks
      enddef

    3. Add the name of the new libraryserver object to the dmdaemon object. In general, for optimizing recalls, you should list the name of the COPAN MAID libraryserver object after any disk msp or disk cache manager (DCM) msp objects but before any libraryserver objects that contain physical tapes.

      For example:

      define daemon
              TYPE                        dmdaemon
              LS_NAMES                    ... maid_ls ...
              ...
      enddef

    4. Enable metrics in the base object:

      define  base
              TYPE                        base
              ...
              EXPORT_METRICS              ON
      enddef

      The RESERVED_VOLUMES parameter (used in vg_XXX) requires EXPORT_METRICS to be ON.

    5. Update the volume group selection policy to include the new shelves using one of the following methods:

      • Using a series of volume groups. For example:

        define vg_policy
                ...
                SELECT_VG                   vg_c00 vg_c01
        enddef

      • Using one or more migrate groups to easily spread migrated data across multiple shelves, each containing a list of volume groups. For example:

        define mg0
              TYPE                         migrategroup
              GROUP_MEMBERS                vg_c00 vg_c01
              ROTATION_STRATEGY            ROUND_ROBIN_BY_BYTES
        enddef
        define mg1
              TYPE                         migrategroup
              GROUP_MEMBERS                vg_c02 vg_c03
              ROTATION_STRATEGY            ROUND_ROBIN_BY_BYTES
        enddef

        This method requires that you also define the volume group selection policy. For example:

        define vg_policy
                ...
                SELECT_VG                   mg0 mg1
        enddef

    6. If you are using COPAN MAID as permanent storage and if you do not already have one, add a taskgroup object for volume merging (named ls_tasks in step 2b above). For example:

      define ls_tasks
              TYPE                        taskgroup
              RUN_TASK                    $ADMINDIR/run_tape_merge.sh at 1:00
              RUN_TASK                    $ADMINDIR/run_merge_stop.sh at 3:00
              THRESHOLD                   40
      enddef


      Note: If you need a more flexible way of merging volumes, consider using run_merge_mgr.sh instead of run_tape_merge.sh .


    7. If you are using COPAN MAID as a fast-mount cache:

      • Add a fastmountcache object and specify the members of the fast-mount cache. For example:

        define  copan_fmc
                TYPE            fastmountcache
                CACHE_MEMBERS   mg_fmc
        enddef

      • Add a taskgroup object to empty the fast-mount cache. For example, the following specifies that when only 10% of the volumes in the fast-mount cache are free, DMF will free the volumes with the oldest write dates until 20% of the volumes are free:

        define fmc_task
                TYPE                    taskgroup
                RUN_TASK                $ADMINDIR/run_fmc_free.sh at 23:00
                FMC_NAME                copan_fmc
                FREE_VOLUME_MINIMUM     10
                FREE_VOLUME_TARGET      20
        enddef

  3. Validate the configuration. You can do this within DMF Manager or use the following command:

    dmfserver# dmcheck

  4. Start DMF:

    dmfserver# service dmf start

Provide DMF with the OpenVault Security Keys

If this is a new site, do the following to allow DMF to communicate with OpenVault:

dmfserver# dmov_keyfile 
What is the unprivileged key? [none] unpriv_key
What is the privileged key? [none] priv_key

If you did not configure keys, press Enter to use the default value of none.

Import the DMF Volumes into OpenVault

Do the following to import the DMF volumes into OpenVault:

  1. Import the volumes for the library by type into OpenVault and add them to DMF according to the DMF volume group (VG) name (such as vg_c00 for library C00) by entering the following dmov_loadtapes(8) command, once per shelf:

    dmfserver# dmov_loadtapes -t Copan-MAID -l OV_library -s volumesize_in_bytes VGname


    Note: The volumesize_in_bytes value is used by other DMF tools to estimate the capacity of non-full volumes for reporting purposes only.

    This command will invoke an editor session. If there are any volumes that you do not want added to the library server database, you should delete those VSNs from the list. Otherwise, you should exit the editor.

    For example, you would enter C00 (the library name), vg_c00 (the corresponding VG name), and 128000000000 (for 128 GB):

    dmfserver# dmov_loadtapes -t Copan-MAID -l C00 -s 128000000000 vg_c00
    ...
    (editor session is invoked)
    Unused tapes in library C00.
    Delete any you do not wish to use for allocation or volume group vg_c00.
    C00AAA
    C00BAB
    C00CAC
    ...
    (exit the editor session)
    ...
    (wait a few moments for the process to complete)
    ...
    Loading tapes into allocation/volume group vg_c00.
    Creating Copan-MAID cartridges in cartgroup carts for vg_c00.

    The volumes for the library are now imported and ready for use. A volume that has been imported into OpenVault can be referred to as a tape volume.

  2. Verify that the volumes now have OpenVault cartridge IDs assigned to them by examining the output from the following command:

    dmfserver# ov_stat -L OV_library -s

    For example, the following output shows that the volume with VSN C00AAA now has an OpenVault cartridge ID of ooA69kzOtNYADeH5 :

    dmfserver# ov_stat -L C00 -s
    Library Name   Broken   Disabled   State     LCP State
    C00            false    false      ready     ready
    Library: 'C00'
    
    Library  Slot Name  Slot Type  Occupied PCL     Cart ID
    C00      slot 1000  LTO        true     C00AAA  ooA69kzOtNYADeH5
    C00      slot 1001  LTO        true     C00BAB  ooA69kzOtNcAATXk
    C00      slot 1002  LTO        true     C00CAC  ooA69kzOtNcAAwqN
    ...
    C00      slot 1675  LTO        true     C00ZT1  ooA69kzOtSkAAQGF
    C00      slot 1676  LTO        true     C00AT2  ooA69kzOtSkAAtZU
    C00      slot 1677  LTO        true     C00BT3  ooA69kzOtSkABKsZ
    
    Library    Bay Name   Slot Type  Total Slots  Free Slots
    C00        bay 1      DLT        0            0
    

  3. Verify that the volumes are available for DMF to use in the appropriate shelf volume group using the following dmvoladm(8) command:

    dmfserver# dmvoladm -l libraryserver -c "list all and vg=VGnames"

    For example:

    dmfserver# dmvoladm -l maid_ls -c "list all and vg=vg_c00"
                                               DATA   EOT     EOT             WR/FR
    VSN      VOLGRP LB      DATA LEFT       WRITTEN  CHUNK   ZONE   HFLAGS      AGE
    -------------------------------------------------------------------------------
    C00A00   vg_c00 al       0.000000      0.000000    1       1    ---------   16m
    C00A02   vg_c00 al       0.000000      0.000000    1       1    ---------   16m
    ...
    C00Z08   vg_c00 al       0.000000      0.000000    1       1    ---------   16m
    C00Z09   vg_c00 al       0.000000      0.000000    1       1    ---------   16m