TSM (Tivoli storage management) 提供了强大的存储备份功能,可以与 DB2 V9 版本进行无缝的集成,从而实现 DB2 数据库的备份。本文主要介绍如何安装、配置这两大产品,并以 WINDOWS 平台的集成为例,对其步骤作一个简要说明。
TSM(Tivoli storage management) 是一个全面、智能的存储管理解决方案,专门被设计用来满足您不断增长的企业存储需求,使全面的存储管理功能自动化。通过 Tivoli TSM 灵活的策略管理功能,您可以定制数据备份和存档,规定哪些数据需要备份或存档、存储在哪里以及保存多长时间。强大的 Tivoli TSM 调度特性消除了人工备份和跟踪的需求,促进了存储操作向非高峰时间的调度,从而优化了网络资源和性能。
TSM 提供了强大的存储备份功能。可以与 DB2 V9 版本进行无缝的集成,从而实现通过 TSM 备份 DB2 的数据库。本文主要介绍如何安装、配置这两大产品,并以 WINDOWS 平台的集成为例,对其步骤作一个简要说明。
Windows 2003 enterprise server edition
在此系统上安装的软件及其版本分别为:
TSM V5.5.0 for windows
安装 TSM 5.5 backup archive client for window
安装 TSM 5.5 license for windows
安装 TSM 5.5 server for windows: 这是可选的,TSM server 可以安装在其他的机器上
DB2 V9.1.3 for windows
安装好软件后,需要分别对 TSM server 进行配置。对 TSM server 进行配置
使用 TSM 对 DB2 进行备份,必须对 DB2 备份数据的保存策略以及保存位置进行定义。因此,需要在 TSM server 上,对以下几项进行配置和定义。
定义设备类 (device class)
需要根据备份数据库的大小和备份、还原频率来选择某一种类型的设备类来存储 DB2 的备份数据库。TSM server 使用 define devclass 来完成此功能。
这里使用 FILE 类型的设备类来模拟磁带存储 DB2 备份数据。具体的命令如下:
Define devclass filedevclass devtype=file directory=d:\tsmfiledata\db2backup |
如果运行成功,则返回如下结果:
ANR2203I Device class FILEDEVCLASS defined. |
该命令定义了一个新的设备类:filedevclass,它的目录指向 d:\tsmfiledata\db2backup。
定义存储池 (storage pool) 和存储卷 (volume)
存储池是一个逻辑概念,它表示了备份 / 归档数据的实际存储设备,每一个存储池都对应了一个特定的设备类。TSM server 使用 define stgpool 来完成此功能。
下面定义一个存储池用来表示 DB2 备份数据的实际存储位置。具体的命令如下:
Define stgpool db2filepool filedevclass maxscratch=100 |
如果运行成功,则返回如下结果:
ANR2200I Storage pool DB2FILEPOOL defined(device class FILEDEVCLASS) |
他定义了一个新的存储池 db2filepool,并关联了之前定义的设备类 filedevclass.
对于存储池,如果 maxscratch>0, 则表示可以使用 scratch 类型的存储卷,不需要特别定义。当然也可以使用自己定义的存储卷,使用的命令是 define volume。具体示例如下:
Define volume db2filepool d:\tsmfiledata\db2backup\volm1 format=100 |
如果运行成功,则返回如下结果:
ANR2491I Volume Creation Process starting for D:\TSMFILEDATA\DB2BACKUP\VOLM1 |
上述命令在 db2filepool 中定义了一个大小为 100M 的存储卷 , 位置是:D:\tsmfiledata\db2backup\volm1。
定义节点
为了让 DB2 通过 TSM client API 备份数据,必须在 TSM server 上为其注册一个节点,设置它的节点名及密码。相关的命令为 register node。具体示例如下:
register node db2 password
在这里,db2 为新注册的节点,默认注册到 STANDARD 的策略域上。
定义策略
在 TSM server 中,需要为 DB2 使用的节点定义其存储策略。
定义策略域 (policy domain):
TSM server 使用 define domain 命令来定义策略域,具体示例如下:
Define domain db2domain description=”policy domain for db2 backup” |
如果运行成功,则返回如下结果:
ANR1500I Policy domain DB2DOMAIN defined |
该命令定义了一个名为 db2domain 的策略域。
定义策略集 (policy set):
TSM server 使用 define policyset 命令来定义策略域,具体示例如下:
Define policyset db2domain db2policyset description=”policy set for db2” |
如果运行成功,则返回如下结果:
ANR1510I Policy set DB2POLICYSET defined in policy domain DB2DOMAIN |
该命令定义了一个名为 db2policyset 的策略集,它是属于 db2domain 这个策略域中的。
定义管理类 (management class):
TSM server 使用 define mgmtclass 命令来定义策略域,具体示例如下:
Define mgmtclass db2domain db2policyset db2mgmtclass description=”management class for db2” |
如果运行成功,则返回如下结果:
ANR1510I Management class DB2MGMTCLASS defined in policy domain DB2DOMAIN, set DB2POLICYSET. |
上述命令定义了管理类 db2mgmtclass, 它属于策略集 db2policyset, 策略域 db2domain。
把定义的管理类作为该策略集中的默认管理类。
TSM server 使用 assign defmgmtclass 命令把设置某个策略集中的默认管理类。具体示例如下:
Assign defmgmtclass db2domain db2policyset db2mgmtclass |
如果运行成功,则返回如下结果:
ANR1538I Default management class set to DB2MGMTCLASS for policy domain DB2DOMAIN, set DB2POLICYSET. |
该命令把之前定义的管理类 db2mgmtclass 设置成策略集 db2policyset 的默认管理类。
定义拷贝组 (copy group)
分别为备份数据和归档数据定义 copy group
定义拷贝组的命令是 define copygroup,根据参数 type 的设置,可以分别定义 backup copy group 和 archive copy group。具体的命令如下:
定义备份拷贝组:
Define copygroup db2domain db2policyset db2mgmtclass dest=db2filepool |
如果运行成功,则返回如下结果:
ANR1530I Backup copy group STANDARD defined in policy domain DB2DOMAIN, set DB2POLICYSET, management class DB2MGMTCLASS. |
定义归档拷贝组:
Define copygroup db2domain db2policyset db2mgmtclass type=archive dest=db2archivepool |
如果运行成功,则返回如下结果:
ANR1535I Archive copy group STANDARD defined in policyset domain DB2DOMAIN,set DB2POILCYSET, management class DB2MGMTCLASS. |
这两个命令在 db2mgmtclass 中分别定义了 backup copy group 和 archive copy group, 并指明 backup 和 archive 的数据分别存储在 db2filepool 和 db2archivepool 两个存储池中。其中 db2archivepool 存储池的定义与 db2filepool 的定义是类似的,这里就不再介绍。
验证并激活策略集
TSM server 使用 validate policyset 以及 active policyset 命令来验证并激活策略集。只有激活以后的策略集,才会在后面的备份中使用到。具体的命令示例如下:
验证策略集:
Validate policyset db2domain db2policyset |
如果运行成功,则返回如下结果:
ANR1515I Policy set DB2POLICYSET validated in domain DB2DOMAIN(ready for activation) |
激活策略集:
Activate policyset db2domain db2policyset |
该命令会询问客户是否确认执行,确认后,如果运行成功,则返回如下结果:
ANR1514I Policy set DB2POLICYSET activated in policy domain DB2DOMAIN
上述俩命令验证并激活了策略域 db2domain 中的策略集 db2policyset.
更新 TSM 节点信息
需要更新节点信息,把 TSM 节点指定到为其定义的策略域中。TSM server 使用 update node 来实现该功能。具体命令如下:
Update node db2 domain=db2domain archdelete=yes backdelete=yes |
如果运行成功,则返回如下结果:
ANR2063I Node DB2 updated. |
该命令把节点 db2 关联到了策略域 db2domain 上,并修改了节点参数 archdelete 和 backdelete 的设置。
到这里,TSM server 端的配置就完成了。关于这些 tsm server 命令的详细介绍,可参考《IBM Tivoli Storage Manager for AIX Administrator's Reference》。
DSMI_CONFIG
这个环境变量设置了 TSM client API option file 的位置。如果安装了 TSM backup-archive 客户端,则它在 WINDOWS 平台下的默认值为‘C:\Program Files\Tivoli\TSM\baclient\dsm.opt’。如果把它安装到了其他位置,则将该环境变量设置成相应的值。如果该目录下没有 dsm.opt 文件,可以自己生成一个。关于如何配置该文件可参考《IBM Tivoli Storage Manager for Windows Backup-Archive Clients Installation and User's Guide》。
DSMI_DIR
这个环境变量设置了 TSM client API 的安装路径。在 WINDOWS 平台下,默认的安装路径为:‘C:\Program Files\Common Files\Tivoli\TSM\api’。
需要注意的是,TSM V5.5 之前的默认位置是‘C:\Program Files\Tivoli\TSM\api’。新版本发生了一些变化。
DSMI_LOG
该环境变量设置了 TSM client API 的错误日志 dsierror.log 所在的目录位置。如果安装了 TSM backup-archive 客户端,则它在 WINDOWS 平台下的默认值为:‘C:\Program Files\Tivoli\TSM\baclient’。如果没有,生成一个即可。
图 1. dsm.opt 的文件示例C:\Program Files\Tivoli\TSM\baclient
运行 dsmapipw.exe 的时候,将会要求输入当前的节点密码,新密码,并且对新密码进行确认,如图 2 所示。
除了可以通过密码来进行安全保护外,TSM V5.5 版本还提供了一种叫做 Secure Socket Layer(SSL) 的数据保护机制。通过配置使用 SSL, 可以在 client 和 server 之间提供一条安全的通信通道,提高用户备份数据的安全性。具体的 SSL 配置说明,可参考《IBM Tivoli Storage Manager for Windows Administrator's Guide》。
TSM_MGMTCLASS
这个参数值表示的是该数据库将会绑定到哪一个管理类中。如果该参数设置了,那它的优先级将高于默认的管理类和 include-exclude list 中的设置。相应的 DB2 命令为 update db cfg。具体的命令示例如下:
Update db cfg for sample using tsm_mgmtclass db2mgmtclass |
如果运行成功,则返回如下结果:
DB20000I The UPDATE DATABASE CONFIGURATION command completed succesfully |
该命令把 sample 数据库的配置参数 TSM_MGMTCLASS 的值设置成了之前定义的管理类 db2mgmtclass。
当然,该功能也可以通过 DB2 GUI 来实现。
TSM_NODENAME
该参数值表示了 DB2 数据库备份时使用的节点名。
如果在 dsm.opt 中设定 PasswordAccess=generate,则该参数需要设为空值
如果在 dsm.opt 中设定 PasswordAccess=prompt,则该参数需要设置为前面定义的节点名
TSM_PASSWORD
该参数值表示了 DB2 数据库备份时使用的节点的密码。
如果在 dsm.opt 中设定 PasswordAccess=generate,则该参数需要设为空值
如果在 dsm.opt 中设定 PasswordAccess=prompt,则该参数需要设置为前面定义的节点密码
TSM_OWNER
该参数表示了备份对象的 owner. 这个参数是针对 UNIX 操作系统的,对于 WINDOW 平台,不需要设置。在 UNIX 平台下,
如果在 dsm.opt 中设定 PasswordAccess=generate,则该参数需要设为空值
如果在 dsm.opt 中设定 PasswordAccess=prompt,则该参数需要设置
到这里为止,所有的配置都已经完成。现在就可以使用 TSM 来备份 DB2 了。进行数据库备份操作
DB2 的备份操作可以通过 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 来实现。下面,就以 Command line interface 为例进行说明。在 DB2 中的相关命令为 backup db。具体的命令示例如下:
Backup db sample use tsm. |
如果运行成功,则返回如下结果:
Backup successful. The timestamp for the backup image is: 20071127163936 |
该命令用 TSM 对数据库 sample 进行了一次全备份。这次备份的时间戳为 20071127163936。
在 TSM server 上,可以使用命令 query volume 以及 query content 对备份数据所在的存储卷进行查询,从而可以得到存储的内容。具体示例如下:
Query volume volm1 |
该命令可以获得存储池 db2filepool 中存储卷 volm1 的信息。
Query content volm1 |
该命令可以获得存储卷 volm1 中的所有备份文件的信息。
这些命令的运行结果如图 3 所示:
从中可以看到,sample 数据库作为一个文件保存在 TSM 的存储卷中。
Restore db sample use tsm taken at 20071127163936 |
在这里,sample 数据库使用时间戳为 20071127163936 的数据库备份来进行数据库还原。该命令的运行结果如下图 4 所示:
Backup database sample tablespace(userspace2) online use tsm |
如果运行成功,返回如下结果:
Backup successful. The timestamp for this backup image is: 20080514003631 |
在这里,TSM 对 sample 数据库中的表空间 userspace2 做了一次全备份,时间戳为 20080514003631。
restore database sample tablespace(userspace2) online use tsm taken at 20080514003631. |
如果运行成功,返回如下结果:
DB20000I The RESTORE DATABASE command completed successfully. |
在这里,sample 数据库的表空间 userspace2 使用时间戳为 20080514003631 的备份来进行表空间还原。
TSM 软件把备份的数据保存在各种类型的存储卷中。对于 V5.5 之前的版本,TSM 只允许对 FILE 类型的存储卷进行互斥的访问,而 V5.5 增加了对于 FILE 类型存储卷的并发读写操作。也就是说,在同一时刻,可以允许以下行为的并发:
1.多个 client 对同一个 FILE 类型的存储卷进行并发的读操作。
2.一个 client 对 FILE 类型的存储卷进行写操作,而其他的用户可以同时对该卷进行读操作。
因此,在使用 TSM V5.5 来备份 DB2 数据库 / 表空间的时候,如果采用的是 FILE 类型的存储卷保存备份数据(如本文中的示例),则可以进行以下的并发行为:
1.多个 client 同时对保存在同一个存储卷中的备份数据库 / 表空间进行还原操作。
2.一个 client 在备份 DB2 数据的同时,可以允许其他 client 对该存储卷中的其他备份数据进行还原操作。
TSM V5.5 的这项新功能通过对 FILE 类型存储卷的并发支持,可以比较好的提高客户在还原数据库时的性能。
本文适用于 DB2、TSM 管理员以及任何想了解使用 TSM 来存储保护 DB2 数据库的读者。
评论专区