vSphere 7 Hypervisor ESXi で何故使えないデバイスが急に増えたの？

vSphere 6.7 まではいろいろなコンピューターに ESXi をどうにかインストールして使うことができましたが、vSphee 7 ではインストールすらできなくなってしまいました。これ、何故というのをちょっとお話しします。
# vSphere 7 で使えないデバイスが増えたわけ
vSPhere 7 では、今までの vSphere 6.7 と色々な所に変更が加わっていますが、家ラボやっている人に大きな影響が出たのがサポートされるデバイスが大きく減ったということ。これ、vSphere 7 で VMKLinux が廃止されたことによる影響です。
## VMKLinux って？
VMKLinux は Linux のデバイスを vSphere ESXi で使うためのインボックスコンポーネントです。この VMKLinux インボックスドライバを使うメリットとして Linux ネイティブドライバに vSphere のライブラリをリンクしてビルドすることにより、ESXi ネイティブドライバを作ることなく ESXi 上で Linux でサポートされているデバイスをそのまま使えるようになっていました。これ、デバイスドライバのソースが公開されていれば、CentOS 上に VMKLinux インボックスドライバのビルド環境を作ればだれでも ESXi のドライバを用意することができ、結構活用させてもらっていました。
しかし、この VMKLinux は Linux に依存する部分も多く、また 2015年にこの VMKLinux 関連が GPL 違反だと提訴されたことを記憶している人も多いと思います。結局 2018年11月にその訴えは退けられたのですが、玉虫色の判決でもあり、ESXi から Linux 色を排除するというのはある意味必要な課題として残っていたんだろうと思います。この GPL の問題は vSphere 5.5 の登場時に訴訟になっており、vSphere 5.5 で初めてネイティブドライバが登場したのですが,、ESXi 登場時から使えていたこの VMKLinux を利用しているベンダーがほとんどだったので、5.5 やその後の 6.x で ESXi の中から VMKLinux の排除はできませんでしたが、新たに作り出した vSphere 7 ESXi では既存ユーザーやベンダーは 6.x でまだ少しの間は対応可能だということもあり、vSphere 7 で VMKLinux を排除するというのは予想できた動きかと思います。
VMKLinux がどのようなことをしていたのか、簡単に図にしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/855f6c4e-f996-fa35-6e0c-515049a2678c.png)
そして、vSphere 7 そして vSphere 5.1 以前の構成は以下の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/d1ad3261-9560-4f74-d9b3-58cab2ae6e98.png)
余計なものが介在しないのですっきりした流れになるということと、Linux 関連でこれからも出てくるかもしれない課題（ライセンスとかそういう面だけではなく、セキュリティホール他 Linux 側起因の課題）に対しても回避が可能になるわけです。メリットとして、

* パフォーマンス向上が期待できる 
* トラブル時の調査や対応が楽になる
* PCIe HOt Plug などハードウエア側に実装される新機能をサポートできるようになる

などが考えられます。逆にデメリットとしては、

* ネイティブドライバーの開発が必要
* ネイティブドライバーの無いデバイスが使えなくなった

などがあり、今回の vSphere 7 で「家ラボに ESXi 7 インストールできなくなった。」というのはデメリット側の影響なわけです。

# これからの vSphere では？
既に VMKLinux はサポートされていませんので、今後はネイティブドライバが用意されたデバイスだけが ESXi で利用できるデバイスになっていきます。でも、家ラボ環境でテストするのに高価なネイティブドライバを使わなければならないのは困るなぁと思いますよね。ディスクに関しては IDE や SATA が対応しているのでどうにかなりますが、問題なのは NIC、だいぶ範囲が狭まっているので Intel NUC にインストールするのに苦労した人も多いかと思います。でも、NIC に関しては VMware 社の有志が USB NIC だけですがネイティブドライバーを開発・公開してくれているので、それを使うのも一つの方法かもしれません。以下のリンクからダウンロードできますので、オンボードの NIC が使えない場合は USB NIC でどうにかするのも方法の一つです。
[USB Network Native Driver for ESXi](https://flings.vmware.com/usb-network-native-driver-for-esxi)

# VMKlinux 廃止に伴う使えなくなったデバイスはなに？
以下の KB にリンクされている PDF に記載がありますので、そちらを参照してください。日本語の KB にはリンクは無く、英語の KB にしかないので、日本語で本文を読んだ後に右下の「Language」を「English」にし、「[Attachments](https://kb.vmware.com/sfc/servlet.shepherd/version/download/068f400000KdAw1AAF)」からPDFのダウンロードをしてください。
[ESXi 7.0 で廃止およびサポート対象外になったデバイス (77304)](https://kb.vmware.com/s/article/77304?lang=ja)

# 家ラボ作りに必要な情報
* まずは足りないネイティブドライバーを組み込んだカスタムイメージの作り方です。
	vSphere ESXi customize image のつくりかた（vSphere 7 が来る前の準備）](https://qiita.com/inasato/items/62396114feeaffc7b3e2)

* 次に、長く使えるライセンスを安く入手する方法です。 
	[vSphere 7 が出る！VMware 製品を評価したいときは・・・・評価ライセンス？それとも買っちゃう？](https://qiita.com/inasato/items/b843f28991f12ea9e2a3)

* 家ラボで検証開始前にちょっとプロダクトを理解したい場合
	[vSphere のお勉強はー＞ハンズオンセミナーに行くより、家やオフィスでハンズオンラボを使ってみよう](https://qiita.com/inasato/items/0098ad8c9842fd1a9cf4)

* 既存環境のアップグレードの際の留意点は？
	[vSphere 7.0 U1 へのアップグレード](https://qiita.com/inasato/items/7768dc85691b21f0f930)

* チャレンジャーな家ラボマニア向け
	[ARM版 ESXi 7 をインストール](https://qiita.com/inasato/items/3e1ecbb9f57ced86d75b)