General Parallel File System (GPFS) backup with Tivoli Storage Manager using mmbackup command


This document provides details about backups initiated via the GPFS mmbackup command and how it interacts with the IBM Tivoli Storage Manager client.


This document applies to the Tivoli Storage Manager V5.5 client and GPFS V3.2.

The GPFS mmbackup command backs up the files in the GPFS file system by launching the Tivoli Storage Manager client command line. The mmbackup command calls the /usr/lpp/mmfs/bin/mmexectsmcmd script, which uses the Tivoli Storage Manager command:
dsmc selective -filelist=<name>

Backing up data
The mmbackup command may be used to perform full or incremental backups. In either case, the dsmc selective command is used to back up specific files. File changes are tracked by GPFS. The mmbackup takes a temporary snapshot named .mmbuSnapshot of the specified file system, which then gets backed up to TSM. For example, for a file system named /mygpfs, the snapshot gets created under /mygpfs/.snapshots/.mmbuSnapshot.

The syntax of the mmbackup command is :
mmbackup Device -n ControlFile [-t {full | incremental}] [-s SortDir]

For example:
mmbackup /dev/mygpfs -n gpfs.cntl -t full

The contents of the GPFS Control file is described in the GPFS Administration and Programming Reference manual. For the previous mmbackup example where the command runs in a two-node cluster (rhnode1 and rhnode2), the gpfs.cntl file might have this content:

# backup server
# backup clients
# number of processes per client

Both the mmbackup full and incremental backups use the dsmc selective command with the -filelist option. Some example commands:

  • mmbackup /dev/mygpfs -n gpfs.cntl -t full
    This command uses the dsmc selective command to back up all files.
  • mmbackup /dev/mygpfs -n gpfs.cntl -t incremental
    This command uses the dsmc selective command to back up only files that have changed.

For the mmbackup incremental command, the following 3 objects are always backed up:

For example, assume that the /mygpfs file system has the following structure:

When this file system is backed up to Tivoli Storage Manager, the above files and directory will be stored on Tivoli Storage Manager in the /mygpfs file space as follows:

Restoring data
Data backed up with the GPFS mmbackup command is restored using the Tivoli Storage Manager client. The client GUI interface (dsmj), the command line client (dsmc), or the Web client can be used to restore the data.

For example, to restore the test1.txt and test2.txt files in their original locations in the /mygpfs file system, use the following command:

# dsmc restore "/mygpfs/.snapshots/.mmbuSnapshot/*.txt" /mygpfs/ -preservepath=nobase -su=yes

The command restores the /mygpfs/test1.txt and /mygpfs/subdir/test2.txt files. The -su=yes option is used to process files in the subdirectories. The -preservepath=nobase option prevents the .snapshots/.mmbuSnapshot directory structure from being recreated on restore. By using the above options and redirecting the restore to the root of the file system (/mygpfs/), the files are restored in their original locations.

Additional questions and answers
Q: What Tivoli Storage Manager options file (dsm.opt) does the mmbackup use?
A : The mmbackup command uses the dsm.opt that is in the default location. The default locations are:
For AIX: /usr/tivoli/tsm/client/ba/bin/dsm.opt
For Linux: /opt/tivoli/tsm/client/ba/bin/dsm.opt

Q: Is it possible to use a different backup server on the mmbackup command?
A: Yes, the control file used with the mmbackup command can specify a different backup server.

Q: Is it possible to exclude files from the mmbackup command ?
A: No, it is not possible to exclude files from mmbackup. If files are excluded, mmbackup will report a failure.

Q: If an error occurs in Tivoli Storage Manager, where does it get logged ?
A: The mmbackup commands redirects the Tivoli Storage Manager dsmerror.log file to the /var/mmfs/mmbackup directory. The log is named using the following convention:
/var/mmfs/mmbackup/ fsname_date_time/dsmerror.log
For example:

About Author