第一種方法需要管理員手工在 NIM Master 端創建相應的 NIM 資源,使用該資源完成 VIOS 系統的 NIM 更新;第二種方法結合使用系統管理軟件 IBM Systems Director 管理界面,完成 VIOS 更新。
對於 Power 系統管理員來說,掌握這兩種方法,靈活完成 VIOS 的升級和更新,可以更有效率地管理維護環境中的 VIOS 系統。
下面將通過實例對這兩種方法進行介紹和比較,以幫助管理員了解和掌握這兩種 VIOS 更新的基本技巧,根據自己的管理需要選取合適的方法完成 VIOS 系統的更新。
VIOS 的更新介紹
常用的 VIOS 的更新,IBM 將會定期發布在IBM Support Fix Central 上,用戶可以根據使用的 VIOS 版本信息去下載相應的更新。這些更新按類型可以分為修訂包(Fix Pack)、服務包(Service Pack)和臨時更新包(iFix,Interim Fix)。
Fix Pack 是一些大版本的更新,包括產品的加強,新功能和一些 Fix 組合並經過嚴格的測試安裝包。
Service Pack 是服務更新包,是在 Fix Pack 之間的針對特定 Fix Pack 普遍的、關鍵問題的 Fix 而制作的更新包;
Interim Fix 是指臨時性的關鍵問題的緊急補丁,只能應用於特定的版本。
傳統的 VIOS 更新方法
傳統的 VIOS 更新,用戶通常需要把更新包放在 VIOS 系統(或者使用 NFS 把更新包 Mount 到 VIOS 系統),然後使用 VIOS 自帶的命令 updateios 完成對 VIOS 本身的更新。使用的具體命令如下。
$updateios -accept -install –dev <Path_Of_Update_In_VIOS>
其中,Path_Of_Update_In_VIOS 是更新包放在 VIOS 系統中的路徑。
這種方法要求管理員登錄 VIOS 系統執行相應的升級更新命令,對於具有大量 Power 服務器的數據中心,大量的 VIOS 系統需要定期更新,必然要消耗大量的時間和精力,顯然不是一個可行的方法。
考慮到 VIOS 本身也是一個特殊的 AIX 系統,而這些更新包本身可以通過在 NIM Master 上創建 lpp_resource 資源,通過 NIM Master 進行更新安裝。
下面通過一個實例來看看如何使用 NIM Master 完成 VIOS 的更新。在本例中,我們將會使用 NIM Master 更新 VIOS 系統版本 2.2.1.0 到 2.2.1.4。
使用 NIM Master 手工完成 VIOS 的更新
要完成 VIOS 2.2.1.4 的更新,實際上就是要維護一個 lpp_resource 資源,當任何 VIOS 的更新包發布時,把這個新的更新包添加到已有的 lpp_resource 中,從而通過這個更新後的 lpp_resource 資源對 VIOS 系統進行更新。
所以,對於用戶來說,首要的任務就是在 NIM Master 創建一個初始的 lpp_resource 資源,這一工作通常可以在安裝第一個 VIOS 版本時完成。
使用 AIX DVD Image 創建 lpp_resource
理論上,我們應該使用 VIOS 2.2.1.0 的 DVD 安裝光盤,通過 NIM 命令來生成 lpp_resource 資源,但是在創建過程中,我們一般會遇到下面的錯誤。
(1) root @ xnw3056: : /VIOS/cd1/usr/sys/inst.images # nim -o define -t lpp_source -a source=/VIOS/cd1 -a server=master -a \ location=/export/nim/VIO2210/VIO2210lpp vio2210lpp Preparing to copy install images (this will take several minutes)... …. Now checking for missing install images... warning: 0042-265 c_mk_lpp_source: The image source "/VIOS/cd1" that was used to define the lpp_source is missing one or more of the following from the list of default packages: …. warning: 0042-267 c_mk_lpp_source: The defined lpp_source does not have the "simages" attribute because one or more of the following packages are missing:
上面的錯誤顯示 simages 屬性沒法設置,這就意味著我們沒法使用這個 lpp_resource 去進行 NIM RTE 安裝 LPAR,但這個包實際上是可以用於更新操作的。
但為了避免上面這個問題,我們可以采用另外一種方法來生成 lpp_resource 資源。
根據 VIOS DVD 光盤的第一張內容,我們可以確認 VIOS 2.2.1.0 的 oslevel 信息,由於 VIOS 本身是基於特定 AIX 定制的 Appliance,其實這個 oslevel 也就是它使用的 AIX 的版本信息。
# cat /VIOS/cd1/OSLEVEL
OSLEVEL= 6.1.7.0
從上面的輸出結果,VIOS 2.2.1.0 使用的是 AIX 6.1 TL7 的版本。我們可以使用 AIX 6.1 TL7 的安裝光盤來生成 lpp_resource 資源。同樣 mount 第一張 DVD 安裝光盤到 /VIOS/cd1,使用的命令和上面完全相同,即可創建出 lpp_resource 資源。
(1) root @ xnw3056: : /
# nim -o define -t lpp_source -a source=/VIOS/cd1 -a server=master -a \
location=/export/nim/VIO2210/VIO2210lpp vio2210lpp vio2210lpp
在這個 lpp_resource 資源創建完成之後,在以後的 VIOS 更新包發布之後,我們將對這個 lpp_resource 資源進行修改,使之包含有最新的更新。
基於 Fix Pack 和 Service Pack 包更新 lpp_resource;
當 VIOS 2.2.1.4 發布時,我們可以從IBM Support Fix Central 上下載該更新包,我們命名這個下載包為 vio2214.iso。現在我們開始對原先的 lpp_resource 資源進行更新。
首先,mount 該 ISO 文件到 NIM 文件夾/cd
(1) root @ xnw3056: : /
# loopmount -i 2214.iso -o "-V cdrfs -o ro" -m /cd
第二步,創建 /export/nim/VIO2210/vio2214lpp 文件夾,並且把 /export/nim/VIO2210/VIO2210lpp 的所有內容拷貝到該文件夾下,我們將使用這個文件夾來創建新的vio2214lpp資源。
(0) root @ xnw3056: : /
# ls -la /export/nim/VIO2210/vio2214lpp/
total 16
drwxr-xr-x 5 root system 8192 Aug 14 07:14 .
drwxr-xr-x 5 root system 256 Aug 14 06:58 ..
drwxr-xr-x 3 root system 256 Aug 14 06:58 RPMS
drwxr-xr-x 3 root system 256 Aug 14 06:58 installp
drwxr-xr-x 4 root system 256 Aug 14 06:59 usr
第三步,創建新的 vio2214lpp 資源。
(1) root @ xnw3056: : / \
# nim -o define -t lpp_source -a server=master
-a location=/export/nim/VIO2210/vio2214lpp vio2214lpp
Preparing to copy install images (this will take several minutes)...
Now checking for missing install images...
All required install images have been found. This lpp_source is now ready.
第四步,復制 VIOS 2.2.1.4 更新包所有文件到 /export/nim/VIO2210/vio2214lpp/installp/ppc,並使用 nim 命令行對 vio2214lpp 資源進行更新。
(0) root @ xnw3056: : /export/nim/VIO2210/vio2214lpp/installp/ppc
# cp -rf /cd/* .
如上面命令所示,VIOS 更新包一般都是符合 installp 格式的包的組合,我們要把更新包中所有的文件都復制在 ppc 文件夾下。
然後使用 nim -o update 命令更新一下該 lpp_source 資源,這些更新包將會在該 NIM 資源中得到更新。
(1) root @ xnw3056: : /export/nim/VIO2210/vio2214lpp/installp/ppc
# nim -o update -a packages=all -a source=/export/nim/VIO2210/vio2214lpp vio2214lpp
最後要做的是使用 lppmgr 命令對該資源進行優化,刪掉其中一些重復的包和無用的包,參見下面命令行。
(0) root @ xnw3056: : /export/nim/VIO2210/vio2214lpp/installp/ppc
# nim -o lppmgr -a lppmgr_flags="-bu -x -r -e" vio2214lpp
通過 NIM 命令行實現對 VIOS 進行系統的更新。
在上述 VIOS 2.2.1.4 的 lpp_source 資源創建完成並且更新之後,我們就可以使用 NIM 命令行完成對 VIOS 系統進行更新了。通常,這一工作既可以在 NIM Master 端執行命令完成,也可以在 VIOS 端使用 nimclient 命令行完成。
首先要做的就是把 VIOS 系統加為 NIM Client(客戶機),關於如何添加創建待更新的 VIOS 為 NIM Client,可以在 NIM Master 上使用 smitty nim_mkmac ,如下圖 1 所示,也可以到 VIOS 端使用下面 niminit 命令完成。
(0) root @ xnw3056: : /
# niminit -a master=xnw3056 -a name=ip9-12-29-212 -a connect=nimsh
圖 1. 添加待更新的 VIOS 系統為 NIM 客戶機
然後,我們可以從 NIM Master 上使用命令 smitty nim_task_inst 並選取相應的 lpp_source 資源完成 VIOS 更新,如下圖所示。
圖 2. 對 VIOS 系統通過 NIM Master 進行更新
同樣,上面 VIOS 的更新也可以在 VIOS 端使用下面 NIM Client 的命令操作完成。
通過命令查詢 lpp_source 資源。
xnw3056: : /
# nimclient -l -L ip9-12-29-212 | grep –i vio2214lpp
vio2214lpp lpp_source
把該資源分配給 VIOS 系統。
# nimclient -o allocate -a lpp_source=vio2214lpp
然後,用命令行驗證該資源被正確分配給 VIOS 系統。
# nimclient -l -c resources ip9-12-29-212
vio2214lpp lpp_source
最後,使用命令 nimclient -o cust 安裝 VIOS 更新包到 VIOS 系統,完成更新。
#nimclient -o cust -a lpp_source=vio2214lpp -a fixes=update_all -a accept_licenses=yes
....
DirectorCommonAgent 6.3.0.1 USR APPLY SUCCESS
DirectorCommonAgent 6.3.0.1 ROOT APPLY SUCCESS
installp: * * * A T T E N T I O N ! ! !
Software changes processed during this session require this system
and any of its diskless/dataless clients to be rebooted in order
for the changes to be made effective.
在更新應用到 VIOS 系統之後,系統需要重啟,重啟後進入 VIOS 可以看到該 VIOS 成功升級更新為 VIOS 2.2.1.4 版本。
# reboot
$ ioslevel
2.2.1.4
查看本欄目更多精彩內容:http://www.bianceng.cn/OS/unix/
實際上,如果管理的 VIOS 系統比較多,並且想要對所有管理的 VIOS 系統進行更新,可以使用 NIM Machine Group 來定義一個 VIOS 系統組,從而對整個 VIOS 系統組進行批量更新。如下命令行,我們對兩個 VIOS 系統創建一個命名為 vio_grp 的組,之後的更新對象可以使用該組批量更新。
(1) root @ xnw3056: : /
# nim -o define -t mac_group -aadd_member=ip9-12-29-212 -aadd_member=ip9-12-29-223 vio_grp
下面介紹的是另外一種 VIOS 更新方法,該方法需要使用到 IBM Systems Director,並且把 VIOS 加入到其管理環境。
使用 IBM Systems Director 完成 VIOS 的更新
在下面例子中,我們使用 IBM Systems Director 完成對另外一個 VIOS 的更新,使其達到最新的 VIOS 2.2.1.4 版本。
配置 System Director 把 VIOS 加入到管理環境
首先,我們需要把 VIOS 添加到 IBM Systems Director 的管理環境,並且對該 VIOS 系統收集庫存,可以用下面命令對 VIOS 系統收集內存。
(1) root @ vip3175: : /opt/ibm/director
# smcli collectinv -i 9.12.29.223 -p "All Inventory"
Inventory collection percentage 0%
Inventory collection percentage 4%
Inventory collection percentage 21%
Inventory collection percentage 80%
Inventory collection percentage 84%
Inventory collection percentage 87%
在系統收集庫存之後,為了完成 VIOS 的更新,我們需要在 Release management -> Updates 上對 Acquire Updates 配置進行一些修改。如圖 3 所示,確保 VIOS 項被選入到搜索的 Update 類型中。
圖 3. 修改 Acquire Updates 配置使得檢查 VIOS 相關更新
另外,盡管一般的 FP,SP,iFIX 的更新,IBM Systems Director 一般不需要用到 NIM Master,但在 VIOS 的 Migration 操作中,NIM Master 是必須的。所以在一些情況下,需要指定 NIM Master,如下圖 4 所示,我們在 Release management -> Updates 頁面 Configure Settings 頁面指定 VIOS Migration 使用的 NIM Master 信息。
圖 4. 為 VIOS 更新指定 NIM Master 系統
使用 IBM Systems Director 完成 VIOS 更新
上面准備工作完成之後,現在可以對 VIOS 系統進行更新了。如下圖 5 所示,右鍵點擊 VIOS 系統,選取 Release management -> Show and Install Updates 菜單,IBM Systems Director 將會自動到 IBM Support Fix Central 上 Checking for Updates,查詢最新的更新信息。
圖 5. 對 VIOS 系統執行 Show and Install Updates 任務
從 Active and Scheduled Jobs 頁面,我們可以看到 Checking for Updates 任務的完成情況,從 Job Log 紅框區域,我們注意到 IBM Systems Director 從網絡上自動搜索到 VIOS 2.2.1.4 的更新。
圖 6. 從 Check for Updates log 看到網上搜到 VIOS 2.2.1.4
同時,從 Show and Install Updates 頁面,可以看到可用的 Updates,選取其中 VIOS 2.2.1.4 更新並點擊 Install 按鈕。
圖 7. 從 Show and Install Updates 頁面選取安裝 VIOS 2.2.1.4
在打開的的安裝向導,使用缺省的選項,注意選取 Restarts 選項使得允許在安裝過程中系統自動重啟。如下圖 8 所示。
圖 8. 從 Install Updates 向導開始安裝 VIOS 2.2.1.4
在向導完成之後,IBM Systems Director 自動啟動一個新的安裝更新的任務,如圖 9,可以在看到 Job Steps 頁面看到具體的安裝步驟。
圖 9. 從 Job Steps 看更新 VIOS 2.2.1.4 的過程
可見,IBM Systems Director 先從 Fix Central 下載 VIOS 2.2.1.4 更新包,並把該更新包傳(Staging)到待更新的 VIOS 系統中,之後開始在 VIOS 端啟動安裝程序開始安裝更新。在安裝完成之後,對 VIOS 系統重新收集庫存,並更新在 IBM Systems Director 數據庫中的版本信息,這樣,整個安裝更新任務成功完成。
上面的更新方法是一種通過 IBM Systems Director 對 VIOS 在線更新的方法,一切下載安裝的工作由 IBM Systems Director 在後台自動完成。但這種方法也有使用的前提,它要求 IBM Systems Director 網絡和更新發布網站 IBM Support Fix Central 能夠正常通訊。
實際上,有些數據中心,由於安全限制,可能存在 IBM Systems Director 網絡和外網不能通訊的情況,這時候,就需要用戶也可以手工到 IBM Support Fix Central 上下載 VIOS 2.2.1.4 更新包,然後采取手工導入的方法進行離線更新。如下圖 10 所示,在 Release management -> Updates –-> Acquire Updates 頁面,用戶需要手工導入(Import)安裝包。
圖 10. 手工導入 VIOS 2.2.1.4 更新包進行 VIOS 更新
除了這一步,其他步驟和在線更新方法一樣,用戶可以方便的實現 VIOS 的離線更新。
需要注意的是,上面的例子是針對一個 VIOS 系統,我們實際上可以對多個 VIOS 系統進行多選,使用相同的步驟完成批量更新。
兩種方法的比較
通過上面的實例,Power 系統管理員可以了解兩種進行 VIOS 系統更新的方法,一種基於 NIM Master 的更新和一種基於 IBM Systems Director 的在線(離線)更新。
兩種方法都可以實現從一個單一控制點,NIM Master 或者 IBM Systems Director,實現單個和批量的 VIOS 更新。使用 NIM Master 的方法,需要 Power 系統管理員了解 NIM Master 的基本配置及其 NIM Master 上 lpp_resource 的資源創建和使用方法,需要了解當前環境中 VIOS 版本信息;而使用 IBM Systems Director 在線更新的方法,雖然管理員不需要去關心當前環境的 VIOS 版本,IBM Systems Director 可以自動通過庫存收集選取合適的更新進行安裝,但仍需要保證外網通信的暢通;另外管理員需要了解 IBM Systems Director 本身的基本使用和環境配置。
總之,這兩種方法孰優孰劣,哪一種更適合您,完全取決於管理的數據中心網絡環境,以及管理員對兩種配置的熟悉程度。
總結