IBM Spectrum Protect: Difference between revisions
mNo edit summary |
|||
| Line 1: | Line 1: | ||
IBM Spectrum Protect, formerly known as Tivoli Storage Manager or '''TSM''' is used for managing backups. | IBM Spectrum Protect, formerly known as Tivoli Storage Manager or '''TSM''' is used for managing backups. | ||
== Usage == | |||
Admin CLI is used to configure the TSM system. The TSM client CLI is used to list and restore files on the client system. | |||
== TSM Command Line Usage == | == TSM Command Line Usage == | ||
The TSM command line can be entered either from the web GUI via the 'Command Builder' or by running {{code|dsmadmc}} | The TSM command line utility can be invoked by running {{code|dsmc}}. The client interface will only show a subset of parameters that you will see in the admin console. It looks like it shows only values applicable to the host that it is running on (ie. filespaces, incl/excl options, etc.). | ||
See also: https://help.it.ox.ac.uk/hfs/help/dsmc | |||
Here is what the TSM client interface looks like. | |||
{{highlight|lang=terminal|code= | |||
[root@tsm ~]# dsmc | |||
IBM Tivoli Storage Manager | |||
Command Line Backup-Archive Client Interface | |||
Client Version 7, Release 1, Level 6.5 | |||
Client date/time: 02/04/2020 16:01:52 | |||
(c) Copyright by IBM Corporation and other(s) 1990, 2017. All Rights Reserved. | |||
Node Name: TSM | |||
Session established with server CHGI_TSM01: Linux/ppc64 | |||
Server Version 7, Release 1, Level 7.200 | |||
Server date/time: 02/04/2020 16:01:52 Last access: 02/04/2020 05:29:10 | |||
tsm> | |||
}} | |||
=== List Include / Exclude Options === | |||
You can see all include/exclude with {{code|query inclexcl}}, which is similar to what is shown in the Admin Console when running {{code|query cloptset}} but only limited to this particular host. | |||
{{highlight|lang=terminal|code= | |||
tsm> q inclexcl | |||
*** FILE INCLUDE/EXCLUDE *** | |||
Mode Function Pattern (match from top down) Source File | |||
---- --------- ------------------------------ ----------------- | |||
No exclude filespace statements defined. | |||
Excl Directory /.../.TsmCacheDir TSM | |||
Exclude All /gpfs/cbousman/.../* Server | |||
Exclude All /.../.snapshots/.../* Server | |||
Exclude All /tiered/vetmed_data/.../* Server | |||
Exclude All /tiered/snyder_data/.../* Server | |||
... | |||
Exclude All /.../*.dbv Server | |||
Include All /gpfs/forever/.../* Server | |||
No DFS include/exclude statements defined. | |||
}} | |||
=== List Files === | |||
To list all files that are available for restore: | |||
{{highlight|lang=terminal|code= | |||
tsm> query backup /path/to/file | |||
Size Backup Date Mgmt Class A/I File | |||
---- ----------- ---------- --- ---- | |||
4,096 B 11/26/2019 06:43:38 INDEFINITE A /gpfs/home/lleung/.cache | |||
4,096 B 11/26/2019 06:43:54 INDEFINITE A /gpfs/home/lleung/.config | |||
4,096 B 11/26/2019 06:47:09 INDEFINITE A /gpfs/home/lleung/.dbus | |||
4,096 B 11/26/2019 12:06:04 INDEFINITE A /gpfs/home/lleung/.gnupg | |||
... | |||
}} | |||
Additional options: | |||
* {{code|-inactive}} to show previous versions of the files. | |||
* {{code|1=-subdir=yes}} to show sub directories | |||
=== Restoring Files === | |||
To restore a file, use the {{code|restore source [destination]}} function. If destination is omitted, TSM will restore over the original location. TSM will restore the most recent version (active) of the file. | |||
{{highlight|lang=terminal|code= | |||
tsm> restore /gpfs/home/lleung/.zsh /gpfs/home/lleung/restore/ | |||
Restore function invoked. | |||
Restoring 4,096 /gpfs/home/lleung/.zsh --> /gpfs/home/lleung/restore/.zsh [Done] | |||
Restore processing finished. | |||
Total number of objects restored: 1 | |||
Total number of objects failed: 0 | |||
Total number of bytes transferred: 0 B | |||
Data transfer time: 0.00 sec | |||
Network data transfer rate: 0.00 KB/sec | |||
Aggregate data transfer rate: 0.00 KB/sec | |||
Elapsed processing time: 00:00:03 | |||
}} | |||
Other options: | |||
* {{code|1=-su=yes}} is required when restoring the entire directory. | |||
* {{code|-inactive -pick}} to restore an inactive file with option to pick which revision to restore. | |||
== Administrative Command Line Usage == | |||
The administrative TSM command line can be entered either from the web GUI via the 'Command Builder' or by running {{code|dsmadmc}} utility. In both cases, you must provide the TSM credentials. | |||
You will be greeted with a prompt similar to the one below. | You will be greeted with a prompt similar to the one below. | ||
| Line 16: | Line 105: | ||
Additionally, SQL queries can be executed in this prompt which executes against the underlying DB2 database. | Additionally, SQL queries can be executed in this prompt which executes against the underlying DB2 database. | ||
Documentation: https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.3/srv.reference/r_cmdline_adclient_options.html | |||
=== SQL === | === SQL === | ||
Revision as of 23:33, 4 February 2020
IBM Spectrum Protect, formerly known as Tivoli Storage Manager or TSM is used for managing backups.
Usage
Admin CLI is used to configure the TSM system. The TSM client CLI is used to list and restore files on the client system.
TSM Command Line Usage
The TSM command line utility can be invoked by running dsmc. The client interface will only show a subset of parameters that you will see in the admin console. It looks like it shows only values applicable to the host that it is running on (ie. filespaces, incl/excl options, etc.).
See also: https://help.it.ox.ac.uk/hfs/help/dsmc
Here is what the TSM client interface looks like.
[root@tsm ~]# dsmc
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
Client Version 7, Release 1, Level 6.5
Client date/time: 02/04/2020 16:01:52
(c) Copyright by IBM Corporation and other(s) 1990, 2017. All Rights Reserved.
Node Name: TSM
Session established with server CHGI_TSM01: Linux/ppc64
Server Version 7, Release 1, Level 7.200
Server date/time: 02/04/2020 16:01:52 Last access: 02/04/2020 05:29:10
tsm>
List Include / Exclude Options
You can see all include/exclude with query inclexcl, which is similar to what is shown in the Admin Console when running query cloptset but only limited to this particular host.
tsm> q inclexcl
*** FILE INCLUDE/EXCLUDE ***
Mode Function Pattern (match from top down) Source File
---- --------- ------------------------------ -----------------
No exclude filespace statements defined.
Excl Directory /.../.TsmCacheDir TSM
Exclude All /gpfs/cbousman/.../* Server
Exclude All /.../.snapshots/.../* Server
Exclude All /tiered/vetmed_data/.../* Server
Exclude All /tiered/snyder_data/.../* Server
...
Exclude All /.../*.dbv Server
Include All /gpfs/forever/.../* Server
No DFS include/exclude statements defined.
List Files
To list all files that are available for restore:
tsm> query backup /path/to/file
Size Backup Date Mgmt Class A/I File
---- ----------- ---------- --- ----
4,096 B 11/26/2019 06:43:38 INDEFINITE A /gpfs/home/lleung/.cache
4,096 B 11/26/2019 06:43:54 INDEFINITE A /gpfs/home/lleung/.config
4,096 B 11/26/2019 06:47:09 INDEFINITE A /gpfs/home/lleung/.dbus
4,096 B 11/26/2019 12:06:04 INDEFINITE A /gpfs/home/lleung/.gnupg
...
Additional options:
-inactiveto show previous versions of the files.-subdir=yesto show sub directories
Restoring Files
To restore a file, use the restore source [destination] function. If destination is omitted, TSM will restore over the original location. TSM will restore the most recent version (active) of the file.
tsm> restore /gpfs/home/lleung/.zsh /gpfs/home/lleung/restore/
Restore function invoked.
Restoring 4,096 /gpfs/home/lleung/.zsh --> /gpfs/home/lleung/restore/.zsh [Done]
Restore processing finished.
Total number of objects restored: 1
Total number of objects failed: 0
Total number of bytes transferred: 0 B
Data transfer time: 0.00 sec
Network data transfer rate: 0.00 KB/sec
Aggregate data transfer rate: 0.00 KB/sec
Elapsed processing time: 00:00:03
Other options:
-su=yesis required when restoring the entire directory.-inactive -pickto restore an inactive file with option to pick which revision to restore.
Administrative Command Line Usage
The administrative TSM command line can be entered either from the web GUI via the 'Command Builder' or by running dsmadmc utility. In both cases, you must provide the TSM credentials.
You will be greeted with a prompt similar to the one below.
Session established with server CHGI_TSM01: Linux/ppc64
Server Version 7, Release 1, Level 7.200
Server date/time: 11/19/2019 14:18:43 Last access: 11/12/2019 17:15:04
tsm: CHGI_TSM01>
Commands and parameters can be shortened so long as it is not ambiguous. query volume can therefore be shortened to q vol, for example.
Additionally, SQL queries can be executed in this prompt which executes against the underlying DB2 database.
Documentation: https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.3/srv.reference/r_cmdline_adclient_options.html
SQL
To show all file spaces and their respective storage pool location when backed up:
tsm: CHGI_TSM01> select node_name, filespace_name, physical_mb, stgpool_name FROM occupancy WHERE stgpool_name = 'BACKUPTAPE'
NODE_NAME: TSM
FILESPACE_NAME: /tiered
PHYSICAL_MB: 686244989.70
STGPOOL_NAME: BACKUPTAPE
NODE_NAME: TSM
FILESPACE_NAME: /gpfs
PHYSICAL_MB: 616886529.62
STGPOOL_NAME: BACKUPTAPE
All entries listed here defines which storage pool backups go to. In the example above, /tiered and /gpfs will be stored on the BACKUPTAPE storage pool.
Query
The query command is used to obtain TSM objects.
Documentation available at https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.9/srv.reference/r_cmd_query.html
Tapes
To show all tapes in use, their capacity and usage, run query volume.
tsm: CHGI_TSM01> query volume
Volume Name Storage Pool Name Device Class Name Estimated Capacity Pct Util Volume Status
A00091L7 BACKUPTAPE LTO 127.339 G 98.291 Full
A00105L7 BACKUPTAPE LTO 13.642 T 1.331 Filling
A00106L7 BACKUPTAPE LTO 167.739 G 83.773 Full
A00107L7 BACKUPTAPE LTO 203.538 G 97.105 Full
To show contents of a particular tape, run query content tapeid.
tsm: CHGI_TSM01> query content A00091L7
Node Name Type Filespace FSID Client's Name for File
Name
--------------- ---- ---------- ---- --------------------------------------
TSM Bkup /gpfs 10 /home/atyndall/.cache/mozilla/firefox/
td76tbw4.default/cache2/entries/929BC
F811537CE5A1B05BC367E7D5FCD9D1512C2
TSM Bkup /gpfs 10 /home/atyndall/.mozilla/firefox/td76tb
w4.default/.parentlock
TSM Bkup /gpfs 10 /home/atyndall/.mozilla/firefox/td76tb
w4.default/SiteSecurityServiceState.t
xt
Schedules
To show all configured backup schedules, run query schedules.
tsm: CHGI_TSM01> query schedules
Domain * Schedule Name Action Start Date/Time Duration Period Day
------------ - ---------------- ------ -------------------- -------- ------ ---
SERVERS DAILY_INCR Inc Bk 07/04/2017 18:00:00 1 H 1 D Any
SERVERS MMBACKUP CMD 07/04/2017 02:10:00 1 H 1 D Any
STANDARD DAILY_INCR Inc Bk 07/04/2017 18:00:00 1 H 1 D Any
Backup Filespace
To show all partitions that are made available to be backed up, run query filespace. These are partitions that have the potential of being backed up based on schedules and policies but aren't necessarily backed up.
tsm: CHGI_TSM01> query filespace
Node Name Filespace N FSID Platform Filespace Is Filespa Capacity Pct U
ame Type ce Unicode til
?
--------------- ----------- ---- -------- --------- ---------- ----------- -----
CRICK.CHGI.UCAL / 1 LinuxPPC EXT4 No 879 GB 24.9
GARY.CA 64LE
TSM /tsminst1 1 LinuxPPC EXT4 No 30,109 MB 52.9
64
TSM / 2 LinuxPPC EXT4 No 50,268 MB 74.6
64
TSM /boot 3 LinuxPPC EXT4 No 468 MB 68.6
64
TSM /tsmdb0 4 LinuxPPC EXT4 No 196 GB 45.1
64
TSM /tsmdb1 5 LinuxPPC EXT4 No 196 GB 45.1
64
TSM /tsmdb2 6 LinuxPPC EXT4 No 196 GB 45.1
64
TSM /tsmdb3 7 LinuxPPC EXT4 No 196 GB 45.1
64
TSM /tsmlog 8 LinuxPPC EXT4 No 245 GB 57.0
64
TSM /tsmarchlog 9 LinuxPPC EXT4 No 492 GB 5.0
64
TSM /gpfs 10 LinuxPPC GPFS No 1,292 TB 77.9
64
TSM /tiered 14 LinuxPPC GPFS No 1,400 TB 92.8
64
Scripts
Custom scripts are a set of SQL queries that can be executed using the run command. An example script to show tape information is given below.
tsm: CHGI_TSM01>query script tapes
Name Description Managing profile
--------------- -------------------------------------------------- --------------------
TAPES list information about tape usage
tsm: CHGI_TSM01>query script tapes format=raw
select stgpool_name, count(*) as "Tapes" from volumes -
where devclass_name = 'LTO' group by stgpool_name
select count(*) as "Total Storage Pool Tapes" from volumes -
where devclass_name = 'LTO'
select count(*) as "Total Stg. Pool Tapes in Lib." from volumes -
where devclass_name='LTO' and volume_name in (select volume_name from libvolumes where library_name = 'CHGI_TSM')
select status, count(*) as "Tapes" from libvolumes -
where library_name = 'CHGI_TSM' group by status order by status desc
select count (*) as "Total LTO tapes in library" from libvolumes -
where library_name = 'CHGI_TSM'
issue message i "The following tapes are outside the library"
q media * stg=* wherestate=mountablenotinlib
Invoke the script with run scriptname:
tsm: CHGI_TSM01>run tapes
STGPOOL_NAME Tapes
-------------------------------- ------------
BACKUPTAPE 273
Total Storage Pool Tapes
-------------------------
273
Total Stg. Pool Tapes in Lib.
------------------------------
272
STATUS Tapes
----------------- ------------
Scratch 82
Private 283
Total LTO tapes in library
---------------------------
365
ANR1496I The following tapes are outside the library
Volume N State Location Automated LibNa
ame me
-------- -------------------------- ------------------- ---------------
A00121L7 Mountable not in library ?
ANR1462I RUN: Command script TAPES completed successfully.
Snapshots
Snapshot management is done using the following utilities:
| Command | Description |
|---|---|
mmlssnapshot gpfs0
|
Lists all snapshots in the gpfs0 device |
mmdelsnapshot gpfs0 snapshot_name -j fileset
|
Deletes a snapshot in the gpfs0 device on a particular fileset by name. |
mmcrsnapshot gpfs0 snapshot_name -j fileset
|
Create a snapshot in the gpfs0 device for a particular fileset with the provided snapshot name. |
Snapshot Options
Snapshots can be configured with interesting behaviors with Option Sets including what files to include or exclude when creating a snapshot.
Options can be configured in the TSM Command Line by defining a new Option Set (define cloptset) and providing a list of options associated with the Option Set. For example, the INCLEXCL directive defines what files to include or exclude.
Documentation on defining a new Option Set: https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.9/srv.reference/r_cmd_cloptset_define.html
An example Option Set and its list of options.
tsm: CHGI_TSM01>query cloptset
Optionset Description Last Update by Managing profile Replica Option
(administrator) Set
------------------------- ------------------------- --------------- -------------------- ---------------
CRICK JOERG No
Option Sequence Use Option Option Value
number Set Value
(FORCE)
------------------------- -------- ---------- ------------------------------------------------------------
DOMAIN 0 No all-local -/gpfs
INCLEXCL 0 No Exclude /unix/
INCLEXCL 1 No Exclude /.../core
INCLEXCL 2 No Exclude.dir /unix/
INCLEXCL 3 No Include /gpfs/forever/.../* INDEFINITE
RESOURCEUTILIZATION 0 No 5
SCHEDMODE 0 No prompted
TXNBYTELIMIT 0 No 2G
See Also:
Automated Snapshots
In CHGI, these commands are wrapped up in a custom perl script and configured with a configuration file. This script is then invoked daily with a root-user cronjob:
5 23 * * * /usr/local/bin/admSnapshots.plx /usr/local/etc/admSnapshots.conf
Where the configuration file defines the fileset and number of snapshots to keep:
ebg_gmb 3
ebg_web 3
qlong 3
snyder_irida 3
Database Information
TSM requires DB2. In CHGI, the database files are stored in /tsmdb0, /tsmdb1, /tsmdb2, /tsmdb3, /tsmlog, each about 200GB in size. The database space can be listed in the TSM command line by running:
tsm: CHGI_TSM01>q db
Database Name Total Pages Usable Pages Used Pages Free Pages
-------------- ------------ ------------ ------------ ------------
TSMDB1 14,806,035 14,802,931 14,023,207 779,724
tsm: CHGI_TSM01> query dbspace
Location Total Space of Used Space on F Free Space(MB)
File System (MB ile System (MB)
)
------------------------------ --------------- --------------- ---------------
/tsmdb0 201,459.91 90,837.06 110,622.85
/tsmdb1 201,459.91 90,836.96 110,622.95
/tsmdb2 201,459.91 90,837.04 110,622.87
/tsmdb3 201,459.91 90,837.00 110,622.91
tsm: CHGI_TSM01>q log
Total Space(MB) Used Space(MB) Free Space(MB)
--------------- --------------- ---------------
131,072 1,119 129,953