文章更新紀錄 Update History
本篇文章內容經過更新後重新發佈。
(原標題為: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 伺服器的系統軟體升級到指定的版本,使用這個方法進行升級過程大約只需要五分鐘,最長的停機影響長度應該不會超過半小時。

使用 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 主機,進入 組態 → 安全性設定檔 → 服務 → 內容… 。

ACR3001

Step 02. 將 SSH 服務啟動。

ACR3002

Step 03. 使用「root」或其他有足夠權限的帳戶,透過 PuTTY 等 SSH 軟體連上 ESXi 主機備用。

ACR3003

Step 04. 將下載好的 「VMware-ESXi-6.0.0-2494585-depot.zip (或是其他 Offline Depot 檔案)」 上傳至 ESXi 主機的資料存放區 (請記住檔案放置的路徑)。

ACR3004

Step 05. 關閉所有虛擬主機,將 ESXi 主機設定為「維護模式」(Maintenance Mode)。

若未設為維護模式,很有可能會發生升級無法成功套用的情形。

Step 06. 檢查升級套件包 (Offline Bundle) 是否正確

執行下列指令:
esxcli software sources profile list -d <Offline Bundle 的所在路徑>

ACR3005

若離線套件正確無誤,應該會如上圖顯示出數個 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 名稱 >

ACR3006

注意:在還沒有完成下一步驟之前,請不要重新啟動 ESXi 伺服器!

Step 07. 如果需要的話,安裝必要的驅動程式

請回想你當初安裝 ESXi 伺服器時,有沒有在當時的安裝光碟中整合必要的驅動程式,並檢查上一個指令執行完成後回傳的 VIBs Removed 中是否有相關的驅動程式包被移除,如果有請務必在此時透過 esxcli software vib install 指令重新安裝一次,否則重開機後將會造成系統失效,無法正常運作 (可能是不能開機,或是遠端管理介面失效)。

※ 儘管本篇文章使用的 update 指令理論上應該是不會清除外加驅動程式的,但還是請再三確認,此外如果是跨越大版本的升級 (例如 ESXi 5.1 -> 5.5),請務必留意附加驅動程式的版本是否與新的系統版本相容,如果需要升級的話請在重新啟動伺服器之前進行。

常見的必要驅動程式有:

  1. 特殊的網路卡驅動程式
  2. 主機板內建 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 的方法,停機時間會相對較短而且比較不會出錯!

  • KW1px

    您好 我想藉這個板塊發問比較方便
    我最近嘗試配置一台 win server 2012r2,上面有雙網卡 一張對內、一張對外
    透過 NAT 的方式轉發 IPV4,將網際網路從對外網卡 NAT 到對內網卡 給區域網路內的 54台電腦使用(IP配發使用DHCP)

    但是我發現這樣一來區域網路內的電腦就無法獲取IPV6的位址了,IPV6我目前並沒有做多餘設置(不太會)
    請問這種情形下我該如何配置IPV6?

    感謝幫助