在 ESXi 上安裝 VIB 文件的綜合指南

ESXi 通常會提供預設配置,包括一组標準的驅動程式和軟體工具,這些工具和驅動程式會因 ESXi 版本的不同而有所不同。當運行 ESXi 主機時,您可能需要為已安裝的硬體安裝額外的驅動程式,安裝軟體,或更新軟體部件或驅動程式。在這種情況下,您需要的是在 ESXi 上安裝 VIB 文件。本博客文章涵蓋了 VMware VIB 文件,並解釋了如何安裝和管理它們。

什麼是 VIB?

ESXi 的 VIB(vSphere 安裝束縛)文件是 VMware 用以 分發 ESXi 主機 software 和更新用的軟體包格式。VIB 文件可以包含驅動程式、管理代理、第三方應用程序或修补程式。它們是 ESXi 軟體的建构塊,並用於擴展 ESXi 主機的功能,或用於修补和更新它們。就像 Debian Linux 的安裝包 .deb 文件和 Red Hat Linux 的安裝包 .rpm 文件一樣,.vib 文件是 ESXi 的安裝包。

VIB 包的主要组成部分包括:

  • 描述档文件 定了 VIB 的 metadata,如它的名稱、版本、供應商和接纳等級。描述档以 XML 格式提供。
  • 签章文件 确保 VIB 的完整性和真实性。
  • 載荷文件(s) 包含了將安裝在 ESXi 主機上的實際軟體或驅動程式文件。

VIB 的類型

在 VMware 環境中有多種類型的 VIB 文件:

  • 工具VIBs用於在虛擬機上安裝或更新 VMware 工具。
  • 驅動程式VIBs為 ESXi 主機提供硬體驅動程式,例如網絡或儲存驅動程式。
  • 補丁和更新VIBs用於通過安全性补丁、錯誤修復和新功能來更新 ESXi 作業系統。
  • 應用程序VIBs允許您在 ESXi 主機上安裝第三方的應用程序或管理代理。

接受了等级

VMware 將 VIBs 分類為四個接受等級:

  • VMware 認證:由 VMware 進行測試和認證。
  • VMware 接受:由 VMware 合作伙伴進行測試和接受;部分確認測試可能由 VMware 進行。
  • 夥伴支持:由 VMware 合作伙伴進行測試和支援;VMware 不驗證測試結果。
  • 社區支持:由個人或社區開發者創建,並且不受 VMware 或夥伴的正規支援。

您可以使用命令來檢查接受等級:

esxcli 軟體接受取得

ESXi 8 中 VIB 文件格式的变更

對於 ESXi 8.0 之前的版本,VIB 格式 mostly unchanged. 在 VMware vSphere 8.0 中,開發者引入了影響那些為軟體安裝和 ESXi 配置創建自己 VIB 文件的人的变更。新的 VIB 規範要求在 XML 描述檔中包含 SHA-256 校验和。

VIB 相關物件

存在與 ESXi 相關聯的 VIB 文件相關的物件,可以有效地安裝和管理 ESXi 軟體元件,使過程更加流暢。軟體倉庫和映像設定檔與 VIB 文件有關。讓我們探察它們是什麼。

軟體倉庫

軟體倉庫是一個包含一套 VIB 文件、元數據和映像設定檔的倉庫。有两种類型的軟體倉庫:

  • 在線倉庫 托管在遠端服務器上,通過互聯網進行訪問。VMware 和硬體供應商經常提供包含驅動程式、修補程序和更新內容的在線倉庫。
  • 離線倉庫 是一個包含 VIB 文件和元數據的 ZIP 文件捆绑包。當無法訪問互聯網或者在控制的環境中便利時,可以下載和使用。

軟體倉庫簡化了在 ESXi 主機上管理和部署軟體更新和驅動程式的過程。它們作為獲得安裝和更新必要 VIB 文件的中央來源。

您可以列印出可用軟體倉庫的列表:

esxcli software sources profile list --depot=https://hosted.depot.url/index.xml

映像設定檔

映像設定檔是一套定義 ESXi 主機軟體堆疊的 VIB 文件集合。它指定基礎 ESXi 映像以及任何額外的驅動程式、修 patch 合或更新。映像設定檔用於標準化 ESXi 主機的安裝和配置,確保數據中心內的一致性。

