程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

編輯:DB2教程

創建一個部署包或腳本

為了部署 DB2 產品到其他機器上,你必須用一個軟件部署工具創建一個包或創建一個你能在那些機器上運行的腳本。這章描述了如何使用 SMS 創建一個包和怎麼創建一個 Linux 和 UNIX 平台上的部署腳本。

使用 SMS2003 來打包 IBM 服務器產品

先決條件:

你必須已經安裝了 SMS 2003 並且在你網絡上配置了 SMS 2003 服務器和 SMS 2003 客戶機工作站。更多細節參見系統管理服務器概念、計劃和部署指南以及系統管理服務區操作指南http://www.microsoft.com/technet/downloads/sms.mspx

SMS 2003 平台和先決條件

SMS 2003 設置(包括設置主站點和次站點)

增加客戶機到 SMS 2003 系統

過程:

使用 SMS 打包一個 DB2 產品:

復制產品安裝鏡像到一個你能編輯它內容的位置

創建一個 DB2 響應文件。更多信息參見“創建一個響應文件”章節

在一個 SMS 2003 分發服務器,從開始菜單選擇 Programs>Systems Management Server>SMS Administrator Console.

在 SMS 管理控制台,打開站點的數據庫對象樹,並右鍵點 Packages 。選擇 New>Package From Definition.

圖 1. 新建包
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Welcome to the Create Package from Definition 向導中,點擊 Next.

圖 2. 歡迎使用向導
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Package Definition 頁面,點擊 Browse 來搜索 DB2 包定義文件。

圖 3. 搜索 DB2 包定義文件
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

從浏覽窗口顯示的列表中,選 db2*.pdf 文件。這個文件的默認位置在安裝介質的 db2\Windows\samples\ 目錄。選擇 打開。

圖 4. 選 db2*.pdf 文件
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Package Definition 頁面,選擇 Next。

圖 5. 下一步
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在資源文件頁面,選中 Create a compressed version of the source 並點擊 Next

圖 6. 選中 Create a compressed version of the source
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在資源目錄頁面,點擊 Network path (UNC name) 以從遠程網絡驅動訪問資源文件,或者點擊 Local drive on the site server以從本地驅動訪問資源文件。在 Source directory 域輸入存放 DB2 產品安裝介質的目錄名。這個目錄包含 setup.exe 文件,選擇 Next。

圖 7. 輸入路徑
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Completing the Create Package from Definition Wizard 頁面,點擊 Finish。

圖 8. 完成頁面
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

創建一個部署腳本

一個部署腳本通常是作為一個 shell 腳本來提供,不過你可以使用任何語言包括 Perl、Java、C 或者你能使用批處理文件。你可以考慮把這個腳本作為一個包裝器來處理 DB2 安裝程序,而不管安裝和配置方面的問題。你在目標計算機上運行這個腳本作為部署程序的一部分。

如果你創建了一個完整的響應文件創建一個部署腳本可能很簡單,也可能稍微復雜一點,尤其在你不使用一個響應文件來執行安裝的情況下。

當讀這些例子時、假設 /share 是遠程文件系統,所有掛載了 /share 的計算機都需要部署。如果有共享文件系統就可以從遠程掛載一個文件系統或者寫一個腳本來自動掛載和卸下文件系統。如何掛載一個文件系統不在本文討論范圍。

在 Linux 和 UNIX 平台,文件系統可以是 NFS、AFS、DFS 或者任何數目的非本地文件系統。然而,由於“安裝鏡像創建一個存放位置”章節中提到的原因,不使用 Samba 文件系統。在 Windows 平台,一個 Samba 文件系統或者任何可網絡訪問的驅動都支持。

IBM 數據服務器客戶機被用來作為例子,不過安裝其他產品介質也是同樣的步驟。

部署一個響應文件的安裝

部署一個響應文件的安裝是最簡單的情況。因為產品定義、選擇的組件和設置實例幾乎完全壓縮進一個響應文件了,你的大多數工作在運行響應文件時已經執行了。

Unix 和 Linux 平台

/share/client/db2setup -u /share/client/v95GA/db2clIEnt.rsp

Windows 平台

\\server\share\setup -u \\server\share\client\db2clIEnt.rsp

在這些例子中的用戶定制的響應文件在產品的 /share/client 或 \share\clIEnt 目錄

安裝後任務

要使用 DB2 數據服務器客戶機,你通常必須編目遠程服務器和數據庫。然而,你也可以使用 db2cfimp 自動的編目這些連接,並用 db2cfexp 導出這些連接,或者你可以手動編目這些連接。

例如,在 Linux 和 UNIX 平台,你可能已經有生成好的一個實例的配置文件 ,db2inst1 使用 db2cfexp 實用程序。你能使用 db2cfimp 實用程序來像下面這樣復制配置:

