概述
WPAR 是一個獨立的運行環境,在標准的 AIX 計算機中它擁有自己的 init 進程。對於最終用戶來說,WPAR 就好像是一台獨立的 AIX 計算機,因為它擁有自己的一組進程,這一點與標准的 AIX 計算機非常類似。本文將重點介紹下面幾個概念,這些概念對於在 WPAR 中設置 DB2 環境是很有價值的:
WPAR 的類型(系統和應用程序 WPAR)
創建系統 WPAR
在 WPAR 中安裝和配置 DB2
本文所提供的說明和技巧可以在安裝和配置 DB2、Oracle、IDS、WebSphere® Application Server 和 SAP 等各種產品時為 WPAR 用戶提供幫助。
WPAR 的類型
WPAR 可以分為系統 和應用程序 WPAR 兩類。
系統 WPAR 是標准 AIX 計算機(我將稱之為“全局環境”)中擁有自己的執行環境的一個進程。它為最終用戶提供了所有標准的(/、/usr、/opt、/var、/etc、/tmp 和 /home)文件系統。系統 WPAR 可以采用只讀模式共享全局環境中的 /usr 或者 /opt、或者可以使用自己的 /usr 或者 /opt 文件系統。可以采用三種不同的方式來配置系統 WPAR 中的文件系統:使用共享的 /usr 和 /opt(即 namefs 類型),使用私有的 /usr 和 /opt,以及使用所謂的“遠程”根文件系統(它們配置為 NFS 類型,可能是 nfsv3 和 nfsv4,並從 NFS 服務器掛載)。
應用程序 WPAR 同樣是全局環境計算機中擁有自己的執行環境的一個進程,並且使用全局環境中的所有文件系統。應用程序 WPAR 使用啟動腳本進行啟動,並且在啟動腳本完成其執行過程後結束。例如:wparexec -n "application wpar name" "absolute path of the script to be
executed with arguments if any"
# wparexec -n appwpar /usr/bin/sleep 10
Starting workload partition appwpar.
Mounting all workload partition file systems.
Loading workload partition.
[ ----Script will start execution here---- ]
Shutting down all workload partition processes.
該示例將啟動 Appwpar,並執行給定的腳本。在這個示例中,所進行的操作是睡眠 10 秒。應用程序 WPAR 將在睡眠 10 秒之後自行終止。
如何創建系統 WPAR?
根據為系統 WPAR 分配文件系統的方式的不同,下面給出了三種不同的創建系統 WPAR 的方法:
使用共享 /usr 的系統 WPAR
使用私有 /usr 的系統 WPAR
使用遠程或 NFS 導出文件系統的系統 WPAR
使用共享 /usr 的系統 WPAR
在這種 WPAR 中,系統 WPAR 共享全局環境的 /usr 和 /opt。可以使用下面的命令創建這種共享的系統 WPAR:mkwpar -n shared_wpar
下圖顯示了全局環境和共享的系統 WPAR 之間的文件系統映射。
圖 1. 全局環境中的共享 WPAR
共享的 WPAR 中的文件系統
# lsfs|grep shared_wpar
/dev/fslv00 -- /wpars/shared_wpar jfs2
/dev/fslv01 -- /wpars/shared_wpar/home jfs2
/opt -- /wpars/shared_wpar/opt namefs
/proc -- /wpars/shared_wpar/proc namefs
/dev/fslv02 -- /wpars/shared_wpar/tmp jfs2
/usr -- /wpars/shared_wpar/usr namefs
/dev/fslv03 -- /wpars/shared_wpar/var jfs2
使用私有 /usr 的系統 WPAR
在這種 WPAR 中,將為系統 WPAR 單獨地創建 /usr 和 /opt。全局環境為創建 /usr 和 /opt 文件系統提供了所需的邏輯卷(請參見圖 2)。可以使用下面的命令創建私有的系統 WPAR:mkwpar -l -N interface=en0 address="IP" netmask=255.255.255.192
broadcast=9.2.60.255 -n "wpar name having DNS entry"
在創建 DB2 實例時,需要為系統 WPAR 指定 IP 和 DNS 名稱,以便 DB2 對其進行探測。下圖顯示了全局環境和私有的系統 WPAR 之間的文件系統映射。
圖 2. 全局環境中的私有 WPAR
私有 WPAR 中的文件系統
# lsfs|grep private_wpar
/dev/fslv04 -- /wpars/private_wpar jfs2
/dev/fslv05 -- /wpars/private_wpar/home jfs2
/dev/fslv06 -- /wpars/private_wpar/opt jfs2
/proc -- /wpars/private_wpar/proc namefs
/dev/fslv07 -- /wpars/private_wpar/tmp jfs2
/dev/fslv08 -- /wpars/private_wpar/usr jfs2
/dev/fslv09 -- /wpars/private_wpar/var jfs2
使用遠程或 NFS 導出文件系統的系統 WPAR
在這種 WPAR 中,所有的文件系統都來自於 NFS 服務器,該服務器使用 mknfsexp 命令導出文件系統。下圖顯示了全局環境和遠程的系統 WPAR 之間的文件系統映射。
圖 3. 全局環境中的遠程 WPAR
遠程 WPAR 中的文件系統
# lsfs|grep remote_wpar
/remote_wpar janet01 /wpars/remote_wpar nfs
/remote_wpar/opt janet01 /wpars/remote_wpar/opt nfs
/proc -- /wpars/remote_wpar/proc namefs
/remote_wpar/tmp janet01 /wpars/remote_wpar/tmp nfs
/remote_wpar/usr janet01 /wpars/remote_wpar/usr nfs
/remote_wpar/var janet01 /wpars/remote_wpar/var nfs
可以使用下面的命令創建遠程 WPAR:
/usr/sbin/mkwpar -A -F -s -r -n remote_wpar -f remote_wpar.cf
remote_wpar.cf 是用於創建 remote_wpar WPAR 的規范文件。
remote_wpar.cf 中包含以下條目:
#cat remote_wpar.cf
network:
interface = en0
netmask = 255.255.255.192
address = 9.2.65.91
general:
privateusr=yes
mount:
dev = /remote_wpar
directory = /
vfs = nfs
host = janet01
mount:
dev = /remote_wpar/usr
directory = /usr
vfs = nfs
host = janet01
mount:
dev = /remote_wpar/opt
directory = /opt
vfs = nfs
host = janet01
mount:
dev = /remote_wpar/var
directory = /var
vfs = nfs
host = janet01
mount:
dev = /remote_wpar/home
directory = /home
vfs = nfs
host = janet01
mount:
dev = /remote_wpar/tmp
directory = /tmp
vfs = nfs
host = janet01
這裡,janet01 是提供遠程系統 WPAR 所需文件系統的 NFS 服務器。
下面的示例介紹了如何在 NFS 服務器中創建並導出 /remote_wpar/* 文件系統:
文件系統的創建
crfs -v jfs2 -g ${VG} -m /remote_wpar -A yes -a size=${SZ}
crfs -v jfs2 -g ${VG} -m /remote_wpar/usr -A yes -a size=${SZ}
crfs -v jfs2 -g ${VG} -m /remote_wpar/opt -A yes -a size=${SZ}
crfs -v jfs2 -g ${VG} -m /remote_wpar/var -A yes -a size=${SZ}
crfs -v jfs2 -g ${VG} -m /remote_wpar/home -A yes -a size=${SZ}
crfs -v jfs2 -g ${VG} -m /remote_wpar/tmp -A yes -a size=${SZ}
這裡的 VG 代表卷組 (Volume Group),而 SZ 則表示文件系統的大小。
這個示例介紹了如何導出文件系統:
mknfsexp -d /remote_wpar -B -a 0 -v 3 -t rw -r *.ibm.com
mknfsexp -d /remote_wpar/usr -B -a 0 -v 3 -t rw -r *.ibm.com
mknfsexp -d /remote_wpar/opt -B -a 0 -v 3 -t rw -r *.ibm.com
mknfsexp -d /remote_wpar/var -B -a 0 -v 3 -t rw -r *.ibm.com
mknfsexp -d /remote_wpar/home -B -a 0 -v 3 -t rw -r *.ibm.com
mknfsexp -d /remote_wpar/tmp -B -a 0 -v 3 -t rw -r *.ibm.com
前面的步驟是設置各類系統 WPAR 所必需的。要創建 DB2 環境,您可以使用這三種類型中的任何一種。以下給出了一些可能的配置:
要在缺省目錄(/opt 是缺省目錄)中安裝 DB2,您需要一個私有系統 WPAR 或者遠程系統 WPAR。
要在某非缺省位置安裝 DB2,您可以使用前面介紹的系統 WPAR 類型中的任何一種。
在系統 WPAR 中安裝和設置 DB2:
下面的內容介紹了在系統 WPAR 中安裝和配置 DB2 的方法:
創建一個系統 WPAR(私有的或者遠程的)。DB2 需要較大的 /usr、/opt 和 /home 目錄。如果出現故障,您可能需要增加它們的大小。
啟動系統 WPAR: startwpar remote_wpar
使用 clogin 或者 telnet 登錄到 remote_wpar。
安裝 DB2。這與您在常規的 AIX 計算機(全局環境)中所進行的安裝操作非常類似。
復制 DB2 映像或者掛載一個包含可用 DB2 映像的目錄。 mount "ImageServer":/DB2Images /mnt on your System WPAR
cd /mnt/"DB2 path"
運行 db2_install(這裡,我們需要選擇 DB2 的安裝路徑。如果您希望將其安裝到非缺省位置,那麼可以更改這個路徑。)
列出所有的 DB2 文件集。lslpp -l |grep db2 lists
創建一個 DB2 實例,以便再次確認該安裝。mkuser test
mkuser testfc
/DB2 Installation Dir/instance/db2icrt -a SERVER -s ESE -w 64 -u testfc test
現在,系統 WPAR 中的 DB2 已經准備就緒,可以用來運行 DB2 應用程序了。
這個部分描述了在系統 WPAR 中設置 DB2。下面的部分將介紹如何在應用程序 WPAR 中設置 DB2。
在應用程序 WPAR 中安裝和設置 DB2
如前所述,應用程序 WPAR 僅使用來自全局環境的所有文件系統。
在全局環境中安裝 DB2。在這個階段中,不需要創建 DB2 實例。
使用 wparexec 命令創建應用程序 WPAR,並將 createdb2instance 腳本作為啟動腳本傳遞給 wparexec 命令:wparexec -N interface=en0 address="IP" netmask=255.255.255.192 broadcast=9.2.60.255
-n "App WPAR name having DNS entry" /"absolutePath"/createdb2instance
createdb2instance 是用於創建 DB2 實例的腳本。我們需要以這種方式創建 DB2 實例,以便 DB2 能夠從當前執行環境(正是應用程序 WPAR 環境)中獲得 IP 和主機名。
#cat createdb2instance:
mkuser test
mkuser testfc
/"DB2 Installation Dir"//instance/db2icrt -a SERVER -s ese -w 64 -u testfc test
在執行 createdb2instance 腳本之後,我們可以得出:
應用程序 WPAR 已存在。
DB2 實例(在這個示例中為 test)已存在於全局文件系統中。
DB2 實例(即 test)內部包含了應用程序 WPAR 的 IP 和 DNS 名稱。
在這個階段中,我們在全局環境中安裝了 DB2,以及具有應用程序 WPAR 引用的 DB2 實例。
現在,我們可以在應用程序 WPAR 及其 DB2 實例中啟動我們的應用程序了。wparexec -N interface=en0 address="IP" netmask=255.255.255.192 broadcast=9.2.60.255
-n "App WPAR having DNS entry" /"absolutePath"/somedb2application
這裡的 somedb2application 是一個 DB2 應用程序,它使用在應用程序 WPAR 中創建的 DB2 實例。
結束語
本文介紹了如何創建各種類型的 WPAR,以及如何在 WPAR 中安裝 DB2。本文所提供的說明和技巧可以在安裝和配置 DB2、Oracle、IDS、WebSphere Application Server 和 SAP 等各種產品時為 WPAR 用戶提供幫助。
以下是使用 WPAR 和 DB2 時需要注意的幾個重點內容:
WPAR 名稱應該具有 IP 以及相關聯的 DNS 條目
具有 WPAR IP 和 DNS 名稱的 /etc/hosts 條目
選擇用於 DB2 安裝的系統 WPAR 的類型