每個映像設定檔都包含以下组件/屬性:

  • 基本映像 – ESXi 的核心軟體
  • 附加 VIB 文件 – 驅動程式、修补程式及第三方軟體
  • 接受等級 指定了對於包含的 VIB 文件的信任等級(例如,VMware 认证、VMware 接受、合作伙伴支持、社区支持)。

要列出映像配置文件中可用的 VIB 文件,您可以使用如下命令:

esxcli software profile get --profile-name=ProfileName

VIB 文件之間的關係

VIB 文件是軟體倉庫和映像配置文件的基础部件。了解它們與 VIB 文件之間的關係至關重要。這有助於減少在 ESXi 上安装 VIB 包時可能出现的錯誤。

倉庫 depot 存儲著描述它们的元數據along with VIB 文件。當您訪問一個軟體倉庫時,您實際上是在訪問一個可以用於安裝、修补或更新 ESXi 主機的 VIB 文件集合。

映像配置文件 image profile 是一個從一個或多個軟體倉庫中選擇出來的精選 VIB 文件集合。它定義了要在 ESXi 主機上安裝的的确切套件VIB,確保主機具有滿足特定運營需求的必需驅動程式、更新和軟體。

VIB 安裝要求

為了正確地在 ESXi 上安裝 VIB 文件,您應該符合以下的 VIB 要求:

  • 確保 VIB 与主機上安装的 ESXi 版本兼容。兼容性資訊通常可在 VIB 文档中或供應商網站上找到。
  • 對於某些 VIB 安装,ESXi 主機可能需要处于维护模式,以防止影響運行中的 VM 並允許系統更改。
  • 從可信且已驗證的來源獲得 VIB,以避免安全风险。VIB 必須符合或超過主機的接受等級(VMwareCertified、VMwareAccepted、PartnerSupported、CommunitySupported)。 accept level 如有必要可進行調整。
  • 在 ESXi 主機上啟用 SSH 以允許遠程命令行访问。通過 ESXi 網絡接口或 DCUI (直接控制台用戶介面)啟用 SSH。
  • 確保 VIB 所需的任何依賴关系已經在仓库中安装或可用。检查主機上现有 VIB 之間的衝突。在進行安装之前解決任何衝突。
  • 驗證 ESXi 主機上有足夠的磁盤空間來容納新 VIB。
  • 備份 ESXi 主機配置,以防安装過程中出现问题。此操作的基本命令是 vim-cmd hostsvc/firmware/backup_config

如何安装 VIB 包

讓我們在 ESXi 上安装 VIB 文件並概述步驟。首先,我們覆盖安装 VIB 的一般步驟,然後再介紹特定的安装示例。

  1. 在 ESXi 上啟用 SSH。
    • 要在 VMware Host Client 的網頁介面中啟用 SSH 存取,請前往 Host> 動作 > 服務 > 啟用安全外壳 (SSH)
    • 要在 DCUI 中啟用遠端 SSH 存取,請前往 解決問題選項 > 啟用 SSH

  2. 上傳 .vib 文件或包含 .vib 文件的 .zip 存档至 ESXi 主機的數據存儲。您可以通過 SSH 上的 SFTP 或 SCP 客戶端,或者通過 VMware Host Client 和 VMware vSphere Client 的網絡接口來進行此操作。

    要在 VMware Host Client 中上傳 .vib 文件,請前往 數據存儲 > 選擇您的數據存儲 > 數據存儲瀏覽器,轉移到 特定目錄,並點擊 上傳。在這個示例中,我們將壓縮的 VIB 文件上傳至 /vmfs/volumes/datastore50/vib。您可以將 .zip 存档和 .vib 文件上傳到共享數據存儲,以便於在多個 ESXi 主機上安裝 VIB 包。

  3. 使用 SSH 客戶端連接到 ESXi 主機。在 Windows 系統中,您可以使用 PuTTY。在 Linux 系統中,您可以使用如下的命令:

    ssh esxi_ip_address

    在我們的案例中,命令為:

    ssh 192.168.101.31

  4. 查看ESXi主機上已安裝哪些VIB包包:

    esxcli software vib list

您可以從硬體供應商的網站或VMware網站上下載所需的VIB文件。VIB包包往往以ZIP壓縮檔提供,您可以使用ZIP壓縮檔來安裝VIB。

示例1:安裝軟體

讓我們探求生動的範例,並在運行ESXi的PowerEdge服務器上安裝DELL提供的iDRAC服務模組。

雖然不是所有包包都需要這樣,建議將ESXi主機進入維護模式。

  1. 如果VIB包包需要維護模式,使用以下命令:

    vim-cmd hostsvc/maintenance_mode_enter

    您可以在VMware vSphere Client或VMware Host Client的網頁介面將ESXi主機進入維護模式。

    注意:在這個示例中使用的iDRAC服務模組包包不需要使用維護模式和ESXi重新開機。

  2. 转到ESXi數據庫存放您VIB文件的路徑,並查看此路徑下的文件:

    cd /vmfs/volumes/datastore50/vib

    ls -al

  3. 若要安裝 VIB 套件,請運行以下命令:

    esxcli software vib install -d <路徑至一個壓縮文件或VIB文件>

    在我們的示例中,正確的命令是:

    esxcli software vib install -d /vmfs/volumes/datastore50/vib/ISM-Dell-Web-5.0.1.0-2951.VIB-ESX8i-Live_A00.zip

    如果 VIB 套件位於遠程服務器上,請使用以下命令:

    esxcli software vib install -v http://url_to_vib/vib_file.vib

    在安裝 VIB於 ESXi 主機上的命令末尾,使用 dry-run 選項可以模擬安裝過程,而不對系統進行任何實際更改。它讓您可以看到如果運行命令會發生什麼,包括任何潛在的衝突或依賴關係會受到影響。

    使用 dry-run 選項在生產環境中特别有用,以避免无意中造成的干擾並最小化宕機時間。它讓您能夠核實安裝新軟體組件的影響,並確保您的系統保持穩定和運行。

  4. 驗證 VIB 档的安裝:

    esxcli software vib list | grep vib_name

例 2:安裝更新

在這個示例中,我們將使用下載的 VIB 套件將 ESXi 8.0 Update 1 (8.0.1) 更新到 ESXi 8.0 Update 2 (8.0.2)。此工作流程與例 1 解釋的工作流程不同。

  1. 進入維護模式:

    vim-cmd hostsvc/maintenance_mode_enter

  2. 更新或升級 ESXi 時,請使用 ESXi 更新概要按照 vib install 命令:

    esxcli software sources profile list --depot=file:///vmfs/volumes/datastore50/vib/VMware-ESXi-8.0U2-22380479-depot.zip

  3. 執行 ESXi 更新命令:

    esxcli software profile update --depot=file:///vmfs/volumes/datastore50/vib/VMware-ESXi-8.0U2-22380479-depot.zip --profile=ESXi-8.0U2-22380479-standard

    從輸出中可以看到,需要重新啟動 ESXi 服務器。

  4. 執行 ESXi 主機重開命令。

    reboot

  5. 在 VIB 文件中提供的更新安裝後,檢查 ESXi 版本:

    vmware -v

    輸出為:

    VMware ESXi 8.0.2 build-22380479

  6. 如果你使用了正確的方法,那麼 ESXi 版本必須與 ESXi 設定檔版本相匹配,你可以使用以下命令來檢查:

    esxcli software profile get

  7. 退出維護模式:

    vim-cmd hostsvc/maintenance_mode_exit

更新 VIB

VIB 更新動作用來在 ESXi 主機上更新已安裝的 VIBs (vSphere 安裝束縛)。這個命令如果有的話會用較新版本來取代現有的 VIB,確保 ESXi 主機運行最新的和安全版本的軟體元件。

`vib update` 命令會檢查 ESXi 主機上的現有 VIB 版本,並將它們與在指定倉庫中可用的版本進行比較(仓庫可以是线上或线下存儲庫)。如果找到較新版本,命令將會用更新後的版本來替換現有的 VIB。

VIB 更新對於:

  • 修补。套用安全性修补程式來修正軟體中的漏洞。
  • 功能提升。更新軟體以包括新功能或改善。
  • 漏洞修復。解決目前軟件版本中的已知問題和漏洞。
  • 驅動更新。確保硬體部件(如網絡卡或存儲控制器)有最新的驅動程序,以達到最佳的性能和兼容性。

VIB更新的命令如下:

esxcli software vib update [options]

可选参数包括:

depot=指定包含 VIB 更新的軟件倉庫位置(线上 URL 或线下 ZIP 文件)。

vibname=指定要更新的 VIB 的名称。这可以用来更新仓库存放的特定 VIB 而不是所有 VIB。

dry-run在不进行任何实际更改的情况下模拟更新过程。这有助于在应用更改之前验证将会更新哪些内容。

profile=指定用于更新的映像配置文件。

以下是一些使用 vib update 命令的示例。

  • 从一个离线仓库更新所有 VIB:

    esxcli software vib update --depot=/path/to/offline-depot.zip

  • 更新一个特定的 VIB:

    esxcli software vib update --depot=/path/to/offline-depot.zip --vibname=example-vib

  • 從線上倉庫更新所有 VIB:

    esxcli 軟件 vib 更新 --depot=http://hosted.depot.url/index.xml

  • 模擬更新過程:

    esxcli 軟件 vib 更新 --depot=/path/to/offline-depot.zip --dry-run

卸載 VIB

卸載之前已安裝在 ESXi 主機上的 VIB 套件可以通過幾步驟完成。

  1. 通過 SSH 客戶端以 SSH 連接到 ESXi 主機。
  2. 列印已安裝的 VIB 套件以確定您想要卸載的套件名稱:

    esxcli 軟件 vib 列表

  3. 使用以下命令卸載所需的 VIB 套件:

    esxcli 軟件 vib 移除 --vibname=package_name.vib

錯誤與解決問題

在 ESXi 主機上安裝 VIB 套件時可能會發生許多錯誤。這些錯誤通常與相依性、衝突或系統兼容性相關。

憑證錯誤

找不到可信的簽署者:無法取得本地發源地憑證。

設定允許您跳過证书檢查的屬性,使用 no-sig-check 鍵:

esxcli software vib install -v /tmp/filename.vib --no-sig-check

或者在運行 vib install 命令前,通過更改接受等級來允許安裝套件:

esxcli software acceptance set --level=CommunitySupported

依賴錯誤

找不到可信任的签署者

VIB 包需要其他不在 ESXi 主機上的 VIB。請確保在指定的倉庫中所有必要的依賴關係都可用,或者先安裝所需的依賴關係。

esxcli software vib install --depot=/path/to/dependency-depot.zip

衝突錯誤

VIB 發生衝突

VIB 包與已安裝的 VIB 發生衝突。在安裝新的 VIB 之前,請移除衝突的 VIB。

esxcli software vib remove --vibname=conflicting_vib

esxcli software vib install --depot=/path/to/new_vib_depot.zip

VIB 安装最佳實踐

遵循最佳實踐來在 ESXi 主機上安裝和管理 VIB 包,以減少錯誤發生的可能性:

  • 驗證兼容性。總是檢查VIB與您的ESXi主機版本之間的兼容性。檢查VIB安裝是否需要將ESXi主機進入維護模式並重新启动ESXi,因為這可能會影響運行的虛擬機。
  • 備份設定。在安裝或更新VIB之前,考慮備份您的ESXi主機設定。
  • 在非生產環境中測試。如果可能,在非生產環境中測試VIB安裝以防止干擾。首先在非生產或暂存環境中測試VIB安裝、更新和移除。這有助於在影響生產系統之前識別任何潛在問題。
  • 監控系統記錄。使用ESXi系統記錄來監控和解決安裝問題。
  • 監控系統健康状况。在安裝或更新VIB後持續監控您的VMware ESXi主機,包括性能和健康状态,以便快速識別和處理任何問題。為任何與VIB操作相關的錯誤或警告設定日志監控和警報。

結論

VIB文件是用來安裝驅動程式、軟體和其他ESXi部件以及更新它們的包。管理VIB包的大部分操作都是在ESXi命令行界面上進行,您可通过SSH访问。

確保您使用专用的備份解決方案來保護您的 ESXi 主機和虛擬機免受停機和數據丢失的風險。NAKIVO Backup & Replication 是一個全面的數據保護解決方案,為 VMware 環境提供備份、災難恢復、實時複製以及 IT 監控功能,用於 ESXi VM。

Source:
https://www.nakivo.com/blog/instal-vib-files-on-esxi/