It has been a while since I wanted to post something
about Native Drivers, today I got the time to compile some good
information about the topic, so hang on to your hat….
Starting with vSphere 5.5, VMware had implemented a new
architectural model to handle devices.
Pre vSphere 5.5 the devices are handle by Linux
Drivers managed by a layer module, vmklinux, which identifies the device and choose
the right driver for them.
With vSphere 5.5, a new layer sits on front of devices
and during the boot process identifies the device and decides if it should be
managed through the legacy mode (Linux Drivers) or Native Drivers.
The big difference here is, once the driver is loaded,
you can realize on the picture bellow, that Native Drivers talks directly with
the kernel and the device, while with Linux drivers must go through that
extra layer, vmklinux. Well more layers, more latency, less performance ; )
Historically VMware has been using drivers derived
from Linux, I believe it’s our heritage from the time we used a Linux system,
it was easier to use all that drivers that were already there, enabling us to
support a large number of devices.
Nowadays the needs are much more challenging, we need
more control of the devices, we need to interact with them, need new features
like hot-plug and device power management, unfortunately, vmklinux does not allow us to
perform all of that……..that’s when Native Drivers came to play, they were design to
work specific with ESXi and provide all those desired features.
I think it's enough for today, on the next post I will cover how to work with those
devices, stay tuned
Continue learning at: vSphere Native Drivers - 2/2
Continue learning at: vSphere Native Drivers - 2/2