24小时在线平台

当前位置: 24小时在线平台 > 部署教程大全 > 文章页

EVCモードの不一致でvMotionが失敗する

时间:2025-05-14 12:06来源: 作者:admin 点击: 20 次
先日、こんなトラブルに遭遇しました。 Issue 【構成および前提】 ・1-4号機の4台によるvSAN構成 ・4台ともEnhanced vMotion Compatibility(EVC)はL6(Haswell世代)にて有効 ・ESXiバージョンは6.7U3 ※ただし、1号機のみ別問題対応にて、6.

f:id:furuyamas:20200711191455p:plain

 

先日、こんなトラブルに遭遇しました。

Issue

【構成および前提】

・1-4号機の4台によるvSAN構成

・4台ともEnhanced vMotion Compatibility(EVC)はL6(Haswell世代)にて有効

・ESXiバージョンは6.7U3

 ※ただし、1号機のみ別問題対応にて、6.7U3クリーンインストール

【現象】

1号機をメンテナンスモードにしようとした際、複数のVMが2-4号機にvMotionできず失敗となった。なお、一部のVMは、1号機から2-4号機へvMotionできていたことを確認した。

【切り分け】

・手動で1号機から2号機へvMotion実施(メンテナンスモード移行時に失敗したVM)

 →EVCの不一致エラーで失敗

・2号機から1号機へvMotion実施(メンテナンスモード移行時に成功したVM)

 →vMotion成功

・テストVMを1号機で起動し、2号機へvMotion実施

 →vMotion失敗(同じエラー)

・テストVMを2号機で起動し、1号機へvMotion実施(その後3、4号機へvMotion)

 →vMotion成功

ここまでで、どうやら1号機で起動したVMは、2-4号機へvMotionできないことが分かった。1号機だけクリーンインストールを実施したことで、何かしら差異があるのだと仮定して、ホストプロファイルの見直し、EVC含むその他設定なども見直したが、あたりがつかず・・・。

 

・仮想マシン単位のEVCをテストVMでwestmere世代まで落として1号機で起動

 →1号機で起動し、2-4号機へvMotion成功

んー・・ますますわからん・・・^^;

本番環境なので、安易に再起動などできない上に、、そもそもメンテナンスモードに移行できないし・・・。

というわけで、いったん主なログやconfigを取得し、調査開始。

 

Resolution

1号機と2-4号機で、CPUに関する差異があることはなんとなくわかった。

そこで、configの見直しを実施。

 

結論から言うと・・

--/etc/vmware/config
featMask.evc.cpuid.MDCLEAR = "Val:1"

こいつだった。

 

この「MDCLEAR」というのは、Intel CPUのマイクロコードに関する脆弱性に関連しており、その緩和策としてこの値が「無効」になっていたということになる。

1号機のみESXi6.7u3をクリーンインストールしたことで、この値の差異が生まれてしまったということが原因だった。

はっきりとしたことはわからないが、脆弱性に対応したバージョンにアップデートした後、なんらかの原因でこの値が正しく有効にならないケースがあるようだ。

2-4号機では、MDCLEAR機能が有効になっていなかった状況が確認できた。(そのためにvMotion時に行われるMDCLEARのチェックがエラーとなっていた)

 

本来であれば、6.7P01へアップデートした際に、有効となっていなければならなかったようだ。おそらくは、BIOSレベルの設定であるため、ハードリセットが必要であったと考えられる。(物理サーバを完全にパワーオフ→パワーオンの動作)

 

今回は、2-4号機についてもすでに6.7U3へアップデート済みのため、下記対応を実施。

2-4号機について、1台ずつ

1.メンテナンスモードへ移行

2.ESXiをシャットダウン

3.サーバをパワーオフ

4.サーバをパワーオン

5.ESXi起動後、メンテナンスモード解除

下記、コマンドでMDCLEARが有効になったことを確認

 

# vim-cmd hostsvc/hostconfig|grep -A 2 MDCLEAR

 

これが
key = "cpuid.MDCLEAR",
featureName = "cpuid.MDCLEAR",
value = "0"

 

こうなっていればOK

key = "cpuid.MDCLEAR",
featureName = "cpuid.MDCLEAR",
value = "1"

 

2-4号機すべて完了した後、手動でvMotionを実施

→成功

1号機をメンテナンスモード移行

→成功

 

というわけで、トラブルシューティングを完了できました。

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-07-05 02:07 最后登录:2025-07-05 02:07
栏目列表
推荐内容