ThinkCentre m90q TinyとCore i9-10900(10コア/20スレッド)+64GBメモリで作る超小型!保証なし!爆熱!の最強ESXi – 6 – vMotionでグイっと移動する

ども、こんばんは。

前回までで、我が家にESXi 7.0 update 1のホストが2台、vCenter(VCSA)を1台できあがりました。

まだ2台のESXiはそれぞれ同じNAS(QNAP TS-873)のLUNをiSCSIでマウントしています。

よく考えたらiSCSIってディスク接続なので、普通は2台からつなぐってSCSI的には排他制御とかやばそうなんですが、調べてみたところVMFSが優秀でいい感じに排他制御しているらしい?です。

このあたりに色々書いてますね。

VMFS のロック メカニズム

さて、vmkインターフェースにもvMotionを有効化しているし、基本的に仮想マシンを右クリックして「移行」すればOKです。

仮想マシン停止状態でのvMotionなら、気をつけることとしては、各ESXi間でポートグループの名前とかを揃えておくくらいですかね。(これも途中で選べるので違っててもいい気もします。)

問題は、パワーオン状態の仮想マシンのvMotionです。

今回2箇所はまりました。

以下2つとも互換性チェックで引っかかりました。

・ポートグループのセキュリティポリシーが一致していないと移行できない
→無差別モードを許可、偽装転送を許可、MAC変更を許可、の設設定ですね、これが移行先と移行元で一致していないと、互換性チェックでエラーになります。(仮想マシンがパワーオフなら問題ない模様)

・CPUの世代が違いすぎる問題
これは、古いML110 G7(Xeon E3-1280、Sandy Bridge)で稼働中の仮想マシンを新しいThinkCentre(Core i9-10900、Comet Lake)に移動する場合は問題ないですが、ThinkCentreで起動した仮想マシンはをML110 G7には移行するときに問題になります。

まぁこんなに世代の離れたCPUが同じデータセンター内に存在することもまずないとは思いますが。。。

ちなみに互換性チェックでは以下のようなエラーとなります。

ターゲット ホストは仮想マシンの現在のハードウェア要件をサポートしていません。 Enhanced vMotion Compatibility (EVC) が有効なクラスタを使用して、クラスタ全体で統一された CPU 機能のセットを作成します。または、仮想マシンごとの EVC を使用して 1 台の仮想マシン用に一定の CPU 機能のセットを作成し、その CPU 機能のセットをサポートするホストへの仮想マシンの移動を許可します。クラスタの EVC の詳細については、KB 記事 1003212 を参照してください。 MDS_NO はサポートされません。 RSBA_NO はサポートされません。 IBRS_ALL はサポートされません。 RDCL_NO はサポートされません。 XSAVES (スーパーバイザ状態を保存) はサポートされません。 XSAVEC (拡張状態をコンパクト フォーマットで保存) はサポートされません。 Protection Key Register User State (PKRU) の XSAVE はサポートされません。 Protection Keys For User-mode Pages (PKU) はサポートされません。 clflush の最適化バージョン (CLFLUSHOPT) はサポートされません。 Supervisor Mode Access Prevention (SMAP) はサポートされていません。 RDSEED はサポートされていません。 Multi-Precision Add-Carry Instruction Extensions (ADX) はサポートされていません。 3DNow! PREFETCH および PREFETCHW はサポートされていません。 Invalidate Process-Context Identifier (INVPCID) はサポートされません。 1 GB ページはサポートされていません (PDPE1GB)。 MOVBE はサポートされていません。 FMA3 はサポートされていません。 Bit Manipulation Instruction (BMI) Set 2 はサポートされません。 Bit Manipulation Instruction (BMI) Set 1 はサポートされません。 Advanced Vector Extensions 2 (AVX2) はサポートされません。 Advanced Bit Manipulation (ABM) はサポートされていません。 CPUID フォルトはサポートされません。 Supervisor Mode Execution Protection (SMEP) はサポートされていません。 RDRAND はサポートされていません。 任意の権限レベルでの FS および GS ベースのレジスタの読み書き命令はサポートされていません。 半精度変換命令 (F16C) はサポートされていません。 高速文字列操作 (Enhanced REP MOVSB/STOSB) はサポートされていません。

これを回避するにはEVCという機能があるようで、仮想マシン単位またはクラスタ(今回我が家はクラスタにしていません)で、最低のCPU世代を決めてあげればいいようです。

参考;

vSphere EVCを有効化する場合のCPU世代に気をつける件

ただ、うちの場合だと、Sandy Bridgeに合わせるのもなぁ・・・・。っていう感じなのでやっていません。

あと、ちゃんと検証してないのですが、vCSAはこの制約を受けない?というか、EVCの設定が見当たらないので、多分めっちゃ古いやつでも動くような作りになってるんじゃないかと思います。

参考までに、ML110 G7で起動した仮想マシンはSandy Bridgeに、ThinkCentreで起動した仮想マシンは(設定上)Cascade Lakeになっています。
※vCSAにはこの画面はないようです。

まぁそんなこともありましたが、無事全仮想マシンvMotionで引っ越しできました。

ようやく溜まってたことが全部ブログに書けたーε-(´∀`*)ホッ

あとは、今回購入したThinkCentreはチップセットもCPUもIntel vProに対応しているので、せっかくだしAMTで管理したりしてみようかなと思っています。

以下おまけです。

【ESXiホストへのパッチ適用】

vCenter環境になったので、これからはいちいちDVDを焼いてバーッジョンアップ、アップグレードしなくても良くなりました。

いままで「vcenter update manager」と呼ばれていたものは、7.0から「Lifecycle Manager」に変わったようです。

「Lifecycle Manager」でベースラインと呼ばれる、まぁ重要レベルのパッチは当ててね、みたいな決め事をして、それに従ってESXiホストをアップデートするようです。

ML110 G7が少し古かったので、やってみました。

まずとくに「Lifecycle Manager」はいじっていません。デフォルトのベースラインをそのまま使っています。

で、ESXiホストのアップデートのタブを見ると、ベースラインの「重要なホストパッチ(事前定義)」に非準拠となっています。

なので、これをアップデートします。

「修正」をクリックします。
※本番運用では「修正の事前チェック」等をしておくことをおすすめします。

どーん。

あとは勝手にメンテナンスモードに入って再起動されます。

いやー楽になった。けど、「Lifecycle Manager」は使いこなすのめっちゃ難しそう・・・。

【バックナンバー】

ではでは。またの機会に。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください