hidemium's blog

日々学んだことをアウトプットする。

HomelabのvSphere 7.0からvSphere 8.0へのアップグレード

以前、Homelabの構成について書いていました。なかなかHomelabのvSphere環境のアップグレードが出来ずにいましたが、vSphere8.0のUpdateも上がってきたこともありアップグレードについて書いてみようと思います。

hidemium.hatenablog.com

構成

  • vCenter 7.0U3→vCenter 8.0U2
  • ESXi 7.0U3→ESXi 8.0U2
    • USB Network Native Driver for ESXi v1.10→v1.13
  • Intel NUC NUC7i3BNH
    • Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz

vCenterアップグレード

お手軽にアップグレードするために、WindowsGUI版のインストーラーでアップグレードを行いました。

  • インストーラーを起動して、Upgradeを選択します。
  • アップグレード対象の必要なパラメーターを入力していきます。
  • deployment sizeはhomelab用なので、Tinyを選択します。
  • 入力後、Finishボタンを押すと、Upgrade - Stage 1: Deploy vCenter Serverのポップアップが表示され、VCSAのVMのデプロイが開始されます。
  • デプロイ後、Step2を選択して、Nextをクリックします。
  • Pre-upgradeのチェックが行われ、いくつか注意事項が表示されます。
  • upgrade dataを選択します。homelabなので、タスクやイベントやパフォーマンスデータは移行せず、最低限のデータだけ移行します。
  • Step2が完了すると、アップグレードが完了します。
  • vSphere Clinetにログインし、アップグレードが完了したことを確認します。

ESXiアップグレード(workload側)

workload側は、vCenterで管理されたESXiで、vCenter VMは稼働していないホストになります。Lifecycle Managerを使ってアップグレードを行ってみました。

ESXiのアップグレードを行う前に、Nested ESXiで素振りを行ってみます。

  • Nested ESXiをデプロイし、物理ESXiとは別のクラスタを用意し、そのクラスタに配置します。
  • Nested ESXi用のクラスタで、イメージの管理を行い、ESXi 8.0U2をクラスタのイメージとして設定します。
  • すべて修正をクリックし、修正の開始をクリックし、アップグレードを開始します。
  • 自動的にメンテナンスモードに切り替え、アップグレードが行われます。
  • イメージ プロファイルは、(Updated) VMware Lifecycle Manager Generated Imageと表示されるようになっていました。

Product Interoperability Matrixを確認すると、vCenter 8.0U2ではESXi 8.0U3をサポートしていないため、同じマイナーマージョンを指定しました。

USB NICを利用しているため、FlingsのUSB Network Native Driver for ESXiのドライバを追加します。

以前だと、PowerCLIを使ってイメージを作成していましたが、UIでも同様の操作ができそうなので、試してみました。

  • VMware USB NIC Fling Driver for ESXi v1.13のバンドルイメージを入手しておきます。
  • Lifecycle Managerの画面で、アクション>更新のインポートをクリックし、USB Network Native Driver for ESXiのバンドルイメージを指定します。
  • Nested ESXi用のクラスタで、イメージの編集で、コンポーネントの追加で、VMware USB NIC Fling Driverを確認し、バージョンを指定して保存します。
  • すべて修正をクリックし、修正の開始をクリックし、アップグレードを開始します。
  • 自動的にメンテナンスモードに切り替え、アップグレードが行われます。
  • アップデート後のパッケージを確認すると、以下のようなバージョンとなっていました。
名前 説明 バージョン
vmkusb USB Native Driver for VMware 0.1-18vmw.802.0.0.22380479
vmkusb-nic-fling USB Native Driver Fling for VMware ESXi 1.12-2vmw.802.0.0.67561870

物理ESXiで上記と同様にアップグレードを実施し、うまくアップグレードすることができました。

ESXiアップグレード(management側)

management側は、vCenter VMが稼働しており、homelabのため、vMotionで他のホストにvCenter VMを移行できない状態となっています。

そこで、CLIによるアップグレードを実施します。

workload側とイメージを合わせるため、workload側のLifecycle Managerからバンドルイメージをダウンロードしておきます。

  • イメージ>エクスポートをクリックし、zipを選択し、バンドルイメージをダウンロードします。
  • management側のESXiのデータストアを選択し、データストアブラウザからデータストアへバンドルイメージをアップロードします。
  • まずは、dry-runを実行して、アップグレードか可能か確認すると、以下のようなエラーが表示されます。
esxcli software sources profile list -d /vmfs/volumes/datastore1/ISO/OFFLINE_BUNDLE_52e37739-9a0d-8d0f-1525-cd1365a880be.zip 
Name                                      Vendor        Acceptance Level  Creation Time        Modification Time
----------------------------------------  ------------  ----------------  -------------------  -----------------
VMware Lifecycle Manager Generated Image  VMware, Inc.  PartnerSupported  2024-08-15T20:43:12  2024-08-15T20:43:12
esxcli software profile update -d /vmfs/volumes/datastore1/ISO/OFFLINE_BUNDLE_52e37739-9a0d-8d0f-1525-cd1365a880be.zip -p "VMware Lifecycle Mana
ger Generated Image" --dry-run
 [ProfileValidationError]
 File path of '/lib64/python3.8/unittest/loader.pyc' is claimed by multiple non-overlay VIBs: {'VMware_bootbank_esxio-base_8.0.2-0.40.23825572', 'VMware_bootbank_esx-base_8.0.2-0.40.23825572'}

VMware docsにアップグレードする際に、dry-runが動作しないという記載がありました。

dry-runでの確認はできないですが、直接CLIでESXiのアップグレードを行っていきます。

  • vCenter VMを停止します。
  • ESXiをメンテナンスモードに変更します。
  • 以下のコマンドを実行します。vLCMでのアップグレードはprofile update相当なようなので合わせておきます。
esxcli software profile update -d /vmfs/volumes/datastore1/ISO/OFFLINE_BUNDLE_52e37739-9a0d-8d0f-1525-cd1365a880be.zip -p "VMware Lifecycle Mana
ger Generated Image"
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
  • ESXiを再起動します。

vSphere Clientにログインし、ESXiのバージョンが8.0に変更されていることを確認します。

  • vCenter VMを起動します。
  • USB NICにvDSを接続している場合、ESXiのアップグレード後にアップリンクが外れることがあるため、アップリンクが外れた場合は、再度接続しておきます。

vDSアップグレード

vDSを7.0.3から8.0.0にアップグレードします。

  • vDSのアクションをクリックして、アップグレード>Distributed Switch のアップグレードをクリックします。
  • 8.0.0 - ESXi 8.0 以降を選択し、互換性に問題をないことを確認し、OKをクリックします。
  • vDSのバージョンが8.0.0に変更していることを確認ます。

まとめ

vSphere 7.0までだと、PowerCLIを使って、インストールイメージをビルドして、USBメモリにブートメディアを用意していましたが、vSphere 8.0ではほぼGUIの操作のみでアップグレードができるようになっており、homelabのアップグレードがとても楽になっていました。

  • Image BuilderやPowerCLIを使わずに、Lifecycle Managerでvibを追加してインストールイメージのビルドが可能に
  • Lifecycle ManagerでVMware USB NIC Fling Driver for ESXiの追加が可能
  • ESXi 7.0からESXi 8.0へのアップグレードの場合、esxcliでdry-runが動作せず
  • vSphere 8.0からvCenterはESXiより低いマイナーバージョンはサポート外に(vCenter 8.0U2+ESXi 8.0U3の組み合わせがサポート外に)