IBM Tivoli Software IBM Tivoli Software

[ | | | ]


IBM Tivoli Storage Manager for Space Management for UNIX: User's Guide


Selecting Your Options

Attention: During installation on AIX of the IBM Tivoli Storage Manager for UNIX Backup-Archive Clients program, sample options files (dsm.sys.smp, and dsm.opt.smp) are placed in the /usr/tivoli/tsm/client/ba/bin directory. During installation on Solaris, HP-UX, and Linux86 of the IBM Tivoli Storage Manager for UNIX Backup-Archive Clients program, sample options files (dsm.sys.smp, and dsm.opt.smp) are placed in the /opt/tivoli/tsm/client/ba/bin directory. If you are installing both the backup-archive client and the HSM client at the same time, copy and rename the sample options files and modify them for your use for both clients. If you previously installed the backup-archive client and you set up your options files, modify them for space management.

The HSM client shares the following common files and code with the IBM Tivoli Storage Manager for UNIX Backup-Archive Clients:

This chapter defines the space management options that you can set in both your dsm.sys file and your dsm.opt file. As optional tasks, you can assign management classes to your files and modify your include-exclude file. For more information about these options, see "Using Options".

After you select the options for space management, mount all HSM-managed file systems either automatically or manually each time you restart your system.

For information about setting other Tivoli Storage Manager options, see IBM Tivoli Storage Manager for UNIX: Backup-Archive Clients Installation and User's Guide.


Setting Options for Space Management

To use the HSM client, an authorized user must set options for space management. These options determine such things as:

Display Option Information

You can display information about options either from the command line or from the graphical user interface (GUI). From the GUI:

  1. Click Utilities->Display Options.
  2. Scroll up or down to view descriptions of client-server options.
  3. Click Help to display descriptions of the options.
  4. Click Close to close the Display Options window.

To display information about options from the command line, use the dsmmigquery command:

    dsmmigquery -options

Edit Your Options Files

To edit your options files from the Backup-Archive Client for UNIX graphical user interface, perform these steps:

  1. Select the Utilities menu-> Setup Wizard.
  2. Check Help me configure the TSM Backup Archive Client.
  3. Check Update my options file.
  4. Follow the instructions on your screen.

The sections that follow provide descriptions of each space management option that you can use. For more information about these options, see "Using Options".

Set Options in Your dsm.sys File

In addition to backup and archive options, the dsm.sys file:

Table 6 provides a brief description of each space management option that you can set in your dsm.sys file. The values that you set for the HSM client affect automatic migration, reconciliation, and recall. For more information about these options, see "Using Options".

For information about setting up space managment for AIX in an HACMP environment, see "Set Up Space Management for AIX in an HACMP Environment".

For AIX GPFS and Linux86 GPFS file systems only: To access your data on the server in the event of failover, ensure that all HSM nodes participating in the failover environment share the same node name in your dsm.sys file.

With the exception of errorprog, place all space management options at the beginning of your dsm.sys file before any server stanzas that you define.

  1. Obtain the server information from your Tivoli Storage Manager administrator.
  2. Edit your dsm.sys file to include the server to which you want to connect for space management services.
  3. Assign a name to the server to which you want to contact for space management services. For each Servername entry, include a COMMmethod entry to specify the communication method to use for client and server communications.
  4. Enter a value for each option and remove the leading asterisk (*). You can specify options for more than one server.

You can specify both a default server and a migration server in your dsm.sys file. If you do not specify a server name on either the defaultserver option or the migrateserver option, then, the server that you do specify in the first stanza of your dsm.sys file becomes your default server.

If you specify a migration server with the migrateserver option, it overrides the server that you specified with the defaultserver option.

Figure 1 displays an example of a server stanza containing options for a server that you want to contact.

Figure 1. Example of a dsm.sys File with HSM Options

DEFAULTServer                 server1
MIGRATEServer                 server2
CHECKThresholds                  2
CANDIDATESInterval              12
MAXCANDprocs                     5
RECOncileinterval               12
MAXRECOncileproc                 5
MAXThresholdproc                 5
MINMIGFILESize                8192
MIGFILEEXPiration               10
MINRECAlldaemons                 5
MAXRecalldaemons                15
CHECKFororphans                 no
MAXMIGRators                     1
KERNelmessages                  no
OVERLAPRECALL                   no
Servername     server1
  COMMmethod                  TCPip
  TCPPort                     1500
  TCPServeraddress            almvmd.almaden.ibm.com
  Passwordaccess              generate
  Mailprog                    /usr/bin/xsend root
  Groups                      system tsm
  Users                       steiner chron wang nguyen
  Inclexcl                    /adm/tsm/backup.excl
  ERRORProg                   /bin/cat
 
