[smartmontools-support] Getting smartctl for ESXi/VMWare

Schorschi Decker schorschi at dc.rr.com
Wed Mar 31 05:08:03 CEST 2021

ESXi is a very limited API implementation due to its memory state 
design.  To implement any VIM (VMware Installation Module) for ESXi, 
takes extensive knowledge of its internal structure as well as access to 
explicit VMware documentation, i.e. you need to be a VMware partner if 
not a VMware contributor, and that is big $$$ expense to gain access to 
such.  VIMs are really oriented to driver deployment and integration to 
ESXi only.  Not to say that VIM methodology is not abused by some 
vendors, but VMware does its best to strongly discourage this practice.  
The only exception I know of is health and welfare monitoring 
components, i.e. HP, Dell, IBM get special approval for their 
'management' agents to be created as VIMs.  Which VMware explicitly 
reviews, tests and certifies internally, before any vendor is allow to 
publish same to customers.

Moreover, ESXi already has extensive monitoring explicitly designed to 
integrate to vSphere vCenter in a production environment for such.  With 
vSAN becoming the norm for may production installations, the actual 
storage monitoring is NOT done by ESXi self but by the vSAN nodes 
themselves... which are ESXi based but actually are not fully ESXi, in 
that the ESXi core that supports vSAN was not expected (in production) 
to host VMs. It is only in non-production lab environments, that 
stacking vSAN and VM hosting on the same instance of ESXi is even 
remotely allowed, and is NOT supported by VMware per se, but more of a 
known kludge done in labs environments.

ESX not ESXi, had a stronger Linux heritage, and there were some 
overlaps with Linux, you could even load 'some' Linux components into 
ESX if you where careful, but wtih ESXi that all changed.  It is simply 
a convention of ESXi driver structure and supporting code modeling that 
still appears to be Linux like, VMware did not want to recreate the 
wheel so they took many 'forms' of Linux design for their own unique 
use, given their history with ESX before ESXi.  This why you see 
references that suggest Linux, but I can assure you, that is not the 
case as you get deeper specifically into ESXi.  And, last, VMware 
repeats in their documentation, that ESXi is constantly changing, 
internally, so never assume from one version to the next, that ESXi will 
retain any API calls at all for backwards compatibility, once VMware 
determines a given API call is depreciated, per their need, it 
effectively disappears, once official support closes for given version 
of ESXi.

If you get the feeling I know a lot about VIMs... I do, I did ESX, and 
later, ESXi VIM integration testing, and VMware based infrastructure 
design, for a fortune 50 firm for more than 15 years.  Some of the most 
interesting work I did over a 30 year plus IT career.


On 03/30/2021 09:57, Christian Franke wrote:
> Marcin Szewczyk wrote:
>> I am thinking about using smartctl on an ESXi/VMWare 6.7 machine. I have
>> noticed that use of a static Linux build[1] of the tool on ESXi is
>> mentioned in bug reports, mailing list, blog entries and so on but I am
>> unable to find some (semi)official statement on how big is the risk of
>> using it on ESXi or at least some approximation if it usually works. I
>> am thinking about syscall/ioctl numbers and ABI in general. I suppose
>> there is no guarantee they match between Linux and ESXi, is there?
> At least NVMe and MegaRAID on ESXi do not work with smartmontools:
> https://www.smartmontools.org/ticket/800
> https://www.smartmontools.org/ticket/1333
> I don't remember any report about a working use case with 
> smartmontools on ESXi.
> Regards,
> Christian
> _______________________________________________
> Smartmontools-support mailing list
> Smartmontools-support at listi.jpberlin.de
> https://listi.jpberlin.de/mailman/listinfo/smartmontools-support

More information about the Smartmontools-support mailing list