su – db2inst1 -c ". sqllib/db2profile; 
         db2cfimp /share/rtcl/v9GA/db2inst.exp"

手動編目等同於創建實驗

su – db2inst1 -c ". sqllib/db2profile; 
         db2 catalog tcpip node ..."

在後面的情況,最好把編目放到另外一個文件然後允許 CLP 讀取那個文件:

su – db2inst1 -c ". sqllib/db2profile; 
         db2 -tvf /share/rtcl/v9GA/catalog.db2"

你可以使用這些其他文件來執行其他 DB2 設置任務,就像下面例子顯示的:

catalog tcpip node server remote serverhostname; 
 catalog database sample at node server;

在 Windows 平台上命令也是一樣的。不過,為了設置你想使用的 DB2 實例,使用 DB2INSTANCE 環境變量並用 db2cmd /C 來運行 DB2 命令:

set DB2INSTANCE=DB2 
“ C:\Program Files\IBM\SQLLIB\BIN\DB2CMD.EXE “ /C 
“ DB2 CATALOG DATABASEsampleAT NODEserver”

服務器考慮:

在部署一個服務器時,你通常需要額外的命令來創建和設置數據庫、表空間、表。例如,在客戶端創建一個腳本並使用 db2 – tvf來運行這個腳本,這能讓你簡化你的部署。

在一個 UNIX 上的並行環境,部署腳本必須能更新 .rhosts 和 db2nodes.cfg 文件。

使用 db2_install(Linux 和 UNIX)配置一個安裝

你能使用 db2_install 命令來配置一個安裝。這個方法繞過了創建響應文件步驟以及響應文件帶來的所有好處。

安裝階段仍然相對簡單:

/share/client/v95GA/db2_install -p CLIENT -n -b /install/path

一個產品的產品標識是唯一的。為了查看一個可用產品列表,不加任何參數運行 db2_install,參見信息中心。

你可以使用部署腳本來創建用戶、實例和 DAS 。創建用戶是操作系統特定的功能,因此更多信息請參考操作系統手冊。關於創建實例和 DAS,在 DB2 信息中心中有所討論。

更多安裝後的任務,參見“配置一個響應文件安裝”章節

配置一個補丁

比起執行初始安裝,升級現有 DB2 產品安裝即使不是更重要,也算同樣重要。幸運的是,升級通常非常容易。

你可以從http://www.ibm.com/software/data/db2/udb/support.Html下載補丁。

一定要閱讀補丁 readme 文件以及 APARs 的列表。你能在與補丁相同的 FTP 目錄中,或者從下載網站頁的一個連接找到這個文檔。 Readme 提供了如何安裝補丁包以及已知問題或 workaroud 的信息。任何可能在已發布的最新補丁中更改或添加請參考 readme 。

Linux 和 UNIX 平台

對你的客戶進行一次升級可能就這麼簡單:

下載新的客戶機。

把客戶機鏡像放到 /share,例如,在 /share/rtcl/v9FP5 。

添加補丁的動作到你的部署腳本,如下面例子顯示的:

# code to ensure your applications are stopped 
 /share/rtcl/v9FP5/installFixPack -b /install/path 
 /install/path/instance/db2iupdt -e 
 # any post-fixpack steps you might require

從 DB2 9.5 開始,db2iupdt 步驟由 installFixPack自動完成。如果你正在對一個服務器應用補丁包,你可能需要首先停止所有實例,並在完成後重啟它們。在一個並行環境,你必須在實例節點這麼做。

如果你安裝了很多產品,例如在 DB2 企業服務器版本安裝 WebSphere Information integrator Relational Wrappers,使用通用補丁包代替單個產品的補丁包。

新的安裝方法包括裝到一個新的路徑,測試並把實例更新到新的副本。如果有需要這可以階段性的推出。這對於那些宕機和不響應時間需要保持在最小范圍的服務器尤為重要。

在這個情況下,你需要從初始化安裝保留你原來的響應文件,以作為新安裝的基礎。刪除所有關於實例或者 DAS 的部分,並通過 FILE 關鍵字使用一個新的安裝路徑。像上面那樣部署安裝,並使用 db2iupdt 工具以移動實例到新的副本。

這讓你在不需要停止生產應用的情況下部署代碼,而且在運行 db2iupdt 的那段時間,你只需要停下 DB2 服務器的應用程序。

Windows 平台

第一步是獲得你需要的補丁包。你需要為你需要在計算機上部署的所有產品獲得一個補丁包。如果你有不止一個 DB2 產品安裝在一個特定的計算機上,這很重要也是必須的。

所有在你計算機上已經安裝了的補丁包必須在安裝時已解壓並可用,因為在這個副本中的所有 DB2 產品必須保持在同一個版本。如果 DB2 設置向導不能訪問鏡像中的所有部分,安裝將不能繼續。