Servername     server2
  COMMmethod                  SNAlu6.2
  PARtnerluname               raptor
  TPname                      appcdel
  CPICMOdename                appc
  Passwordaccess              generate
  Mailprog                    /usr/bin/xsend root
  Groups                      system tsm
  Users                       sullivan tang stewart
  Inclexcl                    /adm/tsm/migrate.excl
  ERRORProg                   /bin/cat

Table 6. Setting Space Management Options in Your dsm.sys File

Option Description Default
candidatesinterval Specifies how often the dsmscoutd daemon searches for migration candidates in file systems to which you added space management. The range of values is one through 9999. 1
checkfororphans Specifies whether or not the dsmreconcile command checks for orphans. No
checkthresholds Determines how frequently the space monitor daemon checks space usage on the file systems to which you add space management. Every 5 minutes
compression Compresses files before you send them to the Tivoli Storage Manager server. No
defaultserver Specifies the name of the default Tivoli Storage Manager server to contact for space management services if you do not specify a server name on the migrateserver option.

You cannot override the default server for space management services in your dsm.opt file.

Server name in the first stanza
errorprog Specifies a program to which you want to send a message if a severe error occurs during space management processing. None
kernelmessages Valid for AIX JFS file systems only

Displays HSM-related messages during processing. If you change the value, it will not take effect until you restart your system.

Yes
maxcandprocs Specifies the number of slave scout daemons that can scan for migration candidates in parallel on a system. The range of values is two through 20. 5
maxmigrators Specifies the number of parallel migration sessions that you can perform. The range of values is one through 20. 1
maxrecalldaemons Specifies the maximum number of recall daemons that you can run at one time. The range of values is two through 99. 20
maxreconcileproc Specifies the maximum number of automatic reconciliation processes that you can start at one time. The range of values is one through 99. 3
maxthresholdproc Specifies the maximum number of automatic threshold migration processes that you can start at one time. The range of values is one through 99. 3
migfileexpiration Specifies the number of days that copies of migrated or premigrated files remain on the Tivoli Storage Manager server after they are modified on, or erased from, your local file system. The range of values is zero through 9999. 7 days
migrateserver Specifies the Tivoli Storage Manager server to which you want to migrate files from your client node. Specify only one migration server for each client node.

You cannot override the migration server in your dsm.opt file.

Specify a server name in the first stanza
minmigfilesize Specifies the minimum file size for migration candidates that is smaller or larger than the stub file size. The range of values is the fragment size of the file system through 2147483647. Zero
minrecalldaemons Specifies the minimum number of recall daemons that you want to run at the same time to perform recalls for your client node. The range of values is one through 99. 3
overlaprecall Valid for AIX JFS file systems only

Specifies whether migrated files must be recalled immediately even if a process is accessing only the resident part of the file. Specify Yes or No. This option is valid for read-only operations on a file.

No
reconcileinterval Specifies how often automatic reconciliation of file systems occurs to which you add space management. The range of values is zero through 9999. Every 24 hours

Set Options in Your dsm.opt File

The dsm.opt file contains options that affect the backup-archive client. However, some options, such as optionformat and restoremigstate, affect both the backup-archive client and the HSM client. Table 7 provides a brief description of the space management options that you can set in your dsm.opt file.

To edit your dsm.opt file:

  1. Group the options into stanzas for each server that your client node contacts for backup, archive, and space management services.
  2. Enter a value for each option and remove the leading asterisk (*).
  3. Set the DSM_CONFIG environment variable to point to your dsm.opt file. For instructions to set this variable, see Set Environment Variables.

Table 7. Setting Space Management Options in Your dsm.opt File

Option Description Default
optionformat Specifies the format to use (either standard or short) when you specify HSM client commands. If you change the value, the new value is effective immediately. Standard
restoremigstate Restores a file to stubbed (migrated) state if it is backed up after migration or premigration. Tivoli Storage Manager records the migration state of files during backup, so only those files that were migrated or premigrated at the time of backup can be restored to stubbed (migrated) state. Yes

Note: The Tivoli Storage Manager nfstimeout option is ignored for HSM clients; HSM only operates on local file systems.


Performing Optional Setup Tasks

In addition to required tasks, an authorized user can perform these optional tasks:

Management classes that you assign to files determine whether or not a file is eligible for backup or migration. An include-exclude options file contains statements that identify any files you want to include or exclude from backup or migration. Environment variables point to files that Tivoli Storage Manager uses.

Assign Management Classes to your Files

Your Tivoli Storage Manager administrator defines management classes that contain specific requirements for migrating files to storage. You assign these management classes to files on your local file systems. The management class that you assign to a file determines file eligibility for migration. Use the default management class for some or all of your files. Assign different management classes to specific files or groups of files using one or more include statements in your include-exclude options file.

