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)
Current security issue, with Log4J. As workaround disable it
export LOG4J_FORMAT_MSG_NO_LOOKUPS=true
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
[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
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
[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
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
Now connect to the TDP for VE using a web browser:
https://<IP_tdpve>:9081/TsmVMwareUI
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"
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=......
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
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