vmkドライバーとネイティブドライバーの違い
以前にESXiに対しインストール可能なデバイスドライバーには2種類が存在するという記事を寄稿しました。
InboxドライバーとAsyncドライバーの2種類で、VMwareご本家の提供かサードパーティベンダー提供かの違いという所で紹介致しました。
今回はちょっと違ったカットでの2種類、の紹介です。
”vmkドライバーとネイティブドライバーの違い”についてです。同じドライバーでも、冒頭に"net"と付くものとそうでないものが確認出来ます。これらの違いに迫ります。
なお本記事の技術的な話のソースは、次の2つのブログからの引用となります。
<vmkドライバーについて>
- ESXi 5.5以前までは、ドライバーはvmkドライバーというものしか存在していない
- vmk ドライバー=Linux OS向けに提供されているドライバーである
- ESXi=Linuxではない、VMware開発のオリジナルOSである
- vmkernel(ESXi)とLinux用ドライバー(vmkドライバー)との間に、抽象化レイヤーを介在させ、これによりLinux用のドライバーをESXiで利用していた
Linuxと言えば、有名なあのオープンソースOSのことであり、当然ユーザー数や利用実績も多くあるため、ユーザー、コミュニティ、企業などにより多くのフィードバックを受け、日々改良がなされていると言える。一方で、元々Linuxのために作成されたドライバーである点から、パフォーマンス、拡張性、機能面ではESXiに最適化されているとは言いづらい状況です。
このため、VMwareではvSphere 5.5から、"ESXiのためのドライバー”を作成し、それを今後”Nativeドライバー”とした
これらの点より、次のことが言える。
- ドライバーの歴史的側面では、vmkドライバーの方が長く、Nativeドライバーは短い
- 今後VMwareがリリースするであろう新機能などによってはNativeドライバーの利用が促される傾向が予測される
次のKBではNativeドライバーとvmkドライバーとでは、Nativeドライバーの場合では症状に問題ないことが言及されている。
https://kb.vmware.com/s/article/52980
直接的な表現こそ無いですが、各種VMware製品がNativeを基準とし製品動作を確認してリリースしているように見えなくもないです(この一文は私個人の見識です)
また別角度で言えば、これらのKB内部にも2つのドライバーに対する言及もなされており、基本的に5.5以降ではネイティブ ドライバーがデフォルトでカーネルに対してロードされる形となっています。
ESXi 5.5 以降でのネイティブ ドライバのトラブルシューティング
https://kb.vmware.com/s/article/2044993?lang=ja
ESXi 6.5 におけるネイティブ ドライバの有効化と無効化 (2149345)
https://kb.vmware.com/s/article/2149345
上記のKBでは、環境や条件によっては、必ずしもネイティブ ドライバーが適さない可能性もあるため、トラブルシュートや問題の恒久対策も見据え、vmkドライバーへの切り替え手法が紹介されています。
運用者の立場としては、ドライバーを一本化してくれて問題がない、というのが最も理想だと言えます。最終的にはネイティブ ドライバーのみですべてのことが出来るようになればな、と思います。