A management class can contain a backup copy group and an archive copy group. Copy groups contain attributes that control the generation, destination, and expiration of backup versions of files and archived copies of files. For information about backup and archive copy groups, see IBM Tivoli Storage Manager for UNIX: Backup-Archive Clients Installation and User's Guide. Table 8 lists the space management attributes and their defaults that might be included in a management class.

Table 8. Space Management Attributes in a Management Class

Attribute Description Default
spacemgtechnique Specifies that a file is eligible for automatic and selective migration, selective migration only, or neither. The values for this attribute are:
Auto
The file is eligible for both automatic and selective migration.
Selective
The file is eligible for selective migration only.
None
The file is not eligible for migration.

Attention: If you use the default management class named Standard that is shipped with the Tivoli Storage Manager product, and your administrator has not changed the default setting for the spacemgtechnique attribute, files are not migrated from your workstation.

None
automignonuse Specifies the number of days (zero through 9999) that must elapse since you last accessed the file before it is eligible for automatic migration. Zero
migrequiresbkup Determines whether a current backup version of the file must exist on your migration server before the file is eligible for automatic or selective migration. The values for this attribute are:
Yes
A current backup version must exist.
No
A current backup version is optional.

Attention: If you set this attribute to yes in the management class that you assigned to a file, Tivoli Storage Manager checks for a current backup version of the file on your migration server only. If a current backup version does not exist on your migration server, the file is not migrated, even if a current backup version exists on another server.

Yes
migdestination Specifies the name of the storage pool in which Tivoli Storage Manager stores the file when it migrates. spacemgpool

Table 9 defines some tasks you might perform and the type of management class to assign to your files.

Table 9. Assigning Management Classes to Your Files

Task Assignment
You want to migrate and back up a file. Assign a management class to a file with space management attributes and backup-archive copy groups that you want to use for that file. Assign only one management class to a specific file.
Your client node communicates with the same server for both space management and backup-archive services. Assign a management class to a file containing space management attributes and backup-archive copy groups that you assigned to Tivoli Storage Manager to use for that file.
You migrate files to one server and back up and archive files to one or more different servers:
  • Specify a different include-exclude options file for each server.
  • Assign only one management class to a file in a specific include-exclude options file.
  • Assign different management classes to files in different include-exclude options files.

For example, if you back up files in /home/holland to Server1, the include-exclude options file that you use for Server1 might specify a management class named mgmt1a for a file named /home/holland/testfile. This management class must contain an appropriate backup copy group for the file.

If you migrate files in the /home file system to Server2, the include-exclude options file that you use for that server might specify a management class named mgmt2b for the same file. That management class must contain appropriate space management attributes for the file.

Display Information About Management Classes

You can display information about management classes for the default migration server only. If your client node contacts one or more additional servers for backup and archive services, use the backup-archive client graphical user interface or the dsmc query mgmtclass command to display information about available management classes on those servers.

To display information about management classes that you can assign to your files, follow these steps:

  1. Click Utilities->Display Policy Information.
  2. Click the management class for which you want to display information.
  3. Click Help to display descriptions of management class attributes.
  4. Click Close to close the Display Policy Information window.

To display information from the command line about management classes that you can assign to your files, enter:

   dsmmigquery -mgmtclass -detail

For more information about management classes or include-exclude options, see IBM Tivoli Storage Manager for UNIX: Backup-Archive Clients Installation and User's Guide.

Modify your Include-Exclude Options File

You might want to keep certain files, such as system files or files that the HSM client creates and uses, on your local file system at all times. Or, you might want to include certain files for backup or migration. Set the statements in your include-exclude options file to exclude or include specific files from space management and assign specific management classes to these files. If you do not create an include-exclude options file, all files are considered for backup services and the default management class is used.

For AIX GPFS and Linux86 GPFS file systems only: Do not use the inclexcl option with the AIX GPFS or Linux86 GPFS failover environment. Unlike dsm.opt and dsm.sys files, include-exclude options files are not shared between different nodes of a failover group. Add the include-exclude list directly to the dsm.sys file, or verify that the include-exclude list files match on all nodes participating in the local failover group or node set.

For all other file systems: Use the inclexcl option in your dsm.sys file to specify the name of your include-exclude options file. You can create an include-exclude options file for each Tivoli Storage Manager server that your client node contacts for services. For example, if your dsm.sys file contains two stanzas with options for two servers, you can include an inclexcl option in each stanza. Each inclexcl option can point to a different include-exclude options file. The files that you create must reside in a directory to which all users on your workstation have read access.

Follow these rules when you use the options in Table 10 to include or exclude files from either backup or migration:


Table 10. Include and Exclude Statements

Option Description
exclude Excludes a file or a group of files from space management.
exclude.backup Excludes a file from backup.
exclude.file Excludes a file or a group of files from space management.
exclude.file.spacemgmt Excludes a file from HSM services only. Use this option when you have both the backup-archive client and the HSM client installed.
exclude.spacemgmt Excludes files and directories from HSM backup only. Use this option when you have both the backup-archive client and the HSM client installed.
include Includes files for backup or LAN-free data transfer.
include.file Includes a file for backup.

The following example displays a sample include-exclude options file:

   exclude /.../core
   include /home/.../*  personal_files
   include /home/davehil/dsnew/.../*
   include /home/davehil/driver5/.../*  source_code
   exclude.spacemgmt /home/jones/proj1/status/.../*
   exclude /home/root/cron.log

In the sample include-exclude options file, personal_files and source_code identify management classes that are assigned to specific files. If you do not assign a management class to your files, the default management class is used.

Include-exclude options are processed from the bottom up. For example, when you build a migration candidates list for a file system, and the files that you included in that list migrate, each file is tested against the options in the include-exclude options file beginning with the last option that you specified and working up. If a match is found, it does not test the file against any additional options. It either excludes or includes the file as the option specifies. If a match is not found, the file is implicitly included for space management and backup services.

If you exclude a file from space management after it migrates to storage, it remains migrated until it is automatically or selectively recalled. After it is recalled, it is no longer eligible for migration. To prevent a file migrating to storage from a local file system, assign the file to a management class without automatic or selective migration.

Create an Include-Exclude List

To create an include-exclude list from the graphical user interface:

  1. Determine your include and exclude requirements.
  2. Select the Utilities menu-> Setup Wizard.
  3. Check the Help me configure the TSM Backup Archive Client box.
  4. Select Update my options file.
  5. Click Next several times until the Domain and include/exclude lists screen displays.
  6. Edit your include-exclude list.

To create an include-exclude list from the command line:

  1. Determine your include and exclude requirements.
  2. Create a file. Store your file in any directory to which all users on your workstation have read access.
  3. Enter your include and exclude statements.
  4. Enter the inclexcl option and the name of your include-exclude options file in your dsm.sys file.

Set Environment Variables

Note:
You cannot specify the root directory for DSM_DIR, DSM_CONFIG, or DSM_LOG.

Set these environment variables to point to files that Tivoli Storage Manager uses. Use the LANG environment variable to specify the language that you want to use.

Table 11. Environment Variables

Variable Description
DSM_DIR Points to the resource files, the dsm.sys file, and the executable file, dsmtca. If you do not set DSM_DIR, the HSM client searches for the executable files in the installation directory.
DSM_CONFIG Points to your dsm.opt file.
  • If you do not set DSM_CONFIG, the HSM client searches for the options file in the directory to which DSM_DIR points.
  • If you do not set DSM_DIR, the HSM client searches for the options file in the installation directory.
  • For Solaris operating systems, dsm.sys and dsm.opt are symbolic links to the actual files that you store in /usr/bin. This protects your files from deletion if you uninstall Tivoli Storage Manager.
DSM_LOG Points to the directory where you want the dsmerror.log file to reside. The error log file contains information about any errors that occur during processing. This log file helps Tivoli Customer Service diagnose severe errors.
  • If you define DSM_DIR but you do not define DSM_LOG, messages are written to dsmerror.log in the directory that you specified in DSM_DIR.
  • If you do not define DSM_LOG or DSM_DIR, error messages are written to dsmerror.log in the current directory. You receive a warning message if Tivoli Storage Manager cannot write messages to the log file. Processing continues.

Set Bourne and Korn Shell Variables

To set the Bourne or Korn shell, enter the environment variables in the .profile file in your $HOME directory. For example:

   DSM_DIR=/home/davehil
   DSM_CONFIG=/home/davehil/dsm.opt
   DSM_LOG=/home/davehil
   export DSM_DIR DSM_CONFIG DSM_LOG

The /home/davehil/dsm.opt path identifies the path and file name for your dsm.opt file. The /home/davehil path identifies the directory where you want to store the dsmerror.log file, the executable file, the resource files, and the dsm.sys file.

Set C Shell Variables

To set the C shell, add the DSM_CONFIG and DSM_LOG variables to the .cshrc file in your $HOME directory. For example:

   setenv DSM_CONFIG /home/davehil/dsm.opt
   setenv DSM_LOG /home/davehil

The /home/davehil/dsm.opt path identifies the path and file name for your dsm.opt file. The /home/davehil path identifies the directory where you want to store the dsmerror.log file.


|Set Up LAN-free Data Transfer for HSM on AIX GPFS

| | |

|The HSM on AIX GPFS client supports LAN-free data transfer, which shifts |the movement of client data from the communications network to a storage area |network (SAN). Shifting the client data movement from the |communications network to a SAN decreases the load on the Tivoli Storage |Manager server.

|The SAN provides a path that allows you to migration and recall data to and |from a SAN-attached storage device. Client data moves over the SAN to |the storage device via the Tivoli Storage Manager Storage Agent. The |Tivoli Storage Manager Storage Agent must be installed on the same system as |the client.

|LAN-free prerequisites

|To enable LAN-Free support: |

|LAN-free options

|After installing and configuring the IBM Tivoli Storage Manager Managed |System for SAN feature on the client workstation, you can use the following |options to enable LAN-Free data transfer: |

|enablelanfree
|Specifies whether to enable an available LAN-free path to SAN-attached |storage device. Set this option to yes.

|lanfreecommmethod
|Specifies a communication protocol between the client and the Storage |Agent. Set this option to TCPip.

|lanfreetcpport
|Specifies the TCP/IP port number where the Storage Agent is |listening. Set this option to 1530. |

|See the IBM Tivoli Storage Manager for UNIX Backup-Archive Clients |Installation and User's Guide for more information about these |options.

|Use the include and exclude options to control |LAN-free data transfer, as follows: |

|Task
|Assuming that /hsm1 is an HSM managed file system, include the files in |the /hsm1/clientdata/lanfree directory for LAN-free data transfer and assign |these files to a LAN-free enabled management class.

|Include statement: include.lanfree |/hsm1/clientdata/lanfree lanfreemgmtclass

|Task
|Assuming that /hsm1 is an HSM managed file system and the default |management class is LAN-free, exclude the files in the /hsm1/clientdata |directory from LAN-free data transfer.

|Exclude statement: exclude /hsm1/clientdata/*

|  
|

Set Up Space Management for AIX in an HACMP Environment

Attention: The HACMP environment is valid on AIX JFS file systems only.

The HSM client permits your HSM-managed file system to become a part of a resource group in an HACMP cluster so that if there is a system failure, you can obtain access to your data from another system. To set up space managment in an HACMP environment, each node in a cluster, willing to take over HSM-managed file systems, must specify a server stanza for every Tivoli Storage Manager server that your file systems use in a cluster that it might want to manage. Place this stanza in your dsm.sys file. You can use a server stanza for more than one file system.

Notes:

  1. The HACMP setup in conjunction with HSM is only supported with AIX 5.1.

  2. For more information about the HACMP environment for AIX, see IBM Tivoli Storage Manager for UNIX: Backup-Archive Clients Installation and User's Guide.

Across different nodes, the server stanza must have the following characteristics:

The HSM for HACMP also supports cascading and rotating takeover relationships in the same manner as the backup-archive client. The password handling is the same as that of the HACMP backup-archive client. The dsm.opt file and the dsm.sys file can reside in the standard /usr/tivoli folder, or you can use the DSM_CONFIG environment variable that you set in the start script. However, the behavior must be identical on all nodes.

Limitations of HSM Support for the HACMP Environment

Included here are the limitations of HSM support for the HACMP environment.

The HSM support for the HACMP environment is not completely integrated with the backup-archive client support for the HACMP environment. For example, the HSM client refers to the /etc/adsm/SpaceMan/config/dsmmigfstab file to determine which server to use for a file system. The server might contact a different server for each file system. In contrast, the backup-archive client determines which server to use from the dsm.opt file, the dsm.sys file, or from a parameter that you specify on the command line when you start a backup-archive command line client. A backup-archive client process might back up, archive, restore, or retrieve from one server. If you need backup-archive client services for different servers, start a new backup-archive client process.

The HSM GUI does not support HACMP commands. After you enter the dsmmigfs import command, run the dsmreconcile command for your file system to update the status file.

Start and Stop HSM in an HACMP Environment

The following examples of scripts demonstrate how to start and stop HSM in an HACMP environment on an AIX file system. These scripts are only examples. You must create your own scripts for your environment.

Figure 2. start_HSM : A Sample Script That Starts the HSM and Imports all File Systems

+--------------------------------------------------------------------------------+
|#! /usr/bin/perl                                                                |
|#------------------------------------------------------------------             |
|# call with                                                                     |
|#    start_HSM [filesystems]                                                    |
|#------------------------------------------------------------------             |
|                                                                                |
|my $LOG="/tmp/HSM.log"; # place of your logfile                                 |
|                                                                                |
|$ENV{"DSM_DIR"}="[your location of dsm.sys]";                                   |
|$ENV{"DSM_CONFIG"}="[your location of option file]";                            |
|`echo "***************************************************" >> $LOG`;           |
|`echo "* Starting HSM                                    *" >> $LOG`;           |
|`echo "***************************************************" >> $LOG`;           |
|                                                                                |
|`echo START \\\\t\\\\t \`date\` >> $LOG`;                                       |
|`echo \$DSM_DIR \$DSM_CONFIG >> $LOG`;                                          |
|                                                                                |
|# killing all running demons to reread the option files                         |
|`echo "Killing dsmrecalld ..." >> $LOG`;                                        |
|`kill -15 \$(ps -aef|grep dsmrecalld |grep -v grep |awk '{print \$2}')          |
|2>&1 1>> $LOG`;                                                                 |
|`echo "Killing dsmmonitord ..." >> $LOG`;                                       |
|`kill -15 \$(ps -aef|grep dsmmonitord |grep -v grep |awk '{print \$2}')         |
|2>&1 1>> $LOG`;                                                                 |
|`echo "Killing dsmscoutd ..." >> $LOG`;                                         |
|`kill -15 \$(ps -aef|grep dsmscoutd |grep -v grep |awk '{print \$2}')           |
|2>&1 1>> $LOG`;                                                                 |
|                                                                                |
|# starting the demons with the right dsm.sys and dsm.opt                        |
|`echo "Starting dsmmonitord ..." >> $LOG`;                                      |
|`echo \$DSM_DIR \$DSM_CONFIG >> $LOG;                                           |
|dsmmonitord 2>&1 1>> $LOG`;                                                     |
|`echo "Starting dsmrecalld ..." >> $LOG`;                                       |
|`echo \$DSM_DIR \$DSM_CONFIG >> $LOG; dsmrecalld 2>&1 1>> $LOG`;                |
|`echo "Starting dsmscoutd ..." >> $LOG`;                                        |
|`echo \$DSM_DIR \$DSM_CONFIG >> $LOG; dsmscoutd 2>&1 1>> $LOG`;                 |
|                                                                                |
|# transfer the command line into an array                                       |
|while(my $temp=shift @ARGV){                                                    |
|  $FS[@FS]=$temp;                                                               |
|}                                                                               |
|                                                                                |
|# import all filesystems                                                        |
|`echo "Starting to import FS.." >> $LOG`;                                       |
|for(my $i=0; $i < @FS; $i++){                                                   |
|  `dsmmigfs import $FS[$i] 2>&1 1>> $LOG`;                                      |
|}                                                                               |
|                                                                                |
|`echo "HSM is Started" >> $LOG`;                                                |
+--------------------------------------------------------------------------------+

Figure 3. stop_HSM : Stops HSM and Exports All File Systems

+--------------------------------------------------------------------------------+
|#! /usr/bin/perl                                                                |
|#------------------------------------------------------------------ #           |
|call with                                                                       |
|#    stop_HSM [filesystems]                                                     |
|#------------------------------------------------------------------             |
|my $LOG="/tmp/HSM.log"; # place of your logfile                                 |
|                                                                                |
|$ENV{"DSM_DIR"}="[your location of dsm.sys]";                                   |
|$ENV{"DSM_CONFIG"}="[your location of option file]";                            |
|`echo "***************************************************" >> $LOG`;           |
|`echo "* Stoping HSM                                     *" >> $LOG`;           |
|`echo "***************************************************" >> $LOG`;           |
|                                                                                |
|`echo STOP\\\\t\\\\t \`date\` >> $LOG`;                                         |
|`echo \$DSM_DIR \$DSM_CONFIG >> $LOG`;                                          |
|                                                                                |
|# before you can export the filesystems, you have to stop all demons            |
|`echo "Killing dsmrecalld ..." >> $LOG`;                                        |
|`kill -15 \$(ps -aef|grep dsmrecalld |grep -v grep |awk '{print \$2}')          |
|2>&1 1>> $LOG`;                                                                 |
|`echo "Killing dsmmonitord ..." >> $LOG`;                                       |
|`kill -15 \$(ps -aef|grep dsmmonitord |grep -v grep |awk '{print \$2}')         |
|2>&1 1>> $LOG`;                                                                 |
|`echo "Killing dsmscoutd ..." >> $LOG`;                                         |
|`kill -15 \$(ps -aef|grep dsmscoutd |grep -v grep |awk '{print \$2}')           |
|2>&1 1>> $LOG`;                                                                 |
|                                                                                |
|# transfer the command line into an array                                       |
|while(my $temp=shift @ARGV){                                                    |
|  $FS[@FS]=$temp;                                                               |
|}                                                                               |
|                                                                                |
|# to export the filesystems, you have to stop all processes using this filesyste|
|`echo "Killing the rest ..." >> $LOG`;                                          |
|for(my $i=0; $i < @FS; $i++){                                                   |
|  @PROCS=split (" ",`fuser -c $FS[$i] 2>/dev/null`);                            |
|  while(my $PROC=shift @PROCS){                                                 |
|     $PROC=~s/c//g;                                                             |
|     `kill -9  $PROC 2>&1 1>> $LOG`;                                            |
|  }                                                                             |
|}                                                                               |
|                                                                                |
|# now you can export the filesystems                                            |
|`echo "Starting to export FS.." >> $LOG`;                                       |
|for(my $i=0; $i < @FS; $i++){                                                   |
|  `dsmmigfs export $FS[$i] 2>&1 1>> $LOG`;                                      |
| }                                                                              |
|`echo "HSM is stopped" >> $LOG`;                                                |
+--------------------------------------------------------------------------------+

|Set Up Space Management for Linux86 in an IBM Cluster 1350 Environment

| |

|The HSM client permits your HSM-managed file system to become a part of a |resource group in a resource group in the cluster so that if there is a system |failure, you can obtain access to your data from another system. To set |up space managment in an IBM Cluster 1350 environment, each node in a cluster, |willing to take over HSM-managed file systems, must specify a server stanza |for every Tivoli Storage Manager server that your file systems use in a |cluster that it might want to manage. Place this stanza in your |dsm.sys file. You can use a server stanza for more than one file |system.

|For more information about the IBM Cluster 1350 environment for Linux, see |IBM Redbook Linux Clustering with CMS and GPFS, SG24-6601 for more |information:

|http://www.redbooks.ibm.com/redbooks/pdfs/sg246601.pdf

|Across different nodes, the server stanza must have the following |characteristics: |

|The HSM for IBM Cluster 1350 also supports cascading and rotating takeover |relationships in the same manner as the backup-archive client. The |dsm.opt file and the dsm.sys file can reside in the standard |/opt/tivoli folder, or you can use the DSM_CONFIG environment |variable that you set in the start script. However, the behavior must |be identical on all nodes.

|Limitations of HSM Support for the IBM Cluster 1350 Environment

| |Included here are the limitations of HSM support for the IBM Cluster 1350 |environment. |

|The HSM support for the IBM Cluster 1350 environment is not completely |integrated with the backup-archive client support for the IBM Cluster 1350 |environment. For example, the HSM client refers to the |/etc/adsm/SpaceMan/config/dsmmigfstab file to determine which |server to use for a file system. The server might contact a different |server for each file system. In contrast, the backup-archive client |determines which server to use from the dsm.opt file, the |dsm.sys file, or from a parameter that you specify on the command line |when you start a backup-archive command line client. A backup-archive |client process might back up, archive, restore, or retrieve from one |server. If you need backup-archive client services for different |servers, start a new backup-archive client process.

|The HSM GUI does not support IBM Cluster 1350 commands. After you |enter the dsmmigfs import command, run the |dsmreconcile command for your file system to update the status |file.

|Start and Stop HSM in an IBM Cluster 1350 Environment

| |

|The following examples of scripts demonstrate how to start and stop HSM in |IBM Cluster 1350 environment on a Linux86 GPFS file system. These |scripts are only examples. You must create your own scripts for your |environment.

|Figure 4. start_HSM : A Sample Script That Starts the HSM and Imports all File Systems

|+--------------------------------------------------------------------------------+
||#! /usr/bin/perl                                                                |
||#------------------------------------------------------------------             |
||# call with                                                                     |
||#    start_HSM [filesystems]                                                    |
||#------------------------------------------------------------------             |
||                                                                                |
||my $LOG="/tmp/HSM.log"; # place of your logfile                                 |
||                                                                                |
||$ENV{"DSM_DIR"}="[your location of dsm.sys]";                                   |
||$ENV{"DSM_CONFIG"}="[your location of option file]";                            |
||`echo "***************************************************" >> $LOG`;           |
||`echo "* Starting HSM                                    *" >> $LOG`;           |
||`echo "***************************************************" >> $LOG`;           |
||                                                                                |
||`echo START \\\\t\\\\t \`date\` >> $LOG`;                                       |
||`echo \$DSM_DIR \$DSM_CONFIG >> $LOG`;                                          |
||                                                                                |
||# killing all running demons to reread the option files                         |
||`echo "Killing dsmrecalld ..." >> $LOG`;                                        |
||`kill -15 \$(ps -aef|grep dsmrecalld |grep -v grep |awk '{print \$2}')          |
||2>&1 1>> $LOG`;                                                                 |
||`echo "Killing dsmmonitord ..." >> $LOG`;                                       |
||`kill -15 \$(ps -aef|grep dsmmonitord |grep -v grep |awk '{print \$2}')         |
||2>&1 1>> $LOG`;                                                                 |
||`echo "Killing dsmscoutd ..." >> $LOG`;                                         |
||`kill -15 \$(ps -aef|grep dsmscoutd |grep -v grep |awk '{print \$2}')           |
||2>&1 1>> $LOG`;                                                                 |
||                                                                                |
||# starting the demons with the right dsm.sys and dsm.opt                        |
||`echo "Starting dsmmonitord ..." >> $LOG`;                                      |
||`echo \$DSM_DIR \$DSM_CONFIG >> $LOG;                                           |
||dsmmonitord 2>&1 1>> $LOG`;                                                     |
||`echo "Starting dsmrecalld ..." >> $LOG`;                                       |
||`echo \$DSM_DIR \$DSM_CONFIG >> $LOG; dsmrecalld 2>&1 1>> $LOG`;                |
||`echo "Starting dsmscoutd ..." >> $LOG`;                                        |
||`echo \$DSM_DIR \$DSM_CONFIG >> $LOG; dsmscoutd 2>&1 1>> $LOG`;                 |
||                                                                                |
||# transfer the command line into an array                                       |
||while(my $temp=shift @ARGV){                                                    |
||  $FS[@FS]=$temp;                                                               |
||}                                                                               |
||                                                                                |
||# import all filesystems                                                        |
||`echo "Starting to import FS.." >> $LOG`;                                       |
||for(my $i=0; $i < @FS; $i++){                                                   |
||  `dsmmigfs import $FS[$i] 2>&1 1>> $LOG`;                                      |
||}                                                                               |
||                                                                                |
||`echo "HSM is Started" >> $LOG`;                                                |
|+--------------------------------------------------------------------------------+

|Figure 5. stop_HSM : Stops HSM and Exports All File Systems

|+--------------------------------------------------------------------------------+
||#! /usr/bin/perl                                                                |
||#------------------------------------------------------------------ #           |
||call with                                                                       |
||#    stop_HSM [filesystems]                                                     |
||#------------------------------------------------------------------             |
||my $LOG="/tmp/HSM.log"; # place of your logfile                                 |
||                                                                                |
||$ENV{"DSM_DIR"}="[your location of dsm.sys]";                                   |
||$ENV{"DSM_CONFIG"}="[your location of option file]";                            |
||`echo "***************************************************" >> $LOG`;           |
||`echo "* Stoping HSM                                     *" >> $LOG`;           |
||`echo "***************************************************" >> $LOG`;           |
||                                                                                |
||`echo STOP\\\\t\\\\t \`date\` >> $LOG`;                                         |
||`echo \$DSM_DIR \$DSM_CONFIG >> $LOG`;                                          |
||                                                                                |
||# before you can export the filesystems, you have to stop all demons            |
||`echo "Killing dsmrecalld ..." >> $LOG`;                                        |
||`kill -15 \$(ps -aef|grep dsmrecalld |grep -v grep |awk '{print \$2}')          |
||2>&1 1>> $LOG`;                                                                 |
||`echo "Killing dsmmonitord ..." >> $LOG`;                                       |
||`kill -15 \$(ps -aef|grep dsmmonitord |grep -v grep |awk '{print \$2}')         |
||2>&1 1>> $LOG`;                                                                 |
||`echo "Killing dsmscoutd ..." >> $LOG`;                                         |
||`kill -15 \$(ps -aef|grep dsmscoutd |grep -v grep |awk '{print \$2}')           |
||2>&1 1>> $LOG`;                                                                 |
||                                                                                |
||# transfer the command line into an array                                       |
||while(my $temp=shift @ARGV){                                                    |
||  $FS[@FS]=$temp;                                                               |
||}                                                                               |
||                                                                                |
||# to export the filesystems, you have to stop all processes using this filesyste|
||`echo "Killing the rest ..." >> $LOG`;                                          |
||for(my $i=0; $i < @FS; $i++){                                                   |
||  @PROCS=split (" ",`fuser -c $FS[$i] 2>/dev/null`);                            |
||  while(my $PROC=shift @PROCS){                                                 |
||     $PROC=~s/c//g;                                                             |
||     `kill -9  $PROC 2>&1 1>> $LOG`;                                            |
||  }                                                                             |
||}                                                                               |
||                                                                                |
||# now you can export the filesystems                                            |
||`echo "Starting to export FS.." >> $LOG`;                                       |
||for(my $i=0; $i < @FS; $i++){                                                   |
||  `dsmmigfs export $FS[$i] 2>&1 1>> $LOG`;                                      |
|| }                                                                              |
||`echo "HSM is stopped" >> $LOG`;                                                |
|+--------------------------------------------------------------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]