EMC XtremIO ストレージからの EFI を使用した Windows 仮想マシンの起動が失敗し、次のエラーが表示される: 起動システムが無効です。イメージ データが破損しています
search cancel

EMC XtremIO ストレージからの EFI を使用した Windows 仮想マシンの起動が失敗し、次のエラーが表示される: 起動システムが無効です。イメージ データが破損しています

book

Article ID: 338018

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免責事項: これは英文の記事 「Booting Windows virtual machine using EFI from EMC XtremIO storage fails with error: Boot system is not valid, image data is corrupt (2137402)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


EMC XtremIO ストレージ アレイからの EFI を使用して Windows 仮想マシンをパワーオンすると、次のイベントが表示される。

  • 仮想マシンが起動に失敗し、仮想マシン コンソールに次のエラーが表示される。
    Boot system is not valid, image data is corrupt

  • ストレージ アレイでディスク読み取りエラーが発生し、/var/log/vmkernel.log ファイルに次のエラーが表示される。
    INVALID FIELD IN CDB

  • 仮想マシンを含むホストで esxcli system settings advanced list -o "/Disk/DiskMaxIOSize" コマンドを実行すると、デフォルトのディスク IO ブロック サイズが報告される。
    Path: /Disk/DiskMaxIOSize
    Type: integer
    Int Value: 32767
    Default Int Value: 32767

    Min Value: 32
    Max Value: 32767
    String Value:
    Default String Value:
    Valid Characters:
    Description: Max Disk READ/WRITE I/O size before splitting (in KB)
  • コマンド esxcli storage core path list を使用すると、ストレージ アレイでデフォルトの IO ブロック サイズが 32767 と等しくないことが報告される。


Environment

VMware vSphere ESXi 6.0
VMware vSphere ESXi 5.5

Cause

ESXi のデフォルトの ESX DiskMaxIOSize は 32767 (32 MB) です。 ストレージ アレイで異なるブロック サイズがホストに報告される場合でも、ESXi ではデフォルトの DiskMaxIOSize のサイズである 32 MB が引き続き使用されます。 このため、仮想マシンとストレージ アレイの間のブロック転送が中断される、または不完全になることがあります。 この結果、 EFI を使用して Windows 仮想マシンを起動できない可能性があります。

Resolution

これは、ESXi 5.5 と 6.0 に影響する既知の問題です。 現在、この問題には解決方法がありません。

この問題を回避するには、ストレージ アレイの LUN を表示する各ホストで ESXi DiskMaxIOSize パラメータをアレイによってアドバタイズされた IO ブロック サイズ値に設定する必要があります。

: XtremIO ストレージの場合、このパラメータを 4 MB に設定する必要があります。
: VMware では、次の手順を行うためにホストをメンテナンス モードにすることをお勧めします。

ESXi DiskMaxIOSize パラメータを設定するには:

  1. 次のコマンドを使用して、ESXi DiskMaxIOSize パラメータを 4 MB に設定します。
    esxcli system settings advanced set -o "/Disk/DiskMaxIOSize" --int-value 4096

  2. 次のコマンドを実行して、パラメータが 4 MB に等しいことを確認します。
    esxcli system settings advanced list -o "/Disk/DiskMaxIOSize"

    結果は次のとおりです。
    Path: /Disk/DiskMaxIOSize
    Type: integer
    Int Value: 4096
    Default Int Value: 32767
    Min Value: 32
    Max Value: 32767
    String Value:
    Default String Value:
    Valid Characters:
    Description: Max Disk READ/WRITE I/O size before splitting (in KB)

または、VMware vSphere Client プログラムを使用して、ストレージ デバイスに渡される IO 要求のサイズを減らすことができます。

  1. [ホスト] > [構成] に移動します。
  2. [詳細設定] をクリックします。
  3. [ディスク] に移動します。
  4. Disk.DiskMaxIOSize 値を 4096 に変更します。

: この設定は、ホストを再起動したり、メンテナンス モードにしなくても変更できます。


Additional Information

ESXCLI コマンドの詳細については、『vSphere Command-Line Interface Documentation for your Vsphere release.』を参照してください。


: このリンクは 2015 年 11 月 11 日時点のものです。 リンクが切れているのに気づいた場合はご連絡ください。VMware の担当者がリンクをアップデートします。

Powering on Windows virtual machine using EFI from EMC XtremIO storage fails with the error: Boot system is not valid, image data is corrupt