VMware ESXi 6.7 U3 でUSB3が認識しなくなって解決した話

このページの内容は、2021年1月17日に行った記録です。

前回までの記事で、Dell社のPowerEdge T110 IIにインストールしているVMware ESXi 6VMware ESXi 6.7にアップグレードして最新のパッチをあてるとこまでできました。

そもそもなんで最新のパッチまでやったのかなんですが、USB 3.0 が認識しなくなったんです。

ということで、結果的に解決したのでその辺について書いていってみたいと思います。

PowerEdge T110 IIのカタログページ

前回までのアップグレードは▼

経緯

気が付いたときには遅かった・・・

割とこまめにチェックしながらアップグレードを進めていたのですが、仮想マシンが起動するところまでは確認しても、外付けUSB HDD が認識しなくなってることまでは気が付いてませんでした。

しかもUSB3.0ポートが全滅です。USB2ポートは問題なしです。

VMware ESXi 6.7 U3 まで順調に進んでいたつもりでした。
アップグレードするたびに仮想マシンを起動して、Linux系、Windows系それぞれ動作していることも確認していました。

で、アップグレードも完了したので常時起動のローカルサーバとして使っているLinuxマシンを触っていたときに気が付いたのです。

あれ?
外付けUSB HDD 息してない?

しかもこれ、仮想環境からじゃなくESXi本体のほうから認識できてない?

ということで、ホストマシンのUSBドライバがおかしくなってるとあたりをつけて色々調査していくことになるわけです。

で、出た答えの1つが

「最新のパッチをあてたら動いたりせんかな?」

ってことで、「VMware ESXi 6.7 U3 に最新のパッチをあてる」なんです。

結果、ダメでした。

で、そうこうしながら、ここで答えそのものに非常に近づきつつも微妙にかすったことにより、「これもダメか」と。

見ているとこは正解だったけど、やり方をミスってたという残念なことで。

で、そこからの調査は「正解を避けた調査」になってくんですよね。
「このやり方、さっきしてダメだった」
と。

無駄にハマりました。

で、なんとか結果的に解決したので今これを書いているわけです。

答え

新しい ESXi 6.5 USB ドライバ vmkusb とレガシー USB ドライバに関する重要な情報 (2147650)

▲こちらが答えです。
このページは割と早い段階で見つけてたのに・・・。

Solution の操作

SSH接続を許可して、ホストマシンに接続して▼です。

# 確認
esxcli system module list

# vmkusb を無効にする
esxcli system module set -m=vmkusb -e=FALSE

vmkusbを無効にするんです。
ちなみに FALSE を TRUE にしたら元に戻せます。

で、なんですが、これじゃダメだったんです。

vmkusb を無効にして、ホストマシンを再起動したらOKって書いてるんですが・・・変わらずです。

で、「これじゃない」ってなりますよね。

すぐ下の「Related Information」のとこに答えを書いているんだけど、「同じことを異なる手順で書いてるだけやろ」くらいに思っちゃったんですよね。

そこから大ハマりです。

で、しばらくして「やっぱダメ元でやっとこか」ってことで、「Related Information」です。

Related Informationの操作

まず、ホストマシンを再起動します。

「起動前のスプラッシュ画面で・・」とあるのは、PCを電源ONして、メーカーのロゴなんかがでて、BIOSの設定に入ったりするタイミングを超えた直後のとこです。

ESXiの画面になって、画面の右下に「SHIFT + O」って表示が出てます。
画面の左下では5秒くらいからのカウントダウンが始まってます。
その5秒の間に「SHIFT + O」です。

で、「jumpstart.disable=vmkusb」を追加なんですが、どこに?
ってなるかもしれません。

▲こうしました。

もともとなんかいっぱい書かれてたので、その後ろに半角スペースを入れて、「jumpstart.disable=vmkusb」です。

で、Enter

公式の説明によるとこれで問題は解決して、USB3に接続した外付けHDDが見えるようになるって思うじゃないですか。思いますよね。
なる人はなるって感じでしょうか。

ダメなんですよねー。

これもダメか、と。

でまた調査再開です。

どうしようかなー。

もう最終手段、USB2ポートでいっか。

ということで

とりあえずホストマシン再起動して、運用できる状態にしていこうか、と、ホストマシンの再起動をするわけです。

起動します。

vSphere Web Clientを起動します。

仮想マシンの「編集」から USB3 設定になっているのを USB2 設定に変えるかー

と思ったそのとき

あれ?
認識してる?

USB 3.0 の外付けHDD が見える状態になってました。

これは!!

ってことで、仮想マシンを起動して、マウントして中が見れたらOKやーってことで、無事見れました。

結局のとこの手順

ながながと書いてきたのをさっくりまとめます。
答えだけ欲しい人はここだけ読んだら良いかも。もちろん自己責任で。

新しい ESXi 6.5 USB ドライバ vmkusb とレガシー USB ドライバに関する重要な情報 (2147650)

参考ページは公式の▲です。

1.ホストマシンにSSH接続し、次のコマンドで vmkusb を無効にする

# 確認
esxcli system module list

# vmkusb を無効にする
esxcli system module set -m=vmkusb -e=FALSE

2.ホストマシンを再起動し、起動オプションにコードを追加し起動する

再起動して、ESXiの画面に変わった直後、画面の右下に「SHIFT + O」と表示が出るタイミングがあります。

ここで「SHIFT + O」を押し、もとの内容の後ろに半角スペースをつけて▼を入力

jumpstart.disable=vmkusb

▼のような感じです。

入力したらEnter

3.VMware ESXi が起動したら、再起動

もしくはシャットダウンしてから電源入れ直したほうが確実かな。

これでいけました。

起動オプションを設定して起動してから反映。
じゃなく
もう一回再起動してから反映されるっぽいです。

「ホスト」の「管理」から「ハードウェア」を確認すると、さっきまでは表示されてなかった Renesas の文字が確認できます。

PowerEdge T110 IIにはもともとUSB 3.0 が搭載されてないので▼を使っています。

こちらのドライバが vmkusb には対応してなく、VMware ESXi から見えなくなってたということです。

そもそもの原因

vmkusb ってのが曲者です。

VMware ESXi 6.0 までは古いタイプのUSBドライバが使われていました。
この時は、USB3.0でも普通に認識されていました。

で、VMware ESXi 6.5 のタイミングで、古いタイプのUSBドライバが終了となり、vmkusb っていう新タイプのUSBドライバに置き換わりました。

vmkusb は新しいので「以前までの問題を改善してパワーアップしたもの」と思いがちですが、古い機器の対応は終了していく方針のようです。

でも、古いタイプのUSBドライバ(6.0以前)には対応してます。

vmkusbを停止すると自動的に古いタイプのUSBドライバに切り替わります。

ということで、解決となりました。