把所有補丁包存儲在相同位置,使安裝程序能在它安裝過程中查找補丁包。所有介質必須解壓到同一個主路徑的子路徑中。

補丁包是自解壓 zip 文件。把它們解壓到相同目錄。產生的目錄結構看起來像這個例子:

      \\SERVER\FIXPAK \ 
  ├─── CLIENT 
  ├─── SERVER 
  ├─── IIRW 
  ├─── QP 
  ├─── WM 
  └─── WSE

在你把補丁包釋放到相同路徑後,你可以在與一個使用響應文件安裝初始產品相類似的方式來配置它們。

如果你不需要對初始安裝做任何更改,就可以使用與你在初始安裝中相同的文件。否則,要從響應文件樣例開始構建一個響應文件。你可以在 \db2\Windows\samples 目錄中找到響應文件。

在多數情況下在你需要在響應文件中做的唯一改變就是同意許可證條款,並以指定LIC_AGREEMENT=ACCEPT 來表達。如果你想在安裝中設置另外的數據庫管理配置參數或者配置注冊變量,你可以在響應文件中指定。

除非你非常肯定沒有 DB2 庫在使用,設置 KILL_PROCESSES 為 YES 。 KILL_PROCESSES 關鍵字將停止所有 DB2 實例,並將立即停止所有可能訪問 DB2 庫文件的應用程序。如果你不想終止某些應用程序,就確保它們在安裝時不要運行。

另外,你也可以為 setup.exe 指定 -f 參數。不過,你要確保在響應參數中能保留盡可能多的選項,那麼安裝能盡可能的持續的重現。

在所有機器上運行部署腳本或定義

之前的章節給你提供了關於准備部署的信息。你可以執行一次這些動作,產生一些前期成本,然後可以再配置成百上千的計算機。你可以幾乎毫無成本地增加計算機。

這裡有兩種基本部署形式:推送和拖入

在一個推送部署中,一個集中的位置發起與每個計算機的聯系。這通常適合 IT 集中的部門想要在沒有用戶操作的情況下設置許多計算機。不過,為了做到這樣一個自動化服務,像 rshd、sshd、SMS 或其他部署軟件必須已經安裝並運行在每一台被“推送”的計算機中,並能被 IT 部門訪問到。

在一個拖入部署中,每個安裝了 DB2 產品的位置自己聯系服務器以啟動安裝。常常,這個操作使用一個網頁或者郵件中的鏈接實現。這種形式適合很少的計算機需要安裝 DB2 產品,或者沒有自動化的服務來發起一個推送安裝。

使用 SMS 分發 IBM 數據服務器產品

使用 SMS 你可以從一個中心位置來設置 DB2 或 IBM 數據服務器產品的安裝,並能多台計算機跨網絡穩定有效的安裝。 SMS 提供了能自動部署任務的工具,因此減少了用戶必須執行工作的總量。這個安裝方法適用於 DB2 或 IBM 數據服務器產品在相當數量基於相同安裝的客戶機上的大型部署。

先決條件:

你必須安裝了 SMS 2003 並在你的網絡上配置了 SMS 2003 服務器和你的 SMS 2003 客戶機工作環境。

更多細節參見微軟操作系統管理服務器概念、計劃和部署指南以及微軟系統管理服務器操作指南http://www.microsoft.com/technet/downloads/sms.mspx:

SMS 2003 平台和先決條件信息

設置 SMS(包括設置主次站點)

添加客戶機到 SMS 2003 系統

過程:

使用 SMS 來分發 DB2 或者 IBM 數據服務器產品:

在 SMS 管理控制台中創建了一個包後,打開 Site Database 對象數並右鍵單擊 Packages 。選擇 All Tasks>Distribute Software。

圖 9. SMS 管理控制台
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Welcome to the Distribute Software Wizard 頁面點擊 Next。

圖 10. Welcome 頁面
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Package 頁面,點擊 Select an existing package 並選擇你想分發的包,選擇 Next。

圖 11. 選擇你想分發的包
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Distribution Points 頁面選擇包分發點並點擊 Next。


圖 12. 選擇包分發點
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Advertise a Program 頁面,點擊 Yes。點擊 Next。

圖 13. Advertise a Program 頁面
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在選擇一個 Program to Advertise 頁面,選擇程序以為你分發集合做廣告並點擊 Next。

圖 14. 選擇程序
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

在 Advertisement Target 頁面,選擇 Advertise this program to an existing collection ginger 指定一個選擇名字 Create a new collection and advertise this program to it,選擇 Next

圖 15. 指定一個選擇名字
DB2 最佳實踐: 部署 IBM DB2 產品,第 2 部分:創建部署包或部署腳本並在所有的機器上運行

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved