VMwareな日々

VMware環境関連の管理者/導入/トラブルシュートなどに役立ちそうな情報を備忘録として掲載とその他を少々投稿していくブログ

vmkドライバーとネイティブドライバーの違い

以前にESXiに対しインストール可能なデバイスドライバーには2種類が存在するという記事を寄稿しました。

 

InboxドライバーとAsyncドライバーの2種類で、VMwareご本家の提供かサードパーティベンダー提供かの違いという所で紹介致しました。

 

今回はちょっと違ったカットでの2種類、の紹介です。

”vmkドライバーとネイティブドライバーの違い”についてです。同じドライバーでも、冒頭に"net"と付くものとそうでないものが確認出来ます。これらの違いに迫ります。

f:id:instructor8010:20180903102820p:plain

なお本記事の技術的な話のソースは、次の2つのブログからの引用となります。

www.virtuallyghetto.com

www.virtuallyghetto.com

<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ドライバー”とした

f:id:instructor8010:20180903100353p:plain

William氏の記事から抜粋(新ドライバー開発に至った経緯が記述されている)

これらの点より、次のことが言える。

  • ドライバーの歴史的側面では、vmkドライバーの方が長く、Nativeドライバーは短い
  • 今後VMwareがリリースするであろう新機能などによってはNativeドライバーの利用が促される傾向が予測される

次のKBではNativeドライバーとvmkドライバーとでは、Nativeドライバーの場合では症状に問題ないことが言及されている。

https://kb.vmware.com/s/article/52980

f:id:instructor8010:20180903100957p:plain

直接的な表現こそ無いですが、各種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ドライバーへの切り替え手法が紹介されています。

 

運用者の立場としては、ドライバーを一本化してくれて問題がない、というのが最も理想だと言えます。最終的にはネイティブ ドライバーのみですべてのことが出来るようになればな、と思います。