內容提要
Linux®, UNIX® 和 Windows™ 平台,對幾十、成百、上千個客戶機和服務器部署 IBM® DB2® 產品,包括 IBM DB2 和 DB2 Connect™, 這可能看起來是一個很艱巨的任務。然而,DB2 9.5 已有的功能和工具讓你能夠快速無縫的在企業中部署客戶機和服務器。
你能使用部署技術——比如微軟公司的系統管理服務器(SMS),來部署 DB2 9.5,也可以使用一個簡單有效的手動部署方法。最適合你組織的部署類型取決於你的分布和維護需求,同樣也取決於你現存的計算環境的硬件、軟件和整個基礎架構。
你可以通過圖形化界面(GUI)安裝程序運行 DB2 安裝程序,它提供了一個交互式安裝類型,或通過響應文件形式把輸入傳給安裝程序的模式。後一種模式,涉及一個自動或一個響應文件的安裝,不需要顯示圖形化界面,也不需要用戶輸入。
自動安裝,你能對相當多的用戶使用部署軟件,這樣可以提供比圖形化安裝更多的功能和彈性。使用自動安裝方法你可以:
創建不止一個實例
編目和創建數據庫
設置數據庫管理配置參數和配置文件注冊表變量
導入由 db2cfexp 命令(連接配置導出工具)生成的實例配置文件
在應用程序中嵌入 DB2 軟件
使用相同的響應文件在多個計算機之間推出相同的 DB2 產品副本使用一樣的組件、注冊表變量設置和實例配置設置。
在部門之間部署數據庫產品的最佳實踐是,執行多個自動安裝使用一個相應文件的 DB2 安裝器。自動安裝消除了在目標機器端的輸入需求。
作為最早的成本,定制響應文件(指定組件、注冊表變量設置和實力配置設置)一旦完成那些實際的部署,安裝能非常快的在成百上千台計算機上進行,並且之後添加的計算機,基本上不會帶來任何成本。
介紹
這篇文章描述了在 Linux、UNIX 和 Windows 平台上,跨多台機器快速、簡單、持續地部署 DB2 9.5 產品家族的最佳實踐。 DB2 9.5 有許多產品,所以如果你不熟悉 DB2 的產品線,選擇正確的產品可能對你來說是一項挑戰。
雖然這些安裝和部署 DB2 9.5 的步驟,在各個平台上有所不同,但是整個步驟是:
規劃你的部署
為安裝鏡像文件創建一個存放位置
創建一個相應文件
創建一個部署腳本或定義
在所有計算機上運行部署腳本或定義
簡單來說,例如對於 Linux 和 UNIX 平台將使用 Bourne shell 語法。如果你使用其他 shell,則需要把說明進行適當的改編。
對於 Windows 平台,雖然這篇文章也描述了如何使用微軟系統管理服務器(SMS)部署軟件,但是這篇文章的一般概念是對大多數部署工具的。
你能使用這些介紹來安裝客戶機、服務器、平行服務器和補丁包。
規劃你的部署
需要安裝什麼?
為了幫助你判斷在計算機上安裝什麼 DB2 產品,請閱讀下面的產品概貌。這些概貌並不試圖表述每個產品的許可證條款,但是總結了每個產品的功能和使用場景。
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0611zikopoulos/.
你能在尋找什麼產品適合你的過程中找到更多的信息。
DB2 服務器產品
能夠使用多少個 DB2 服務器產品,這取決於你的應用程序、用戶功能和工作負載特征。
所有 DB2 服務器都是有許可證的產品,並且一些功能需要額外的功能許可證。關於許可證的更多信息在“對你將部署的鏡像應用 DB2 許可證文件”章節。
DB2 個人版本是一個單獨使用並且非常適合一次一個用戶數據存儲時間(在企業中可能有很多)。它包括 SQL 復制,讓用戶和企業能同步它們的數據。 DB2 個人版不允許遠程客戶連接。
DB2 Express 版本是為只有少數客戶機的中小型商務設計的。他有 DB2 個人版的所有功能,同時允許遠程連接。
DB2 Express-C 版本是為小型商務和多個分公司設計的,也適用於開發人員和為客戶服務的商業合作伙伴。 DB2 Express-C 可以快速設置、使用簡單並擁有自管理能力。它也包含更大規模版本的 DB2 具有的所有核心功能,包括革命性的 pureXML 技術,使基於 Web2.0 和 SOA 的解決方案更強大。
DB2 工作組服務器版本是為更大規模服務器設計的。它有 DB2 Express 版本的所有功能,並有更多擴展許可證。
DB2 Connect 企業版本是對基於 LAN 的系統或桌面應用程序連接主機系統和小型主機上的數據庫(像 z/OS 上的 DB2)而設計的。這個連接解決方案能通過一個網關來加強你主機的訪問和發布多網絡層的應用。
DB2 企業服務器版本是為大型和超大型數據庫設計的。他的功能相當於是 DB2 工作組版本和 DB2 Connect 企業版的組合。由於具有數據庫分區功能(DPF),企業服務版本也使多個計算機能以一個 share-nothing 集群的形式在一起工作,模擬一個數據庫服務器。 DPF 功能是作為 InfoSphere Warehouse 9.5 的一部分提供的,不過,是作為 DB2 企業服務器版安裝的一部分部署。
DB2 客戶機和驅動
基於應用程序的基礎架構,你可能想在裝有應用程序的每台計算機上安裝 DB2 客戶機。安裝客戶機能夠讓你的應用程序在運行時訪問 DB2 服務器。
理解客戶機和驅動之間的不同,能夠選擇合適的客戶機或驅動對於配置 DB2 連接和降低 DB2 文件足跡非常重要。
提示:
因為每個服務器都具有客戶機的所有功能,包括圖形化工具和應用開發工具,所以在已經有一個服務器的機器上,沒必要再安裝一個客戶機。
使用 IBM數據服務器運行時客戶機,能對遠程數據庫運行應用程序。基於客戶機可以支持管理數據庫連接、SQL 語句、XQuery 語句和 DB2 命令,同樣的它也支持普通數據庫訪問接口,像 JDBC、ADO.Net、OLE DB、ODBC、DB2 CLI、PHP 和 Ruby 。
這個客戶機不包括圖形化工具,只包括 DB2 命令行處理器(CLP)。由於沒有圖形化工具,無論是從安裝介質大小上看,還是從磁盤空間需求上看,數據服務器運行時客戶機都要比完整的 IBM 數據服務器客戶機有更小的部署足跡。
在 Windows 平台上,客戶機也提供 window 合並模塊安裝形式,這樣你在應用程序安裝包中可以包含 TRCL DLL 文件。這種形式同樣允許只包含你的應用程序需要的客戶機的那部分。如果你不打算在應用程序中使用 DB2 CLP,那麼就使用合並模塊和 IBM 數據服務器驅動。
IBM 數據服務器客戶機包括所有 IBM 數據服務器運行時客戶機的所有功能,並增加了管理數據庫、應用程序開發和客戶機服務器配置的功能。比起 IBM 數據服務器運行時客戶機,在安裝介質大小和對磁盤空間的需求上都有很大的部署足跡。
所有圖形化管理工具(像控制中心和配置助理),客戶機都提供。這些工具 j 對 x86 的 Windows 版本(僅限 32 位)和 x64(AMD64 和 EM64T)以及 x86 和 AMD64 和 EM64T 上的 Linux 提供。
這個客戶機也能做其他額外的應用程序開發,像應用程序頭文件、多種程序的預編譯程序、綁定支持、樣本和指南。
IBM ODBC、CLI 和 .NET 數據服務器驅動是 Windows 上應用程序的輕量級部署解決方案。它在不需要安裝數據服務器客戶機或數據服務器運行時客戶機的情況下,能對應用程序提供了 DB2 CLI API、ODBC API 和 .Net API 。
在 Windows 平台,這個客戶機以可安裝鏡像或合並模塊的形式存在,這讓你把客戶機嵌入一個基於 Windows 安裝器的安裝中。
安裝方法的細節超出了這篇文章的范圍。更多信息參見 DB2 信息中心。
客戶機安裝鏡像是按語言分類減小了鏡像的大小。如果你需要同一個安裝介質有更多的語言支持彈性,也支持所有語言的版本,鏡像文件就會更大。
在 Linux 和 UNIX 平台上,一個對 ODBC 和 CLI 單獨提供的 IBM 數據服務器驅動提供了類似的輕量級部署解決方案。不同的是 ODBC 和 CLI 數據服務器驅動並沒有提供對 .Net 的支持,並且只以 tar 文件的形式提供,而不是可安裝介質。
IBM JDBC 和 SQLJ 的數據服務器驅動提供了支持 Java 編寫的使用 JDBC 和 Java 嵌入 SQL(SQLJ)的客戶機應用程序和 applets 的驅動。 IBM JDBC 和 SQLJ 數據服務器驅動是單獨的驅動,包括 JDBC type2 和 JDBC type 4 方式。當一個應用程序加載了驅動程序,就意味著也加載了一個實現 type 2 和 type 4 的 驅動實例。
這個驅動有兩個版本:
IBMJDBC 和 SQLJ 數據服務器驅動 3.5 版本(JDBC3.0- 兼容)I
IBM JDBC 和 SQLJ 數據服務器驅動 4.0 版本(JDBC3.0- 兼容並支持部分 JDBC4.0 功能)
這些驅動支持下面的 JDBC 和 SQLJ 功能:
所有 JDBC 3.0 規范的方法
一些在 JDBC4.0 規范中描述的功能——如果你安裝的是 IBM JDBC 和 SQLJ 數據服務器驅動 4.0 版的話。
SQLJ 應用程序接口
連接啟用連接池。 WebSphere 應用程序服務器或其它應用程序服務器可生成這些連接池。
使用 Java 用戶定義函數或存儲過程,連接到一個數據庫(連接數據服務器僅限 IBM JDBC 和 SQLJ type2 ;調用應用程序可以使用 type2 連接或 type 4 連接)。 Java 例程的默認驅動是 IBM JDBC 和 SQLJ 數據服務器驅動。
分布式事務管理。這支持 Java 2 平台企業版(J2EE),Java 事務服務(JTS)和 Java 事務 API(JTA)規范,它們遵守 X/Open 分布式事務標准。
重分布客戶機和驅動
你可以自由的重定向所有的 clIEnt 和驅動和你的程序,除了 IBM 數據服務器客戶機!你能從 IBM 應用程序開發網站(www.ibm.com/software/data/db2/ad)免費下載。請閱讀許可證文件了解重新定向的范圍。
安裝方法
你可以用很多非交互的方法來安裝數據服務器產品。選擇什麼方法,主要取決於你的喜好、平台和一些其他因素、產品。可以交替的使用各種方法。就是說你現在可以使用一種安裝方法,稍後也可以使用其他方法來在同一台機器上安裝。選擇一個方法並不意味著你要一直使用它。
提示:
在生產系統上進行任何部署之前,應在測試機上測試安裝。同樣,在設計一個非交互的 DB2 部署之前,你自己要熟悉圖形化安裝。圖形化安裝能幫助你理解在非圖形化安裝模式中出現的術語和關鍵字。
下面的章節描述了部署 DB2 產品的多種方法。
使用響應文件的自動安裝
在 Windows 平台上,通過安裝使用一個相應文件來大規模部署。在 Linux 和 Unix 平台上,你也應該只用一個響應文件。
這個方法包括創建一個響應文件,然後運行 db2setup 或者 setup 命令使用這個響應文件。更多關於響應文件的信息,請參考“創建相應文件”章節。這個方法有很多好處:
最前面的是響應文件的語法檢測,意味著如果 db2setup 接受響應文件,那麼安裝過程就更有可能完成。
它允許你用與圖形化安裝相同或更好粒度來選擇安裝什麼。
給你提供了比圖形化安裝更詳細的配置選項。
你能在安裝過程中設置數據庫管理配置參數(dbm cfg)和 DB2 配置注冊參數。
所有輸出以及日志文件,都有充分的解釋。
自動安裝使用 db2 安裝腳本(Linux 和 UNIX)
Db2_install腳本是輕量級、簡單的工具,用來調用安裝響應文件,來安裝整個產品。比起使用響應文件安裝,這個方法有以下限制:
這個腳本進行安裝比較粗糙,也就是說所有可選組件都被安裝了;你不能指定安裝什麼組件。
腳本並不創建或配置任何實例或者配置 DB2 管理服務器(DAS)。
然而,db2_install 方法的優勢是使用一個內置的默認響應文件,因此你不需要設置響應文件。
手動安裝(Linux 和 UNIX)
這個方法直接引入非壓縮和 untarring 的 DB2 有效載荷。
由於這是高級安裝方法,除非你有很多高級需求,否則不要這麼安裝。這篇文章不討論這種安裝方法。如果你很喜歡這種安裝方法,可以從其他安裝方法外推到這個方法。
減少你安裝介質的大小
在 Windows 平台上,你可以使用 db2iprune 實用工具來減少大多數安裝介質的大小。如果 IBM 數據服務器已經進行了壓縮,那麼這個實用工具就對它的鏡像不可用。這個實用工具將從安裝鏡像中刪除任何你不需要的功能和語言。這個 db2iprune 實用工具不但能夠減少安裝介質的大小,而且也能減少你把鏡像從電腦裡傳輸出去的網絡通信量。更多信息,請參見“使用 db2iprune 來減少 DB2 產品安裝介質大小”章節。
Linux 和 UNIX 上的 DB2 產品鏡像大小是可以減少的,不過是一個手動步驟。不過,除非你有明確的減少鏡像體積的需求,否則還是使用完整鏡像。裁剪一個在 Linux 和 UNIX 上的安裝鏡像超出了本文的討論范圍。
使用分發軟件來部署軟件(Windows)
有許多產品可以幫助你為大型企業部署軟件。在本文中,我們涉及了在 Windows 平台上使用 SMS 部署軟件。你可以把這些概念應用到其他技術上來達到相同的結果。更多使用 SMS 部署軟件的信息,請參見“創建一個部署腳本或包”或“在所有計算機上運行部署腳本或定義”章節。
對你分發的介質應用 DB2 許可證文件
為了使用 DB2 服務器產品的 IBM 數據服務器功能,你必須為將部署的每一台計算機和服務器產品獲得適當的許可證。你也必須為你期望使用的特殊功能取得許可。
更多關於判斷你需要購買哪些功能的信息,請聯系你的 IBM 銷售代表或者參見 DB2 信息中心。
一般情況下你可以在安裝完成後應用正確的許可證文件,但是在企業中所有已經分發的計算機上做這個操作,效率將是極低的。為了解決這個問題,你可以自動地安裝已經購買的許可證。
為了使這個功能更簡單,你需要獲得你購買的產品和功能所必需的許可證。在購買產品和功能時許可證通常是作為一個單獨的下載提供的,並可以通過 Passport Advantage 得到。
雖然你必須為安裝的每個計算機購買一個許可證文件,但是你分發到每一個機器上的許可證文件都是一樣的。復制許可證文件到即將在企業中部署的鏡像的 db2/license 目錄上。
當鏡像文件安裝後,許可證文件也自動安裝了。要檢驗許可證文件是否被安裝,你可以運行 db2licm – l 和查看輸出。你可以周期性的運行 db2licm – g 命令來生成一個許可證一致性報告。
注意:
為了在 DB2 9.5 上使用購買的 DPF 功能,你需要購買 InfoSphere Warehouse 9.5 產品,並在你的安裝介質中包含許可證或者在安裝後應用許可證。
補丁安裝
在 Linux 和 UNIX 平台上,你可以使用 installFixPack 工具來更新一個 DB2 數據服務器產品。這是一個非交互腳本,並且可用於大型部署。
在 Windows 平台上,你可以使用響應文件來應用一個補丁包,同你安裝原始程序一樣。
你也可以在一個新路徑安裝一個補丁包,對每個實例運行 db2iupdt 並卸載老的副本。如果你想在整個生產系統遷移到新的補丁版本級別之前,在系統上測試 DB2 新的產品級別,就可以使用這個方法。
提示:
比起最初的版本,常常在第一次部署 DB2 產品需要安裝特定的補丁級別,而不是只安裝最初的 DB2 版本。比起執行兩次部署(安裝最初的 DB2 產品發布版本,然後應用必需的補丁包),你也可以使用補丁鏡像執行一次安裝,它就是一個完整的 DB2 鏡像。
為安裝鏡像創建一個目錄
從一個系統上物理的移動一個 DVD 到另外一個系統,在任何管理員時間上都是一種浪費。在一個單獨的計算機上物理的掛載 DVD,然後使用一個網絡文件系統像 Samba、NFS、DFS 或者 AFS 都會由於網絡請求響應而降低安裝速度。
相反的,使用一個代碼服務器來加速部署。通過復制鏡像到一個可以網絡訪問的硬盤上,可以獲得更好的檢索時間和大多數文件系統驅動提供的緩沖。
Linux 和 UNIX 平台
為了從一個 DVD 上復制鏡像,以 root 用戶運行下面命令:
# (cd /dvdrom; tar cf - *) | (cd /bigshareddisk; tar xf -)
這裡:
dvdrom表示DB2產品DVD的掛載點
表示你想在網絡上共享DB2產品鏡像的路徑
Bigshareddisk
使用 tar 的主要目的是:並不是所有平台都有可以保護連接特征符(或 symlinks)的 cp 命令。
此外,任何可以保護 symlinks、所有權限、和許可的等價命令都可以使用。
例如為了解壓一個從 Passport Advantage 鏡像,可以使用下面的命令:
# (cd /downloads; gzip -c *.tar.gz) | (cd /bigshareddisk; tar xf -)
這裡
downloads表示你下載的DB2產品鏡像存放的目錄
表示你想在網絡上共享DB2產品鏡像的目錄
Bigshareddisk
此外,在 Linux 上,你可以加上 z 選項運行
# cd /bigshareddisk; tar xzf /downloads/*.tar.gz
不要打算使用微軟 Windows 文件服務器。 Windows 文件服務器會丟失文件許可並且不可控。
下一個步驟是通過一個網絡文件系統導出/bigshareddisk目錄。它的詳細步驟不在本文討論范圍。雖然DB2產品不能安裝在一個NFS分區上,但是你可以從一個NFS文件系統上安裝。
Windows 平台
在 Windows 平台上,把安裝介質放在一個所有要安裝的計算機都能訪問到的文件系統上。這是為了在產品需要自我修復的時候,它能自動找到安裝介質。對你部署的不同 DB2 版本,使用不同的路徑。
使用下面命令來從 DVD 上復制鏡像
xcopy /e /qdvdrom:\\\Server\path
確保你指定的路徑是對所有你打算分發軟件的計算機可以只讀訪問的。在引用這個鏡像的時候使用 UNC 路徑,因為它需要在本地計算機掛載驅動。
創建一個響應文件