網管人雜誌
本文刊載於 網管人雜誌第 82 期 - 2012 年 11 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。文章目錄
1、前言2、實作環境
3、安全性更新方式
4、ESXi Console(Console 互動更新)
5、了解何謂 VIB 及 Depot
6、下載最新發佈安全性更新檔案
7、ESXi Shell 本機更新
設定 ESXi Host 進入維護模式
ESXi Host 更新前版本檢查
執行 ESXi Host 更新作業
8、結語
1、前言
雖然虛擬化技術的 Hypervisor 非常精簡,然而只要是程式開發所撰寫出來的軟體產物,就或多或少會有 臭蟲(Bugs)、安全性更新(Security)、重大修補(Critical)…等更新需要修正或修補,並且在最新 VMware vSphere ESXi 5.0 虛擬化技術平台當中,VMware 官方也正式宣佈將含有 COS(Console OS)也就是採用 Redhat Enterprise Linux 5.2 作業系統(Kernel 2.6.x)所開發改寫而成的 Hypervisor,宣佈使其正式走入歷史(也就是日後僅會發佈 ESXi Hypervisor)。採用 ESXi Hypervisor 虛擬化平台之後,除了因為將 COS(Console OS)移除使得整體空間佔用降低之外(ESX 約 2GB、ESXi 約 150MB),以及在相關安全性更新數量也減少許多的同時,在功能性上也增加不少,如圖 1 所示您可以看到舊版 ESX/ESXi 4.1 與新版 ESXi 5.0 的功能性比較表(詳細功能比較資訊請參考 VMware KB-2005377),ESX 作得到的功能 ESXi 都可以達成甚至更多。
圖1、VMware vSphere ESX/ESXi 4.1 與 ESXi 5.0 功能比較表
2、實作環境
- 虛擬化技術平台: VMware vSphere ESXi 5.0.0
- 連線管理軟體: VMware vSphere Client 5.0.0
- VMware 官網更新檔案更新: VMware Download Patches
3、安全性更新方式
本篇實作將會採用二種更新方式來為 ESXi 5.0 Host 安裝安全性更新檔案,首先為最簡單的方式也就是下載最新版本的 ISO 映象檔,插入至 ESXi 5.0 主機光碟機後在 Console 端直接進行更新,或者您也可以採用 ESXi Shell(esxcli)指令方式(已不支援舊版的 esxupdate 指令),將更新檔進行下載後手動上傳到 ESXi Host 的儲存資源中,確定相關資訊無誤便可進行安裝,以下為這二種更新方式整體更新流程運作說明:
更新方式一、ESXi Console(Console 互動更新)
- 下載最新版本 ISO 映象檔並燒錄成安裝光碟。
- 將運作中的 VM 虛擬主機關機或遷移至別台 ESXi Host 上。
- 採用管理者帳號及密碼登入 ESXi Host Console之後重新啟動主機。
- 在 ESXi Console 端採用更新光碟進行互動式更新作業,完成後再次重新啟動主機。
- 檢查 ESXi Host 的 Build Number 號碼確認是否更新成功。
- ESXi Host 離開維護模式後將 VM 虛擬主機啟動上線運作。
更新方式二、ESXi Shell(本機更新)
- 透過 vSphere Client 手動上傳更新檔案(.zip 不需解壓縮)至 ESXi Host 儲存資源。
- 使用 vSphere Client 或 esxcli 指令設定 ESXi Host 進入維護模式。
- 使用 ESXi Host Shell 或 SSH 遠端連線檢查 Depot 更新檔案資訊。
- 手動安裝 Depot 更新檔案之後將 ESXi Host 重新啟動以套用生效。
- 開啟 ESXi Host Shell 或 SSH 遠端連線,檢查 ESXi Host 的 Build Number 號碼及相關資訊確認更新是否成功。
- ESXi Host 離開維護模式後將 VM 虛擬主機啟動上線運作。
4、ESXi Console(Console 互動更新)
請至 VMware 官網下載最新版本更新,目前最新版本更新為 Update01(類似於 Windows 的 Service Pack),請將該 ISO 映象檔下載後燒錄成更新光碟。
在進行更新以前請記得將其上所運作的 VM 虛擬主機進行關機,或者遷移到其它台 ESXi Host 上繼續運作,因為執行 Console 互動更新前會重新啟動主機一次,並且在執行互動更新完成之後也將會重新啟動主機一次。
請將含有 Update01 的更新光碟插入至欲更新的 ESXi 5.0 Host 光碟機中,接著於 DCUI(Direct Console User Interface)畫面中按下「F12」鍵後輸入管理者帳號及密碼,然後按下「F11」鍵重新啟動主機(如圖 2 所示)。
圖2、於 ESXi DCUI 畫面按下 F11 鍵重新啟動主機
請確認 BIOS 已設定採用 CD/DVD 光碟機開機,接著在更新程序當中依畫面指示進行互動更新操作,您會看到更新程序偵測到目前光碟片中的版本相較於 ESXi Host 硬碟中的版本較新,因此便會出現詢問視窗,詢問您是否要更新(升級)或重新安裝,請選擇「Upgrade ESXi, preserve VMFS datastore」項目即可(如圖 3 所示),當更新程序執行完畢後系統會提示您必須要重新啟動主機以套用生效(請記得退出更新光碟片)。
圖3、選擇 Upgrade ESXi, preserve VMFS datastore 項目進行更新
當 ESXi 虛擬化平台重新啟動之後,您可以在 DCUI 畫面中輕易看到 VMKernel Release Build 號碼已經更新升級了,由原本的 469512 更新升級至 623860(如圖 4 所示)。
圖4、重新啟動後可發現 VMKernel Release Build 號碼已經更新升級了
5、了解何謂 VIB 及 Depot
在介紹另外另一種更新方式為 ESXi Host 安裝安全性更新以前,先了解一下關於虛擬化平台更新的二個技術名詞「VIB」及「Depot」:- VIB: 為 VMware Installation Bundle 的縮寫,其內容包括有 VMware 以及其它如伺服器硬體廠商所開發出來的 vSphere ESXi 應用程式或軟體,此更新檔案內容中將含有 硬體驅動程式(Drivers)、硬體運作狀態監控(CIM),以及為 ESXi Host 進行功能增強及臭蟲修正(Bugs Fix)…等功能加強或漏洞修補,其檔案的副檔名為 .vib 也就是針對特定的更新項目。
- Depot: 包含所有 VIB 軟體或應用程式以及相關索引檔案及配置檔案…等的軟體組合包,可以透過 HTTP 協定或者打包後的 zip 壓縮檔案進行安裝作業。
簡單來說,您可以將 VIB 軟體或應用程式,視為是幫 ESXi Host 虛擬化平台所安裝的 驅動程式、應用程式、硬體監控…等套件包,VMware 官方將 VIB 軟體規劃為四種驗證等級,您其實可以把 VIB 套件視同 Microsoft 為了 Windows 作業系統的驅動程式進行認證一樣的道理,這樣的軟體驗證等級措施都是為了要保持運作平台的穩定性而設計的。
在預設的情況下 VIB 以及 ESXi Host 都有其驗證等級,要將 VIB 安裝至 ESXi Host 則二者的驗證等級至少必須相同才行,例如 ESXi Host 驗證等級為 PartnerSupported 時,則無法安裝驗證等級為 CommunitySupported 的 VIB 軟體,當然您可以手動設定變更 ESXi Host 的驗證等級(VIB 套件則無法變更),以便手動安裝所取得的 VIB 軟體,不過若因此而導致 ESXi Host 平台運作不穩定時則必須自行負責(不在 VMware 原廠的保固範圍內),因此VMware 官方也不建議您輕易變更 ESXi Host 的驗證等級,以下為四種驗證等級及說明:(等級由最高至最低)
- VMwareCertified: 此等級的 VIB 套件受到最嚴格的驗證要求,並且通過 VMware 官方全面的反覆測試,目前只有 IOVP 驅動程式以此等級進行發佈,若安裝後發生問題 VMware 官方將會提供全面的技術支援。
- VMwareAccepted: 此等級的 VIB 套件通過驗證要求,但是並未針對每種功能進行詳細且全面的測試,簡單來說是 VMware 的合作夥伴所開發及概略測試之後,便送交 VMware 官方進行驗證後通過的等級,目前只有硬體偵測機制 CIM 以及儲存設備存取機制 PSA 等軟體以此等級進行發佈,若安裝後發生問題可以向 VMware 官方反應,他們會立即將相關問題轉交給合作夥伴以提供技術支援。
- PartnerSupported: 此等級的 VIB 套件是由 VMware 信任的合作夥伴所開發及測試,但 VMware 官方尚未驗證測試結果,通常合作夥伴要在 VMware 平台中採用新式或非主流的技術時便會採用此驗證等級進行發佈,例如 Infiniband、ATAoE、SSD…等應用軟體或驅動便是以此等級進行發佈,若安裝之後發生問題可以向 VMware 官方反應,他們會立即將問題轉交給合作夥伴以提供技術支援。
- CommunitySupported: 此等級的 VIB 套件是由 VMware 社群中的熱心人士所製作推出,尚未通過任何 VMware 官方驗證及測試步驟,若是安裝之後發生任何問題 VMware 官方將不會提供任何技術支援。
6、下載最新發佈安全性更新檔案
請至 VMware 官方網站下載相關更新,您可以依照虛擬化平台類型(by Product)或是依照發行名稱(Release Name)及建立號碼(Build Number)進行搜尋的動作,本篇實作中以採用虛擬化平台類型進行搜尋,請於「Search by Product」區塊中先選擇虛擬化平台類型為「ESXi(Embedded and Installable)」版本為「5.0.0」,後續欄位中第一個下拉式選單為針對種類進行下載共三種項目可供選擇分別是 安全性更新(Security)、臭蟲修正(Bug Fix)、增強功能(Enhancement),而第二個下拉式選單則是該種類的等級,一共有四種可供選擇分別是 緊急(Critical)、重要(Important)、中等(Moderate)、低(Low),選擇完成後即可按下「搜尋(Search)」鍵,此時網頁便會顯示適合您平台版本以及剛才所選擇的相關更新項目。
圖5、選擇欲下載更新的類型及重要性
目前 ESXi 5.0 虛擬化平台中所發佈的安全性更新(Security Patch)中,距離目前最近的大版本更新為 Update01(類似 Windows 的 Service Pack),其它則是各別的更新項目,由於安裝方式是相同的因此本文將以 VMware 官方所發佈的最新更新 Update01 為例進行實作,請勾選需要下載的更新項目,在此頁面中您可以看到有關於此更新的說明,例如 針對此更新的描述(Description)、詳細說明內容(VMware KB)、類別(Category)、重要程度(Severity),本文中 VMware 官方所發佈最新的更新資訊如下:
- 檔案名稱: update-from-esxi5.0-5.0_update01.zip
- 檔案大小: 590.5 MB
- Build Number: 623860
- 發行日期: 2012 年 3 月 15日
- 類別: 相關更新項目組合包有 臭蟲修正(Bug Fix)、功能加強(Enhancement)、安全性更新(Security)
- 影響程度: 分別是 重大更新(Critical)、重要(Important)
圖6、下載最新發佈的大版本安全性更新 Update01
7、ESXi Shell 本機更新
請使用 vSphere Client 登入至 ESXi 5.0 主機(目前 Build Number 為 469512),依序點選「Summary >> Resources >> Storage >> datastore1」項目之後,接著按下滑鼠右鍵選擇「Browse Datastore」項目,以進入 ESXi Host 的儲存資源 Datastore 管理視窗。
接著於 Datastore Browser 視窗中點擊上傳圖示(綠色向上箭頭圖示),點選「Upload File」項目後選擇存放於 vSphere Client主機中的更新檔案「update-from-esxi5.0-5.0_update01.zip」,確定後將會開始上傳更新檔案至 ESXi Host 平台儲存資源中。
圖7、上傳 Update01 更新檔案至 ESXi Host Datastore
若您要在 ESXi Host 的 Console 上以指令執行稍後的資訊檢查以及安裝更新動作的話,則請確定已經啟動 ESXi Shell 服務(如圖 8 所示)。
圖8、於 DCUI 介面啟動 ESXi Shell 功能
若是欲採用 putty 工具遠端連線至 ESXi Host 執行安裝動作的話則請確定已經啟動 SSH 遠端管理服務(如圖 9 所示)。
圖9、於 DCUI 介面啟動 SSH 遠端管理功能
接著使用查詢指令「esxcli software sources vib list --depot」配合剛才上傳的更新檔案路徑,即可查詢此軟體更新組合包內所有 VIB 的驗證等級,接著使用指令「esxcli software acceptance get」來查詢 ESXi Host 的驗證等級,如圖 10 所示可以看到此最新發佈的更新檔案中 VIB 的驗證等級為 VMwareCertified,其驗證等級大於 ESXi Host 預設的 PartnerSupported 等級,因此後續您將可以放心能夠安全無誤的進行安裝作業。
圖10、查詢 Depot 及 ESXi Host 的預設驗證等級
接著查詢 Depot 中 VIB 於安裝前 ESXi Host 主機是否需要進入維護模式(通常都需要!),以及安裝 VIB 套件之後是否需要重新啟動 ESXi 主機。請使用指令「esxcli software sources vib get --depot」進行查詢,即可看到每個 VIB 套件的詳細資訊,如圖11 所示可以看到安裝 Intel Oplin 10G 網路卡驅動時 ESXi Host 必須進入維護模式才行(Maintenance Mode Required: True)。
圖11、查詢 Depot 內 VIB 的詳細資訊
設定 ESXi Host 進入維護模式
其實安裝大部份的 Depot 時通常 ESXi Host 皆需要進入維護模式,因此請將 ESXi Host 上運作的 VM 虛擬主機關機,或者遷移到別台 ESXi Host 之上,並且設定 ESXi Host 進入維護模式,請使用 vSphere Client 登入 ESXi Host 後設定為「進入維護模式(Enter Maintenance Mode)」項目,使 ESXi Host 進入維護模式。或是直接透過 SSH 遠端管理服務,利用類似 putty的 SSH Client 工具以 SSH 協定登入 ESXi Host 後,執行指令使 ESXi Host 進入維護模式,執行指令後確認維護模式的欄位是否為 true(false 則為未進入維護模式)。
圖12、以 vim-cmd 指令設定 ESXi Host 進入維護模式
ESXi Host 更新前版本檢查
您可以由 vSphere Client 或 Console 畫面查看目前 ESXi Host 平台的 Build Number(目前為 469512),或者於 Shell 端執行「vmware -lv」 及 「esxcli software vib list」指令,以查看目前 ESXi Host 上版本資訊以及已經安裝了哪些 VIB 套件,以便等一下安裝之後用於比對更新或新安裝哪些 VIB 套件。
圖13、查看目前系統版本號碼以及已安裝的 VIB 清單
執行 ESXi Host 更新作業
相關資訊及事宜確認無誤之後,接著便可以放心使用指令「esxcli software vib update --depot」來為 ESXi 虛擬化平台安裝更新檔案,安裝之後您將會得到相關更新資訊例如 安裝後是否需要重新啟動 ESXi 主機,以及 安裝/移除/略過 哪些 VIBs 檔案後確認相關資訊完成之後,您可以於 Console 直接執行指令「reboot」以命令 ESXi Host 立刻重新啟動。
- Message: 安裝成功!! 但是系統必須重新啟動才會套用變更及生效。
- Reboot Required: 必須重新啟動 ESXi Host,才能套用生效。
- VIBs Installed: 顯示安裝的 VIB 檔案名稱。
- VIBs Removed: 顯示移除的 VIB 檔案名稱。
- VIBs Skipped: 顯示略過的VIB 檔案名稱(不必移除或更新)。
圖14、執行安裝更新檔案以及重新啟動 ESXi Host 主機
當 ESXi Host 重新啟動完成之後,其實於 Console 畫面便可看到 Build Number 已經更新為 623860(更新前為 469512),當然使用 vSphere Client 登入之後也能明顯看到版本號碼已經更新升級了,若無法登入 ESXi Host 的話則表示您的 vSphere Client 版本太舊,也請執行重新安裝 vSphere Client 以更新版本之後重新管理 ESXi Host。
圖15、ESXi Host 更新後即可看到 Build Number 已經更新
接著再次使用 ESXi Shell 或 SSH 遠端登入後,執行「vmware -lv、esxcli software vib list」相關指令,來查詢 ESXi Host 及更新的 VIB 資訊,以及查詢「/var/log/esxupdate.log」日誌檔內容,以了解 ESXi patch 及 update 的詳細資訊。
圖16、指令檢查 Build Number 資訊以及更新的 VIB 清單
確定 ESXi Host 更新 VIB 套件完成且 Build Number 也更新之後,請使用 vSphere Client 登入ESXi Host選擇「Exit Maintenance Mode」項目,或者使用「vim-cmd hostsvc/maintenance_mode_exit」指令,使 ESXi Host 離開維護模式。最後則建議您在將 VM 虛擬主機啟動(Power On)以前,或者將 VM 虛擬主機遷移至此台 ESXi Host 運作前,先將剛才為了執行本機安裝所啟用的 ESXi Shell、SSH 遠端管理服務都關閉,以提升 ESXi Host 主機整體安全性。
圖17、設定 ESXi Host 離開維護模式
8、結語
虛擬化技術近幾年在企業環境中不斷發酵與成長,雖然虛擬化技術所採用的 Hypervisor 體積精簡核心穩定,但是仍然會有需要進行安全性修補或臭蟲修正的更新動作,不過虛擬化平台上承載著為數眾多的 VM 虛擬主機,並且運作著企業營運所需的相關服務,因此虛擬化平台的運作穩定與否關系重大。筆者透過這二篇文章實作及討論如何為 VMware vSphere 舊版的 ESX/ESXi 4.1,以及最新發行的 ESXi 5.0 虛擬化平台進行更新作業,並且都採用內建的 esxupdate 及 esxcli 指令來簡單完成安裝作業,而不用透過額外安裝的 vSphere Update Manager 整合工具,或者是額外安裝指令工具集 vSphere CLI、PowerCLI,因此您也可以使用此更新方式針對免費版本的 VMware vSphere Hypervisor 進行更新作業。