IBM的TSM(由ADSM而來),是一個跨平台、功能非常強大的備份軟體,由於他的功能非常多,所以相對其他備份軟體而言也比較難學。這套軟體是Client-Server架構的,由一部(或多部)Server提供備份服務,供Client端將資料用各種方式備份上來。這個文件主要是寫TSM Client的安裝法,版本是6.2.2.0,作業系統是RHEL6。會特別寫這個文件是因為TSM與RHEL都大改版了,與之前第五版的安裝略有不同,所以將細節列出來供有需要的讀者參考。
ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/v6r2/Linux/LinuxX86/v622/6.2.2.0-TIV-TSMBAC-LinuxX86.tar
1. 下載TSM Client 6.2.2.0版tar檔
2. 若RedHat未註冊,無法使用yum 做套件管理,可以直接mount CDROM來做sourcelist.
方法如下:
# mkdir /mnt/rhel6
# mount /dev/sr0 /mnt/rhel6 (我是用kvm mount iso,所以是/dev/sr0這個裝置,如果一般的情況應該會是/dev/cdrom。請在安裝的時候自行判斷,可以用dmesg看看自己的光碟是在哪個裝置上。有問題可以提出來討論)
由於系統現在並沒有yum可用的sourcelist,因此我們要從光碟上複製一個範例到本機上使用
# cp /mnt/rhel6/media.repo /etc/yum.repos.d/media.repo
編輯 /etc/media.repo,將baseurl指向光碟機
在檔案最後加上 baseurl=file:///mnt/rhel6/
# vi /etc/yum.repos.d/media.repo
[InstallMedia]
name=Red Hat Enterprise Linux 6.0
mediaid=1285193176.460470
metadata_expire=-1
gpgcheck=0
cost=500
baseurl=file:///mnt/rhel6/ <===加入這一行
如此即可使用CD-ROM來進行套件的安裝了。
3. 安裝TSM Client
將適才下載的tar檔解開
> tar xvf 6.2.2.0-TIV-TSMBAC-LinuxX86.tar
可得以下所有檔案,其中gskcrypt與gskssl套件是一定會用到的,別忘了缺少這兩個套件時可以安裝。
NOTICES.TXT
README_enu.htm
README_api_enu.htm
README_hsm_enu.htm
TIVsm-API.i386.rpm
TIVsm-API64.i386.rpm
TIVsm-BA.i386.rpm
TIVsm-HSM.i386.rpm
TIVsm-BAhdw.i386.rpm
gskcrypt32-8.0.13.4.linux.x86.rpm
gskcrypt64-8.0.13.4.linux.x86_64.rpm
gskssl32-8.0.13.4.linux.x86.rpm
gskssl64-8.0.13.4.linux.x86_64.rpm
試著安裝TIVsm-API.i386.rpm,系統會告訴你缺了一大堆該有的套件
[root@localhost ~]# rpm -ivh TIVsm-API.i386.rpm
error: Failed dependencies:
gskcrypt32 >= 8.0-13.4 is needed by TIVsm-API-6.2.2-0.i586
gskssl32 >= 8.0-13.4 is needed by TIVsm-API-6.2.2-0.i586
libcrypt.so.1 is needed by TIVsm-API-6.2.2-0.i586
libcrypt.so.1(GLIBC_2.0) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6 is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.0) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.1) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.1.1) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.1.2) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.1.3) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.2) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.2.3) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.3) is needed by TIVsm-API-6.2.2-0.i586
libc.so.6(GLIBC_2.3.4) is needed by TIVsm-API-6.2.2-0.i586
libdl.so.2 is needed by TIVsm-API-6.2.2-0.i586
libdl.so.2(GLIBC_2.0) is needed by TIVsm-API-6.2.2-0.i586
libdl.so.2(GLIBC_2.1) is needed by TIVsm-API-6.2.2-0.i586
libgcc_s.so.1 is needed by TIVsm-API-6.2.2-0.i586
libgcc_s.so.1(GCC_3.0) is needed by TIVsm-API-6.2.2-0.i586
libgcc_s.so.1(GLIBC_2.0) is needed by TIVsm-API-6.2.2-0.i586
libgsk8cms.so is needed by TIVsm-API-6.2.2-0.i586
libgsk8iccs.so is needed by TIVsm-API-6.2.2-0.i586
libgsk8iccs.so(ICCSTUB) is needed by TIVsm-API-6.2.2-0.i586
libgsk8ssl.so is needed by TIVsm-API-6.2.2-0.i586
libgsk8ssl.so(GSKSSL) is needed by TIVsm-API-6.2.2-0.i586
libgsk8sys.so is needed by TIVsm-API-6.2.2-0.i586
libm.so.6 is needed by TIVsm-API-6.2.2-0.i586
libm.so.6(GLIBC_2.0) is needed by TIVsm-API-6.2.2-0.i586
libpthread.so.0 is needed by TIVsm-API-6.2.2-0.i586
libpthread.so.0(GLIBC_2.0) is needed by TIVsm-API-6.2.2-0.i586
libpthread.so.0(GLIBC_2.1) is needed by TIVsm-API-6.2.2-0.i586
libpthread.so.0(GLIBC_2.2) is needed by TIVsm-API-6.2.2-0.i586
libpthread.so.0(GLIBC_2.3.2) is needed by TIVsm-API-6.2.2-0.i586
librt.so.1 is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.5 is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.5(CXXABI_1.2) is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.5(GLIBCPP_3.2) is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.6 is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.6(CXXABI_1.3) is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.6(CXXABI_1.3.1) is needed by TIVsm-API-6.2.2-0.i586
libstdc++.so.6(GLIBCXX_3.4) is needed by TIVsm-API-6.2.2-0.i586
所以我們要一一將缺少的部份安裝起來,我從最後一個套件往上一一解決。
1. libstdc++.so.6
"yum provides" 可用來查看缺少的檔案是由哪個套件所提供的,因此底下我們下這樣的指令:
[root@localhost ~]# yum provides libstdc++.so.6
Loaded plugins: rhnplugin
This system is not registered with RHN.
RHN support will be disabled.
libstdc++-4.4.4-13.el6.i686 : GNU Standard C++ Library
略,我們可以看到libstdc++.so.6這個檔案是libstdc++-4.4.4-13.el6.i686這個套件的。
安裝這個套件
[root@localhost ~]# yum install libstdc++-4.4.4-13.el6.i686
尋找包含libstdc++.so.5的套件
[root@localhost ~]# yum provides libstdc++.so.5
Loaded plugins: rhnplugin
This system is not registered with RHN.
RHN support will be disabled.
compat-libstdc++-33-3.2.3-69.el6.i686 : Compatibility standard C++ libraries
略
安裝這個套件
[root@localhost ~]# yum install compat-libstdc++-33-3.2.3-69.el6.i686
安裝過程中,由於yum會自動帶進該安裝的相關套件,因此上面所列的缺件都會被一一補齊。
完畢之後,我們再試裝一次TIVsm-API.i386.rpm
[root@localhost ~]# rpm -ivh TIVsm-API.i386.rpm
error: Failed dependencies:
gskcrypt32 >= 8.0-13.4 is needed by TIVsm-API-6.2.2-0.i586
gskssl32 >= 8.0-13.4 is needed by TIVsm-API-6.2.2-0.i586
libgsk8cms.so is needed by TIVsm-API-6.2.2-0.i586
libgsk8iccs.so is needed by TIVsm-API-6.2.2-0.i586
libgsk8iccs.so(ICCSTUB) is needed by TIVsm-API-6.2.2-0.i586
libgsk8ssl.so is needed by TIVsm-API-6.2.2-0.i586
libgsk8ssl.so(GSKSSL) is needed by TIVsm-API-6.2.2-0.i586
libgsk8sys.so is needed by TIVsm-API-6.2.2-0.i586
還缺gskcrypt32,gskssl32,libgsk8sys.so, libgsk8iccs.so, libgsk8cms.so這幾個檔案,
這幾個就要靠TSM的tar檔解開裡的rpm套件了。
依序安裝底下幾個rpm 套件,順序不對的話系統會告訴你。
[root@localhost ~]# rpm -ivh gskssl32-8.0.13.4.linux.x86.rpm
[root@localhost ~]# rpm -ivh gskcrypt32-8.0.13.4.linux.x86.rpm
[root@localhost ~]# rpm -ivh gskssl32-8.0.13.4.linux.x86.rpm [root@localhost ~]# rpm -ivh TIVsm-API.i386.rpm
[root@localhost ~]# rpm -ivh TIVsm-BA.i386.rpm
TSM Linux client installation complete.
Be sure to set up the system configuration file
before starting the client!
好了,到現在為止,TSM Client已經安裝完畢。接著就是設定設定檔的部份。
兩個檔案,dsm.sys與dsm.opt
# cd /opt/tivoli/tsm/client/ba/bin/
# cp dsm.sys.smp dsm.sys <====最主要的系統設定檔,把sample檔cp成可用的dsm.sys
# cp dsm.opt.smp dsm.opt <====其他設定的設定檔,把sample檔cp成可用的dsm.opt
# vi dsm.sys
************************************************************************
* IBM Tivoli Storage Manager *
* *
* Sample Client System Options file for UNIX (dsm.sys.smp) *
************************************************************************
* This file contains the minimum options required to get started
* using TSM. Copy dsm.sys.smp to dsm.sys. In the dsm.sys file,
* enter the appropriate values for each option listed below and
* remove the leading asterisk (*) for each one.
* If your client node communicates with multiple TSM servers, be
* sure to add a stanza, beginning with the SERVERNAME option, for
* each additional server.
************************************************************************
SErvername tsm.allen.chen <====取一個代表TSM Server的名字
COMMMethod TCPip
TCPPort 1500
TCPServeraddress tsm.allen.chen <=====可寫IP Address或Hostname(可由DNS轉址的)
nodename RHEL6 <===== 安裝TSM Client的主機名稱,這個名稱是註冊在TSM Server上的名稱。
SCHEDLOGNAME "/var/log/tsmsched.log" <===== 排程紀錄檔
ERRORLOGNAME "/var/log/tsmerror.log" <===== 錯誤紀錄檔,一定要設,否則與TSM Server連線會有問題
passwordaccess generate <===== 照著key,這是密碼key in 的方式,當然也可以用明碼,只不過這樣有root 權限的user就可以任意去restore備份的資料下來看了,非常不安全。
存檔離開。
dsm.opt檔可以先不要去動,那是比較進階的設定部份。記得把dsm.opt.smp複製一份成為dsm.opt即可。
設定完畢之後,先與TSM Server連線第一次確認連線是否正常
[root@localhost bin]# dsmc
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
Client Version 6, Release 2, Level 2.0
Client date/time: 05/05/2011 20:20:48
(c) Copyright by IBM Corporation and other(s) 1990, 2010. All Rights Reserved.
Node Name: RHEL6
Please enter your user id <RHEL6>: <===== user id就是nodename,可以不必key,直接下enter.
Please enter password for user id "RHEL6": <===== 輸入TSM Server系統管理員為您所設得密碼
過了之後就會到tsm的命令提示狀態下
tsm>_
這樣就表示可以正常與TSM Server連線了。
接著我們要設定自動排程,由於RHEL6的/etc/inittab已經不給下指令在其中,取而代之的是/etc/init/底下的檔案,要分別為每個服務另外寫,這邊我還沒研究透徹,所以把開機啟動的指令寫在/etc/rc.local裡。
先把dsmc在背景執行:
[root@localhost bin]# nohup /usr/bin/dsmc sched 2> /dev/null &
確認dsmc daemon有在執行
[root@localhost bin]# ps ax | grep dsmc
2093 tty1 Sl 0:00 /usr/bin/dsmc sched <=== Daemon在此
2096 tty1 S+ 0:00 grep dsmc
[root@localhost bin]#
將這個指令寫在/etc/rc.local使其在開機時自動執行
[root@localhost bin]# vi /etc/rc.local
在最後加入一行
nohup /usr/bin/dsmc sched 2> /dev/null &
存檔離開,並且reboot測試看看。
如果下ps ax | grep dsmc跟上面一樣有出現
2093 tty1 Sl 0:00 /usr/bin/dsmc sched
就表示開機會自動執行了。
關於/etc/init底下的寫法,我研究完畢會將正規的寫法補充上來。
/etc/inittab下的寫法:
回覆刪除tsm::once:/usr/bin/dsmc sched > /dev/null 2>&1 #TSM scheduler
F.Y.I
眼花了,沒注意到是rhel6!
回覆刪除樓上那篇當沒發生過吧,囧
有讀者留言,筆者連高興都來不及了!謝謝您的造訪啊!
回覆刪除下次記得要留個名字喔!謝謝~
寫的很仔細,謝謝分享
回覆刪除寫了這麼多年的文章還可以幫上忙,很感謝您的閱讀。
刪除作者已經移除這則留言。
回覆刪除