(原標題為:Step-by-step 就地快速升級 ESXi 5.5 / 6.0 RC 至 ESXi 6.0 or 6.x)
上次發佈日期:2015 年 03 月 13 日 11:58
最後更新日期:2016 年 04 月 11 日 17:38
本篇文章的主要內容是如何不使用 ESXi 安裝光碟映像,直接將 ESXi 伺服器的系統軟體升級到指定的版本,使用這個方法進行升級過程大約只需要五分鐘,最長的停機影響長度應該不會超過半小時。
Table of Contents
使用 CLI 命令列介面快速升級
由於我相信絕大多數個人或小型公司都和我一樣沒有使用 vCenter 做統一管理,甚至是根本沒有花大錢購買 vSphere 的授權而是使用免費的 ESXi Hypervisor 部分但因為是伺服器,要到現場使用互動式升級安裝總是麻煩了些,因此本篇提供的是我比較常用的方法。
自行準備 Offline Bundle
這個方法會需要使用到 ESXi 的 Offline Bundle (離線 Depot),截至昨晚為止,請特別注意 ISO Installer Image 與 Offline Depot 的不同,ISO 安裝映像可以拿來透過光碟開機直接進行互動式 (Interactive) 安裝與升級,但不能用來透過 CLI 介面進行快速就地升級。
Offline Bundle 可以到 VMware 官方網站 MyVMware 專區的 Software Update 取得。
Step 01. 使用 vSphere Client 連線到要升級的 ESXi 主機,進入 組態 → 安全性設定檔 → 服務 → 內容… 。
Step 02. 將 SSH 服務啟動。
Step 03. 使用「root」或其他有足夠權限的帳戶,透過 PuTTY 等 SSH 軟體連上 ESXi 主機備用。
Step 04. 將下載好的 「VMware-ESXi-6.0.0-2494585-depot.zip (或是其他 Offline Depot 檔案)」 上傳至 ESXi 主機的資料存放區 (請記住檔案放置的路徑)。
Step 05. 關閉所有虛擬主機,將 ESXi 主機設定為「維護模式」(Maintenance Mode)。
若未設為維護模式,很有可能會發生升級無法成功套用的情形。
Step 06. 檢查升級套件包 (Offline Bundle) 是否正確
執行下列指令:
esxcli software sources profile list -d <Offline Bundle 的所在路徑>
若離線套件正確無誤,應該會如上圖顯示出數個 Profile,請選擇想安裝的版本 (通常是 ESXi-6.0.0-20XXXXXX001-standard 的形式,原則上選日期最近的版本為最新版),並將整個名稱記錄下來。
Step 06. 升級 ESXi 主機
在確定一切正常沒有任何問題之前,請不要進行這一步驟,否則可能導致你的 ESXi 主機發生異常。
執行下列指令:
esxcli software profile update -d <VMware-ESXi-6.0.0-2494585-depot.zip 的所在路徑> -p <上一步驟記錄下來的 Profile 名稱 >
注意:在還沒有完成下一步驟之前,請不要重新啟動 ESXi 伺服器!
Step 07. 如果需要的話,安裝必要的驅動程式
※ 請回想你當初安裝 ESXi 伺服器時,有沒有在當時的安裝光碟中整合必要的驅動程式,並檢查上一個指令執行完成後回傳的 VIBs Removed 中是否有相關的驅動程式包被移除,如果有請務必在此時透過 esxcli software vib install 指令重新安裝一次,否則重開機後將會造成系統失效,無法正常運作 (可能是不能開機,或是遠端管理介面失效)。
※ 儘管本篇文章使用的 update 指令理論上應該是不會清除外加驅動程式的,但還是請再三確認,此外如果是跨越大版本的升級 (例如 ESXi 5.1 -> 5.5),請務必留意附加驅動程式的版本是否與新的系統版本相容,如果需要升級的話請在重新啟動伺服器之前進行。
常見的必要驅動程式有:
- 特殊的網路卡驅動程式
- 主機板內建 AHCI 驅動程式
(如果你是從 ESXi 5.0 升級,要特別注意這一點,因為 5.5 與 6.0 版的 ESXi 移除了大量的 On-board AHCI/RAID 驅動程式!)
Step 08. 重新啟動伺服器
請使用 reboot 指令等方式重新啟動伺服器,重新啟動之後伺服器就會使用新版的 ESXi 軟體運作,關閉維護模式之後就可以恢復正常使用了。
直接從 VMware 取得新版本 ESXi
這個方法其實與前面提及的 CLI 升級方式很接近,主要差異在於 ESXi 檔案的來源不是自行準備的 Offline Bundle,而是直接向 VMware 官方即時下載指定的版本回來安裝。
Part A.
請將前一部份的 Step 06 所用到的指令改成:
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
因為這條指令會列出 VMware 伺服器上提供的所有 ESXi 版本 (包含舊版本),因此如果有必要的話請在後面加上 | grep ESXi-6.0.0 (或其他版本),之後請將想使用的版本之 ProfileName 記錄下來以供下一步驟使用。
Part B.
請將前一部份的 Step 07 所用到的指令改成:
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p <上一步驟記錄下來的 Profile 名稱 >
站長本身使用這個方法的時候蠻常遭遇到整個卡住 (可能是網路問題) 的狀況,遇到這情形唯一的處理方式是直接重新啟動伺服器 (請務必確認是更新失敗,卡住超過半小時以上才重新啟動,否則如果是在更新到一半時強制重啟,伺服器很可能會出問題)。
一般來說站長還是比較建議使用前一部份那種,事先準備好 Offline Bundle 的方法,停機時間會相對較短而且比較不會出錯!