はじめに

今回、個人の勉強用にコンシューマー向けの Intel CPU を利用した自宅ラボを構築したのですが、 vSphere ESXi インストール時に PSOD (Purple Screen Of Death) が発生し、非常に手こずった。
自身の備忘と今後、同じ様に vSphere ESXi を利用した自宅ラボ環境を構築しようとしている人のために記事に残しておく。

 

この記事を読んで欲しい人

  • Intel 12th 以降の コンシューマー向けのCPU を利用して vSphere ESXi を導入しようと考えている人

 

PSOD が発生する理由

コンシューマー向けの Intel 12th 以降の CPUでは P コア、 E コアの二種類のコアが搭載された。
P コア、 E コアの大まかな違いについては以下の通り。

CoreP コア (Performance Core)E コア (Efficient Core)
特徴性能重視電力効率重視
最適化シングルスレッドや並列度の低いタスク並列度の高いワークロード
Hyper-Threading対応非対応

vSphere ESXi はコンシューマーアーキテクチャを認識しておらず、 CPU コアが均一であることを前提としている。
素直に vSphere ESXi をインストールしようとすると CPU プロパティが異なることが原因で CPU 均一性のチェックにおいて PSOD が発生する。

 

PSOD を回避する方法

以下の設定を行うことで PSOD を回避する。

  • CPU 均一性チェックを無効化
  • MSR 障害を無視

MSR (Model-Specific Registers) とは
プロセッサ実装によって提供される制御レジスタであり、システムソフトウェアがパフォーマンスの監視、プロセッサステータスの確認、デバッグ、プログラムのトレース、特定の CPU 機能の切り替え等、様々な機能と対話できるようにする。

 

vSphere ESXi インストール・設定変更手順

画面の流れに沿ったインストール・設定手順を記載する。

 

vSphere ESXi インストール

  1. PC に vSphere ESXi のインストールメディアを挿入し、起動する

     

  2. 以下の画面で5秒以内Shift + O を押下し、 Edit boot options に遷移する

     

  3. …cdromBoot の後に以下の文字列を入力し、 Enter を押下する

      cpuUniformityHardCheckPanic=FALSE
      

    ※画面イメージは以下の通り

     

  4. 以下の画面で Enter を押下し、インストールを開始する

     

  5. 以下の画面で F11 を押下し、 EULA に同意する

     

  6. 以下の画面でインストール先とするディスクを選択した状態で Enter を押下する

     

  7. キーボードレイアウトに [ Japanese ] を選択した状態で Enter を押下する

     

  8. 設定したい root パスワードを2度入力し、 Enter を押下する

     

  9. F11 を押下し、インストールを続行する

     

  10. 以下の画面で Alt + F1 を押下し、 シェルコンソール に遷移する

     

  11. ESXi Shell で root ユーザーとしてログインする
    ID:root
    PW:(Blank)

     

  12. 以下のコマンドを入力し、 Enter を押下する

      vi /vmfs/volumes/BOOTBANK1/boot.cfg
      

    ※vi 操作で boot.cfg を変更する

     

  13. 6行目の autoPartition=FALSE の後に以下を入力する

      cpuUniformityHardCheckPanic=FALSE
      

    :wq を入力後、 Enter を押下し、変更を上書き保存する

     

  14. exit を入力後、 Enter を押下し、ログアウトする

     

  15. 以下の画面で Alt + F2 を押下し、 DCUI に遷移する

     

  16. 以下の画面で Enter を押下し、再起動する

     

設定変更

  1. DCUI で F2 を押下する

     

  2. 以下の画面で root のログイン情報を入力し、 Enter を押下する
    ID:root
    PW:<root_password> ※インストール時に指定したパスワード

     

  3. [ Troubleshooting Options ] を選択し、 Enter を押下する

     

  4. [ Enable ESXi Shell ] を選択し、 Enter を押下し、“ESXi Shell is Enabled"に変化したことを確認する
    Alt + F1 を押下し、シェルコンソール に遷移する

     

  5. ESXi Shell で root ユーザーとしてログインする
    ID:root
    PW:<root_password> ※インストール時に指定したパスワード

     

  6. 以下のコマンドを順番に実行する

    CPU 均一性チェック設定確認 (Configured が TRUE であることを確認)

      esxcli system settings kernel list -o cpuUniformityHardCheckPanic
      

    CPU 均一性チェック設定 (Configured を FALSE に変更)

      esxcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE
      

    CPU 均一性チェック設定確認 (Configured が TRUE であることを確認)

      esxcli system settings kernel list -o cpuUniformityHardCheckPanic
      

    MSR 障害無視設定確認 (Configured が FALSE であることを確認)

      esxcli system settings kernel list -o ignoreMsrFaults
      

    MSR 障害無視設定 (Configured を TRUE に変更)

      esxcli system settings kernel set -s ignoreMsrFaults -v TRUE
      

    MSR 障害無視設定確認 (Configured が TRUE であることを確認)

      esxcli system settings kernel list -o ignoreMsrFaults
      

    ※以下の画面の通り順番にコマンドを実行する

     

  7. exit コマンドを実行し、ログアウトする

     

  8. 以下の画面で Alt + F2 を押下し、 DCUI に遷移する

     

  9. [ Disable ESXi Shell ] を選択し、 Enter を押下し、“ESXi Shell is Disabled"に変化したことを確認する

     

  10. ESC を2度押下し、DCUI からログアウトする
    手順は以上で終了

     

環境

  • vCenter Serer 8.0.3 ( Build:24022515 )
  • vSphere ESXi 8.0.3 ( Build:24022510 )

 

今回の対応で参考にしたサイト