#!/bin/bash #TSM6.3.3 Auto-installation #version: 1020523_Beta #Edited by James #Predefine variable user="tsminst1" group="tsmsrvrs" pw="123456" hostn=`hostname` netip=`ifconfig bond0 | grep "inet addr" | awk '{ print $2 }' | awk 'BEGIN { FS=":" } { print $2 }'` db="/tsmdb" tsmlog="/tsmlog" actlog="/tsmlog/act" archlog="/tsmlog/arch" cdrom="rhel6.4.iso" srv="6.3.3.100-TIV-TSMALL-Linuxx86_64.bin" ba="6.4.0.1-TIV-TSMBAC-LinuxX86.tar" license="TIVsm-license-6.3.0-0.x86_64.rpm" ac="6.3.3.000-TIV-TSMAC-Linuxx86.bin" installlog="tsm_install.log" #Give execute privelege chmod -R +x ./* #Install necessary packages by yum mount -o loop ./iso/$cdrom /mnt cp -p ./option/media.repo /etc/yum.repos.d/media.repo yum -y groupinstall "Desktop" yum -y groupinstall "Desktop Debugging and Performance Tools" yum -y groupinstall "Desktop Platform Development" yum -y groupinstall "X Window System" yum -y groupinstall "Server Platform Development" yum -y groupinstall "Development Tools" yum -y groupinstall "Eclipse" yum -y install libstdc++.so.5 yum -y install libstdc++.so.6 yum -y install compat-libstdc++-33-3.2.3-69.el6 yum -y install compat-glibc* yum -y install openmotif22* yum -y install openmotif*.i686 yum -y install libaio yum -y install ksh yum -y install rsh yum -y install lsscsi #Disable SELinux cp -p /etc/sysconfig/selinux /etc/sysconfig/selinux.bak sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux echo "=====Disable SELinux=====" >> $installlog ; cat /etc/sysconfig/selinux | grep SELINUX=disabled >> $installlog echo "" >> $installlog #Disable NetworkManager chkconfig NetworkManager off echo "=====Disable NetworkManager=====" >> $installlog ; chkconfig --list | grep NetworkManager >> $installlog echo "" >> $installlog #Modify sysctl.conf #sed -i '$a #TSM' /etc/sysctl.conf #sed -i '$a kernel.shmmax = 268435456' /etc/sysctl.conf #echo "=====Modify sysctl.conf=====" >> $installlog ; tail -n 2 /etc/sysctl.conf >> $installlog #echo "" >> $installlog #Modify /etc/hosts sed -i '1i\$netip $hostn' /etc/hosts echo "=====Modify /etc/hosts=====" >> $installlog ; cat /etc/hosts >> $installlog echo "" >> $installlog #Disable iptables chkconfig iptables off chkconfig ip6tables off echo "=====Disable iptables=====" >> $installlog ; chkconfig --list | grep ip | grep table >> $installlog echo "" >> $installlog #Add TSM Instance User groupadd "$group" useradd -d /home/$user -m -g $group -s /bin/bash $user echo $pw | passwd --stdin $user echo "=====Add TSM Instance User=====" >> $installlog ; cat /etc/passwd | grep $user >> $installlog ; cat /etc/group | grep $group >> $installlog echo "" >> $installlog #Make directory mkdir $tsmlog mkdir $db mkdir $actlog mkdir $archlog chown -R $user:$group $db $tsmlog sync echo "=====Make directory=====" >> $installlog ls -al / | grep $user >> $installlog echo "" >> $installlog #Install TSM Server #Version 6, Release 3, Level 3.100 chmod +x ./srv/* cd srv ./$srv ./prereqcheck.bin -i console echo -n "Continue to install TSM Server?" read -p "[Y/N]:" yn if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then ./install.bin -i console else exit fi cd .. read -p "PRESS <ANY KEY> TO NEXT STEP: " #Setting db2 instance #Create a Tivoli Storage Manager instance by issuing the db2icrt command. echo "Setting db2icrt..." echo "Completed db2icrt setting." echo "=====Setting db2icrt=====" >> $installlog /opt/tivoli/tsm/db2/instance/db2icrt -a server -s ese -u $user $user >> $installlog echo "" >> $installlog sed -i '$a export LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64:$LD_LIBRARY_PATH' /home/$user/.bash_profile #Configuring server option file. echo "Setting dsmserv.opt..." cp ./option/dsmserv.opt /home/$user/dsmserv.opt sed -i 's/instance/'"$user"'/g' /home/$user/dsmserv.opt sed -i 's/\/log1/\'"$actlog"'/g' /home/$user/dsmserv.opt sed -i 's/\/log2/\'"$archlog"'/g' /home/$user/dsmserv.opt chown $user:$group /home/$user/dsmserv.opt echo "=====dsmserv.opt=====" >> $installlog cat /home/$user/dsmserv.opt >> $installlog echo "" >> $installlog #Setting the server code page #Set the DB2CODEPAGE system environment variable to 819 for each server instance. su -c "/opt/tivoli/tsm/db2/adm/db2set -i $user DB2CODEPAGE=819" $user #Formatting the database and log echo "=====db2profile=====" >> $installlog . /home/$user/sqllib/db2profile cd /home/$user echo "=====dsmserv format db=====" >> $installlog nohup /opt/tivoli/tsm/server/bin/dsmserv -u $user -i /home/$user format dbdir=$db activelogdir=$actlog archlogdir=$archlog >> $installlog 2>&1 echo "" >> $installlog cd - #Modify userprofile cp -p -f ./option/userprofile /home/$user/sqllib/userprofile sed -i 's/instance/'"$user"'/g' /home/$user/sqllib/userprofile echo "=====/sqllib/userprofile=====" >> $installlog cat /home/$user/sqllib/userprofile >> $installlog echo "" >> $installlog #Modify tsmdbmgr.opt cp -p -f ./option/tsmdbmgr.opt /home/$user/tsmdbmgr.opt sed -i 's/TSMINST/'"$user"'/g' /home/$user/tsmdbmgr.opt echo "=====tsmdbmgr.opt=====" >> $installlog cat /home/$user/tsmdbmgr.opt >> $installlog echo "" >> $installlog #Modify TSM API dsm.sys configuration file. cp -p -f ./option/dsm.sys /opt/tivoli/tsm/client/api/bin64/dsm.sys sed -i 's/instance/'"$user"'/g' /opt/tivoli/tsm/client/api/bin64/dsm.sys echo "=====/opt/tivoli/tsm/client/api/bin64/dsm.sys=====" >> $installlog cat /opt/tivoli/tsm/client/api/bin64/dsm.sys >> $installlog echo "" >> $installlog #Stop and start the database instance su -c "db2stop" $user sleep 5s su -c "db2start" $user sleep 5s #Select the dsmserv.rc script to automatically start servers. cp /opt/tivoli/tsm/server/bin/dsmserv.rc /etc/rc.d/init.d/$user echo "=====Check the chkconfig utility on daemon of $user=====" >> $installlog chkconfig --list $user >> $installlog chkconfig --add $user chkconfig --level 3 $user on chkconfig --level 5 $user on echo "=====/etc/init.d/$user status=====" >> $installlog service $user status >> $installlog echo "" >> $installlog #Install HSM Client chmod +x ./ba/* cd ba tar xvf ./$ba sleep 10s rpm -e TIVsm-API sleep 10s rpm -e TIVsm-API64 sleep 10s rpm -ivh TIVsm-API64.x86_64.rpm rpm -ivh TIVsm-BA.x86_64.rpm rpm -ivh TIVsm-APIcit.x86_64.rpm rpm -ivh TIVsm-BAcit.x86_64.rpm rpm -ivh TIVsm-filepath-6.3.0-0-rhel60.x86_64.rpm rpm -ivh TIVsm-JBB.x86_64.rpm cd .. echo "=====show installed TIV* & gs* package=====" >> $installlog rpm -qa | grep TIV >> $installlog rpm -qa | grep gsk >> $installlog echo "" >> $installlog #cp -p ./option/dsm.sys2 /opt/tivoli/tsm/client/api/bin/dsm.sys cp -p ./option/dsm.sys2 /opt/tivoli/tsm/client/ba/bin/dsm.sys cp -p /opt/tivoli/tsm/client/ba/bin/dsm.opt.smp /opt/tivoli/tsm/client/ba/bin/dsm.opt #sed -i 's/ipaddr/'"$netip"'/g' /opt/tivoli/tsm/client/api/bin/dsm.sys sed -i 's/ipaddr/'"$netip"'/g' /opt/tivoli/tsm/client/ba/bin/dsm.sys echo "=====/opt/tivoli/tsm/client/ba/bin/dsm.sys=====" >> $installlog cat /opt/tivoli/tsm/client/ba/bin/dsm.sys >> $installlog echo "" >> $installlog read -p "請確認上面元件移除安裝是否正確,確認完後按任一鍵進行下一步驟:" #Register a role of admin in server console. echo -ne "Please register a role of admin.\n" echo -ne "Register method are as follow:\n" echo -ne "===============================================\n" echo -ne "# cd /home/$user ; source /home/$user/sqllib/db2profile\n" echo -ne "# /opt/tivoli/tsm/server/bin/dsmserv -u $user -i /home/$user\n" echo -ne "TSM:server1> REGister Admin admin_name password\n" echo -ne "TSM:server1> GRant AUTHority admin_name CLasses=SYstem\n" echo -ne "===============================================\n" sleep 8s echo -ne "\n" read -p "If you register admin done,PRESS <ANY KEY> TO NEXT STEP: " read -p "Please type the admin_name of dsmadmc: " dsmname read -p "Please type the password of dsmadmc: " dsmpw read -p "Make sure that the username: $dsmname and password $dsmpw are correct. [Y/N]:" yn if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then echo "=====register dsmadmc name & pw=====" >> $installlog echo -n "username: 「$dsmname」 and password 「$dsmpw」" >> $installlog echo "" >> $installlog echo "=====login dsmadmc=====" >> $installlog dsmadmc -id=admin -pass=admin "quit" >> $installlog echo "" >> $installlog else exit fi #Install TSM Server license rpm -ivh ./srv/$license echo "=====Register TSM Server License=====" >> $installlog dsmadmc -id=admin -pass=admin "reg lic file=*.lic" >> $installlog echo "" >> $installlog #Initial.mac #mkdir /tsm{bakcup,archive} #echo "=====initial.mac=====" >> $installlog #dsmadmc -id=admin -pass=admin "macro ./macro/initial.mac" >> $installlog #echo "" >> $installlog #Install Admin Center #version: 6.3.3.000 chmod +x ./ac/* cd ac ./$ac ./prereqcheck.bin echo -n "Continue to install TSM Admin Center?" read -p "[Y/N]:" yn if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then ./install.bin -i console else exit fi cd .. read -p "PRESS <ANY KEY> TO NEXT STEP: " |
IBM Tivoli Storage Management > TSM 安裝 >