To start, if there's a better way to accomplish this, I would welcome that info.
I am running ESXi 6.0.0, 3620759 and have VDDK 6.0.2-3566099 x86_64.
I want to mount a virtual hard drive of a VM on my ESXi server to a mount point I prescribe locally on the ESXi server - not remotely. I typically connect to the ESXi server using the SSH service and wish to perform this action locally on the ESX sever.
e.g. mount <path to.vmdk> /mnt/mymountpoint
As I cannot find the vmware-mount utility anymore for Linux (i.e. the ESXi environment) I am examining the VDDK to accompish this.
I am compiling straight C with:
# gcc -Wall -Wl, -R$(SODIR) -o vixMntApi -I$(INCLUDEDIR) -L$(LIBDIR) vixMntApi.c -ldl -lvixDiskLib -pthread
I have the VDDK libs installed in $(SODIR) on the ESXi server on a volume mounted at /vmfs/volumes/diskstore1/VDDK/lib64
I have placed a vddk.conf file in a tmp folder at /vmfs/volumes/diskstore1/VDDK/tmp.
However, when using the vixDiskLib_InitEx() api I get the following runtime error:
GThread-ERROR **: file gthread-posix.c: line 140 (g_thread_impl_init): error 'Operation not permitted' during 'pthread_getschedparam (pthread_self(), &policy, &sched)'
aborting...
Aborted
Question #1: what am I doing wrong here?
Question #2: does it matter what values I am providing the VixDiskLib_Init() function for MAJOR and MINOR versions? I've tried 5,5 and 6,0 but neither seem to make a difference.
Question #3: is there a tool available to mount and unmount virtual hard disks on the ESX server itself? I only need RO access at a mount point I can prescribe and I need to be able to read NTFS partitions (usually only one per VM).
Thanks in advance!