User Tools

Site Tools


tsm:tsm_tdpvmware_lnx

TSM Data Protection for Virtual Environment v7 on Linux

For info:
If you only want to backup VM using command line, and not schedule, VMCLI config is not needed. VMCLI node is used by TDP for VE GUI

Install Centos 6.4 x64 minimal Desktop OS (base OS installation)

Disable Log4J

Current security issue, with Log4J. As workaround disable it

export LOG4J_FORMAT_MSG_NO_LOOKUPS=true

Disable SElinux

Required, else nothing will work

> cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disable
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
#SELINUXTYPE=targeted 

Disable firewall

[root@luittdpve ~]# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
[root@luittdpve ~]# echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
[root@luittdpve ~]# /etc/rc.d/init.d/iptables stop 
[root@luittdpve ~]# /etc/rc.d/init.d/ip6tables stop 

[root@luittdpve ~]# chkconfig iptables off
[root@luittdpve ~]# chkconfig ip6tables off

Disable IPV6

Optional

[root@luittdpve ~]# vi /etc/modprobe.d/disable-ipv6.conf
install ipv6 /bin/true
[root@luittdpve ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=luittdpve
GATEWAY=192.168.0.1
[root@luittdpve ~]# echo “net.ipv6.conf.all.disable_ipv6 = 1″ >> /etc/sysctl.conf
Reboot

Install TSM BA client

[root@luittdpve bacli]# rpm -Uhv gskcrypt64-8.0.14.28.linux.x86_64.rpm gskssl64-8.0.14.28.linux.x86_64.rpm
[root@luittdpve bacli]# rpm -Uhv TIVsm-API64.x86_64.rpm TIVsm-BA.x86_64.rpm

It also recommended to install CIT package, to collect host information: CPU, OS, PVU…

[root@luittdpve bacli]# yum install libgcc.i686
[root@luittdpve bacli]# yum install libstdc++.i686
[root@luittdpve bacli]# yum install compat-libstdc++-33.x86_64
[root@luittdpve bacli]# yum install compat-libstdc++-33.i686
[root@luittdpve bacli]# rpm -Uhv TIVsm-APIcit.x86_64.rpm TIVsm-BAcit.x86_64.rpm

Install TSM TDP for Virtual Environment v7

I have installed VNC server to te able to connect using graphical environment.

Prerequisite:

[root@luittdpve ~]# yum install tigervnc-server.x86_64
[root@luittdpve ~]# yum install glibc.i686
[root@luittdpve ~]# yum install fuse-libs.x86_64 fuse.x86_64

Start a graphical interface (vncserver :1).

Install TDP for VE:

[root@luittdpve ~]# cd /soft/CD/Linux/DataProtectionForVMware
[root@luittdpve DataProtectionForVMware]# ./install-Linux.bin -DLICENSE_ACCEPTED=TRUE

Just follow the steps

Check all installed components (only for information):

[root@luittdpve bin]# /usr/ibm/common/acsi/bin/de_lsrootiu.sh  
                                                                                                               
<?xml version="1.0" encoding="UTF-8" ?>
<output:ListOutput schemaVersion="1.3" implVersion="1.4.0.22" xmlns:output="http://www.ibm.com/namespaces/autonomic/solutioninstall/deListOutput" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/namespaces/autonomic/solutioninstall/deListOutput deListOutput.xsd">
  <iuInstances>
    <iuInstance undoable="false" softwareLifeCycleStatus="Usable">
      <instanceID>InstanceID[IU,FBJRE,mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System,6.0.0.6,/opt/tivoli/tsm/tdpvmware,13479DD2941344CCABF4E4FFF58987E8]</instanceID>
      <UUID>13479DD2941344CCABF4E4FFF58987E8</UUID>
      <identityName>FBJRE</identityName>
      <version>6.0.0.6</version>
      <hostingEnv>mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System</hostingEnv>
      <discriminant>/opt/tivoli/tsm/tdpvmware</discriminant>
    </iuInstance>
    <iuInstance undoable="false" softwareLifeCycleStatus="Usable">
      <instanceID>InstanceID[IU,TDPVMwareGUI,mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System,7.1.0.657,/opt/tivoli/tsm/tdpvmware,2DB5517644B94A88A5A11EB351411577]</instanceID>
      <UUID>2DB5517644B94A88A5A11EB351411577</UUID>
      <identityName>TDPVMwareGUI</identityName>
      <version>7.1.0.657</version>
      <hostingEnv>mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System</hostingEnv>
      <discriminant>/opt/tivoli/tsm/tdpvmware</discriminant>
    </iuInstance>
    <iuInstance undoable="false" softwareLifeCycleStatus="Usable">
      <instanceID>InstanceID[IU,TDPVMwareMount,mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System,7.1.0.657,/opt/tivoli/tsm/tdpvmware,9C0C30FE3F524FAF94505495ACA760F4]</instanceID>
      <UUID>9C0C30FE3F524FAF94505495ACA760F4</UUID>
      <identityName>TDPVMwareMount</identityName>
      <version>7.1.0.657</version>
      <hostingEnv>mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System</hostingEnv>
      <discriminant>/opt/tivoli/tsm/tdpvmware</discriminant>
    </iuInstance>
    <iuInstance undoable="false" softwareLifeCycleStatus="Usable">
      <instanceID>InstanceID[IU,JavaHelp,mrid:http://w3.ibm.com/namespaces/2003/OS_componentTypes:Operating_System,1.0.0.0,/opt/tivoli/tsm/tdpvmware,BE23B87E95544C9FB2CD5A220FB8BCE3]</instanceID>
If you are on a VM install VMware Tools

Configure TDP for VE

Now connect to the TDP for VE using a web browser:

https://<IP_tdpve>:9081/TsmVMwareUI

Configure backup client for DataMover

Create a dsm.opt file (trace can be uncommented in case of trouble)

[root@luittdpve ~]# cd /opt/tivoli/tsm/client/ba/bin
[root@luittdpve bin]# cat dsm.opt
SERVERNAME TSMPRD_DM
*traceflag vm enter exit options
*tracefile vmbackup.trc

Create a dsm.sys file

[root@luittdpve ~]# cd /opt/tivoli/tsm/client/ba/bin
[root@luittdpve bin]# cat dsm.sys
SERVERNAME TSMPRD_DM
 PASSWORDACCESS GENERATE
 TCPSERVERADDRESS 10.5.5.3
 TCPPORT 1500
 COMMMETHOD TCPIP
 NODENAME VMPRD_LUXEMBOURG_DM

ERRORLOGNAME "/opt/tivoli/tsm/client/ba/bin/dsmerror.log"
ERRORLOGRETENTION 30 D
SCHEDLOGNAME "/opt/tivoli/tsm/client/ba/bin/dsmsched.log"
SCHEDLOGRETENTION 7 D

MANAGEDSERVICES WEBCLIENT SCHEDULE
SCHEDMODE PROMPTED

*DOMAIN.VMFULL "ALL-WINDOWS;"
VMCUSER root               * On a Vcenter appliance under Linux
VMCHOST vc
REVOKEREMOTEACCESS NONE
INCLUDE.VMTSMVSS compta  * VM compta will be snapshoted using Windows VSS, for example if you use MSSQL
INCLUDE.VMTSMVSS postgres  * VM postgres will use LVMsnapshot on linux  

QUERYSCHEDPERIOD 1
RETRYPERIOD 1
MAXCMDRETRIES 5

*VMMC "STANDARD"
*VMCTLMC "STANDARD"

VMPROCESSVMWITHPRDM yes
VMPROCESSVMWITHINDEPENDENT yes
VMENABLETEMPLATEBACKUPS yes
VMMAXPARALLEL 30
VMLIMITPERHOST 5
VMVSTORTRANSPORT "HOTADD:NBDSSL:NBD"
VMLIMITPERDATASTORE 5
[root@luittdpve ~]# cd /opt/tivoli/tsm/client/ba/bin
[root@luittdpve bin]# dsmc
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
  Client Version 7, Release 1, Level 0.0  
  Client date/time: 11/07/2013 10:53:28
(c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights Reserved.

Node Name: VMPRD_LUXEMBOURG_DM
Please enter your user id <VMPRD_LUXEMBOURG_DM>: 

Please enter password for user id "VMPRD_LUXEMBOURG_DM": 

Session established with server TSMSRV: AIX
  Server Version 6, Release 3, Level 4.200
  Server date/time: 11/07/2013 10:53:35  Last access: 11/07/2013 10:32:16

tsm> quit
[root@luittdpve bin]# dsmc -asnode=VMPRD_LUXEMBOURG
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
  Client Version 7, Release 1, Level 0.0  
  Client date/time: 11/07/2013 10:53:58
(c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights Reserved.

Node Name: VMPRD_LUXEMBOURG_DM
Session established with server TSMSRV: AIX
  Server Version 6, Release 3, Level 4.200
  Server date/time: 11/07/2013 10:54:05  Last access: 11/07/2013 10:53:44

Accessing as node: VMPRD_LUXEMBOURG
tsm> 
[root@luittdpve bin]# cat dsmwebcl.log
11/07/2013 10:55:25 (dsmcad) IBM Tivoli Storage Manager 
11/07/2013 10:55:25 (dsmcad) Client Acceptor - Built Oct  7 2013 13:55:17 
11/07/2013 10:55:25 (dsmcad) Version 7, Release 1, Level 0.0   
11/07/2013 10:55:25 (dsmcad) ANS3000I TCP/IP communications available on port 55111.
11/07/2013 10:55:25 (dsmcad) Dsmcad is working in   Webclient   Schedule   mode.
11/07/2013 10:55:25 (dsmcad) ANS3000I HTTP communications available on port 1581.
11/07/2013 10:55:25 (dsmcad) Command will be executed in 1 minute.
11/07/2013 10:55:49 (dsmagent) IBM Tivoli Storage Manager 
11/07/2013 10:55:49 (dsmagent) Remote Client Agent - Built Oct  7 2013 13:54:42 
11/07/2013 10:55:49 (dsmagent) Version 7, Release 1, Level 0.0   
11/07/2013 10:55:49 (dsmagent) ANS3002I Session started for user VMPRD_VMCLI (TCP/IP 10.10.3.87).
11/07/2013 10:55:49 (dsmagent) ANS8809E The LD_LIBRARY_PATH is either not set or is set incorrectly. Ensure that the LD_LIBRARY_PATH environment variable contains the installation directory /opt/tivoli/tsm/client/ba/bin.

[root@luittdpve bin]# cat dsmerror.log
11/07/2013 10:55:49 ANS9331W VMware vCenter or ESX Server userid and password for VMC Host <vc> VMC Userid <> could not be read from encrypted pwd file.
11/07/2013 10:55:49 ANS8809E The LD_LIBRARY_PATH is either not set or is set incorrectly. Ensure that the LD_LIBRARY_PATH environment variable contains the installation directory /opt/tivoli/tsm/client/ba/bin.
11/07/2013 10:55:49 ANS4152E Failure initializing VMware virtual machine environment. RC=4387. Refer to IBM Tivoli Storage Manager error log for detailed error messages.
[root@luittdpve bin]# dsmc SET PASSWORD -type=VM vc root xxxxx
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
  Client Version 7, Release 1, Level 0.0  
  Client date/time: 11/07/2013 10:59:27
(c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights Reserved.

ANS0302I Successfully done.

If you plan to use snapshot VSS (on Windows), using INCLUDE.VMTSMVSS or LVMsnapshot (on Linux) then you have to set also a password for VMGUEST for each VM using the following command:

[root@luittdpve bin]# dsmc SET PASSWORD -type=VMGUEST vc root xxxxx
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
  Client Version 7, Release 1, Level 0.0  
  Client date/time: 11/07/2013 10:59:27
(c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights Reserved.

ANS0302I Successfully done.
[root@luittdpve bin]# dsmc SET PASSWORD -type=VMGUEST sqlserver 'mydomain\administrator' xxxxx

It will be stored into /etc/adsm/TSM.PWD

Add into the startup script: /etc/init.d/dsmcad the line LD_LIBRARY_PATH=/opt/tivoli/tsm/client/ba/bin

#!/bin/sh
#
# (C) Copyright IBM Corporation 2011
#
# chkconfig: 35 95 5
# description: TSM Client Acceptor Daemon
#
### BEGIN INIT INFO
# Provides: dsmcad
# Required-Start: $local_fs $remote_fs $network
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: TSM Client Acceptor Daemon
# Description: Start dsmcad to enable scheduler and Web GUI.
### END INIT INFO

DSMCAD_DIR=/opt/tivoli/tsm/client/ba/bin

export JAVA_HOME=/opt/tivoli/tsm/tdpvmware/common/jre/jre
export LD_LIBRARY_PATH=$DSMCAD_DIR:$JAVA_HOME/lib/amd64/classic
export PATH=$JAVA_HOME/bin:$PATH
DSMCAD_BIN=$DSMCAD_DIR/dsmcad
......

To start automatically after reboot:

chkconfig dsmcad on

If you want to test a backup or restore VM from the datamover server, use the option asnode <box 80% round orange|TSM client command line>dsmc -asnode=VMPRD_LUXEMBOURG</box> <box 80% round orange|TSM client graphical>dsmj -asnode=VMPRD_LUXEMBOURG</box>

Test the backup in preview mode:

[root@luittdpve ~]# export LD_LIBRARY_PATH=/opt/tivoli/tsm/client/ba/bin:/opt/tivoli/tsm/tdpvmware/common/jre/jre/bin/classic 
[root@luittdpve ~]# dsmc -asnode=VMPRD_LUXEMBOURG 
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
  Client Version 7, Release 1, Level 0.0  
  Client date/time: 11/15/2013 16:41:31
(c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights Reserved.

Node Name: VMPRD_LUXEMBOURG_DM
Session established with server ARWEN: AIX
  Server Version 6, Release 3, Level 4.200
  Server date/time: 11/15/2013 16:41:24  Last access: 11/15/2013 16:40:45

Accessing as node: VMPRD_LUXEMBOURG
tsm> ba vm -preview *
Full BACKUP VM of virtual machines '*'.


  1. vmName: LUITTDPVE
       DomainKeyword:  vm=*
       toolsRunningStatus: guestToolsRunning    toolsVersionStatus: guestToolsCurrent
       consolidationNeeded: No

       VMDK[1]Label:   'Hard disk 1' (Hard Disk 1)
       VMDK[1]Name:    '[LUITPRD_Drive_11] LUITTDPVE/LUITTDPVE.vmdk'
       VMDK[1]Status:  Included
  2. vmName: IIT-APPLIANCE3
       DomainKeyword:  vm=*
       toolsRunningStatus: guestToolsRunning    toolsVersionStatus: guestToolsCurrent
       consolidationNeeded: No

       VMDK[1]Label:   'Hard disk 1' (Hard Disk 1)
       VMDK[1]Name:    '[LUITPRD_Drive_9] IIT-APPLIANCE3/IIT-APPLIANCE3.vmdk'
       VMDK[1]Status:  Included

Here is the syntax to using bash command

[root@luittdpve ~]# dsmc ba vm '*' -preview -asnodename=VMPRD_LUXEMBOURG

To list ALL VM on the Vcenter use:

[root@luittdpve ~]# export LD_LIBRARY_PATH=/opt/tivoli/tsm/client/ba/bin:/opt/tivoli/tsm/tdpvmware/common/jre/jre/bin/classic
[root@luittdpve ~]# dsmc show vm all -optfile="/opt/tivoli/tsm/client/ba/bin/dsm.opt"

For information, here are the TSM clients registered, and grant for a TDP for VE environment:

REGISTER NODE VMPRD_VMCLI ?***? domain=PRDLUX backdel=yes auth=local sslreq=no
REGISTER NODE VMPRD_VCVC ?***? domain=PRDLUX backdel=yes url=https://xx.xx.xx.xx:9081/TsmVMwareUI
REGISTER NODE VMPRD_LUXEMBOURG ?***? domain=PRDLUX backdel=yes maxnummp=20
REGISTER NODE VMPRD_LUXEMBOURG_DM ?***? domain=PRDLUX backdel=yes

GRANT PROXYNODE target=VMPRD_VCVC agent=VMPRD_VMCLI
GRANT PROXYNODE target=VMPRD_LUXEMBOURG agent=VMPRD_VMCLI,VMPRD_LUXEMBOURG_DM 
GRANT PROXYNODE target=VMPRD_VCVC agent=VMPRD_LUXEMBOURG

The best way to schedule VM backup, is using the Web interface, but it's also possible in TSM command line:
Sample of schedule:

tsm: TSMPRD>q sched PRD TEST_VM2 f=d
Session established with server TSMPRD: AIX
  Server Version 6, Release 3, Level 4.200
  Server date/time: 11/08/13   16:25:13  Last access: 11/08/13   16:24:49


            Policy Domain Name: PRD
                 Schedule Name: TEST_VM2
                   Description: 
                        Action: Backup
                     Subaction: VM
                       Options: -vmfulltype=vstor -vmbackuptype=fullvm -asnodename=VMPRD_LUXEMBOURG -domain.vmfull="VM=HMCv7" -MODE=IFIncremental
                       Objects: 
                      Priority: 5
               Start Date/Time: 11/08/13   15:30:00
                      Duration: 1 Hour(s)
                Schedule Style: Enhanced
                        Period: 
                   Day of Week: Fri
                         Month: Any
                  Day of Month: Any
                 Week of Month: Any

To define a TSM scheduler for the node VMPRD_LUXEMBOURG_DM, take care to the syntax:

TSM> def sched PRD TEST_VM2 act=b subact=VM options='"-vmfulltype=vstor -vmbackuptype=fullvm -asnodename=VMPRD_LUXEMBOURG -domain.vmfull="VM=HMCv7" -MODE=IFIncremental"' startt=......

File level restore

Not yet complete ………….. To use TDP mount, iscsi is required, install the following packages:

[root@luittdpve bin]# yum install iscsi-initiator-utils.x86_64
[root@luittdpve bin]# yum install lsscsi.x86_64

https://www-304.ibm.com/support/docview.wss?uid=swg21473127

Problem Determination

Do not setup DSMI_DIR for a TDP VE client

Why does the vmcli overwrite the existing dsm.sys configuration file? Cause

TSMCLI module writes its own dsm.sys file on every instantiation.

TSMCLI will use DSMI_DIR, if set. Otherwise TSMCLI will use: /opt/tivoli/tsm/tdpvmware/tsmcli/bin64/dsm.sys

VMCLI default location

Default location of vmcli command :

  Windows :
  C:\Program Files (x86)\Common Files\Tivoli\TDPVMware\VMwarePlugin\scripts\vmcli.cmd
  Linux :
  /opt/tivoli/tsm/tdpvmware/common/scripts/vmcli

Default location of vmcliprofile :

  Windows :
  C:\Program Files (x86)\Common Files\Tivoli\TDPVMware\VMwarePlugin\scripts\vmcliprofile
  Linux :
  /opt/tivoli/tsm/tdpvmware/common/scripts/vmcliprofile
  /home/tdpvmware/tdpvmware/config/profile

VMCLI command line to test connection to Vcenter

As tdpvmware user:

[tdpvmware@luittdpve ~]$ /opt/tivoli/tsm/tdpvmware/common/scripts/vmcli -f inquire
#TASK 27 backup 20131107110714806
#PARAM TASK_NAME=test_vm
#PARAM BACKUP_TYPE=TSM_IFINCR
#PARAM DATACENTER_NODE_NAME=VMPRD_LUXEMBOURG
#PARAM OFFLOAD_HOST_NAME=VMPRD_LUXEMBOURG_DM
....

Backup the DB Apache Derby using on TDP VE plugin

DB location: /home/tdpvmware/tdpvmware/VMCLIDB/
Journal backup DB: /home/tdpvmware/tdpvmware/VMCLIDB/BACKUP.HISTORY
DB backup location: /opt/tivoli/tsm/tdpvmware/common/derby_backups/

You can change the number of version of DB backup, the time of the backup, activate a trace to debug…

[tdpvmware@luittdpve config]$ cat /home/tdpvmware/tdpvmware/config/profile 
>>> VMWARE
VCENTER_SERVER  10.5.5.2
VCENTER_SERVER_USER     root
<<<

>>> VMCLI
VE_TSM_SERVER_NAME       10.5.5.3
VE_TSM_SERVER_PORT      1500
VE_TSMCLI_NODE_NAME      VMPRD_VMCLI
VE_VCENTER_NODE_NAME     VMPRD_VCVC
VMCLI_TRACE                        NO
#VE_TSM_SERVER_NAME                tsmservername                 # -s
#VE_TSM_SERVER_PORT                1500                          # -p    
#VE_TSMCLI_NODE_NAME               tsmclinodename                # -n
#VE_VCENTER_NODE_NAME              vcenternodename               # -v
VE_TRACE_FILE                     tsmcli.trace                  # -x tsmcli trace file
VE_TRACE_FLAGS                    api api_detail                # -y trace flags
#VE_DATACENTER_NAME                datacentername::datacenternodename
VMCLI_TASK_EXPIRATION_TIME         864000                        # in seconds, defaults to 864000s = 10 days
VMCLI_RESTORE_TASK_EXPIRATION_TIME 2592000                       # in seconds, defaults to 2592000s = 30 days
VMCLI_GRACE_PERIOD                 2592000                       # in seconds, defaults to 2592000s = 30 days
VMCLI_SCHEDULER_INTERVAL           60                            # in seconds, defaults to 1s
VMCLI_DB_HOST                      localhost
VMCLI_DB_PORT   1527
VMCLI_CACHE_EXPIRATION_TIME        600                           # in seconds, defaults to 600s = 10 min
VMCLI_DB_NAME                      VMCLIDB
VMCLI_RECON_INTERVAL_FCM           600                           # backend specific recon interval setting in seconds default 600s = 10 min
VMCLI_RECON_INTERVAL_TSM           1200                          # backend specific recon interval setting in seconds default 1200s = 20 min
VMCLI_DB_BACKUP                    AT 00:00
VMCLI_DB_BACKUP_VERSIONS           3
VMCLI_LOG_DIR                      logs
DERBY_HOME      /home/tdpvmware/tdpvmware
VE_DATACENTER_NAME       Luxembourg::VMPRD_LUXEMBOURG
<<<

If you change a parameter, don't forget to restart the service:

/etc/rc.d/init.d/vmcli restart
tsm/tsm_tdpvmware_lnx.txt · Last modified: 2022/07/28 15:19 by manu